Pseudozufällige Funktion

Eine pseudozufällige Funktion ist eine Familie von effizient berechenbaren Funktionen, die von einem Zufallsorakel praktisch ununterscheidbar sind. Jede Blockchiffre kann formal als pseudozufällige Funktion aufgefasst werden, die durch kryptografische Schlüssel parametrisiert ist.[1]

Eine Familie von Funktionen ist eine Abbildung zwischen nichtleeren, endlichen Mengen , , . Für jeden Schlüssel ist also durch eine Abbildung gegeben. Die maximale Anzahl aller möglichen Abbildungen von nach ist gleichzeitig die obere Schranke für die maximale Schlüsselanzahl (d. h. ).

Ein Zufallsorakel ist ein Algorithmus, der für jede Eingabe aus eine (gleichverteilt) zufällig gezogene Ausgabe aus zurückgibt, mit der Einschränkung, dass ein einmal bestimmter Funktionswert festliegt, also bei gleicher Anfrage auch die gleiche Antwort gegeben wird. Eine solche Funktionsfamilie F heißt pseudozufällig, wenn jeder effiziente Algorithmus, für ein (gleichverteilt) zufällig gezogenes und ihm nicht bekanntes , zwischen und einem Zufallsorakel nur vernachlässigbar (in ) besser unterscheiden kann als durch Raten.[1]

Aus einem kryptographisch sicheren Zufallszahlengenerator kann mit dem Verfahren von Goldreich, Goldwasser und Micali eine pseudozufällige Funktion konstruiert werden.[2]

Einzelnachweise

  1. a b Mihir Bellare and Phillip Rogaway: Introduction to Modern Cryptography. Chapter 3: Pseudorandom functions (ucsd.edu).
  2. Oded Goldreich, Shafi Goldwasser, Silvio Micali: How to Construct Random Functions. In: Journal of the ACM. Band 33, Nr. 4, 1986, S. 792–807, doi:10.1145/6490.6503 (weizmann.ac.il).