In der Kryptographie bezeichnet man als Familie pseudozufälliger Funktionen (PRF ) eine Menge effizient berechenbarer Funktionen , die ein Zufallsorakel folgendermaßen emulieren: Kein effizienter Algorithmus kann (mit signifikantem Vorteil ) zwischen einer zufällig aus der PRF-Familie gewählten Funktion und einem Zufallsorakel (einer Funktion, deren Ausgaben vollständig zufällig festgelegt sind) unterscheiden. Pseudozufällige Funktionen sind unverzichtbare Werkzeuge für die Entwicklung kryptographischer Primitiven , insbesondere sicherer Verschlüsselungsverfahren .

Pseudozufallsfunktionen sind nicht mit Pseudozufallsgeneratoren (PRGs) zu verwechseln. Ein PRG garantiert, dass ein einzelner Ausgabewert zufällig erscheint , wenn die Eingabewerte zufällig gewählt wurden. Eine Pseudozufallsfunktion hingegen garantiert, dass alle ihre Ausgaben zufällig erscheinen, unabhängig davon, wie die zugehörigen Eingabewerte gewählt wurden, sofern die Funktion zufällig aus der Familie der Pseudozufallsfunktionen gezogen wurde.

Eine Familie pseudozufälliger Funktionen lässt sich aus jedem beliebigen Pseudozufallsgenerator konstruieren, beispielsweise mithilfe der von Goldreich , Goldwasser und Micali vorgestellten „GGM“-Konstruktion . [ 1 ] Obwohl in der Praxis meist Blockchiffren verwendet werden, wenn eine pseudozufällige Funktion benötigt wird, bilden sie im Allgemeinen keine Familie pseudozufälliger Funktionen, da Blockchiffren wie AES nur für eine begrenzte Anzahl von Eingabe- und Schlüssellängen definiert sind. [ 2 ]

Motivationen aus Zufallsfunktionen

Eine PRF ist eine effiziente (d. h. in Polynomialzeit berechenbare), deterministische Funktion, die zwei verschiedene Mengen (Definitionsbereich und Wertebereich) abbildet und wie eine echte Zufallsfunktion aussieht.

Im Prinzip bestünde eine wirklich zufällige Funktion aus einer Nachschlagetabelle mit gleichverteilten Zufallswerten. In der Praxis erhält eine PRF jedoch eine Eingabezeichenkette aus dem Definitionsbereich und einen internen Zufallswert und wird mehrmals mit derselben Eingabezeichenkette und demselben Wert ausgeführt, wobei immer derselbe Wert zurückgegeben wird. Trotzdem erscheint die Ausgabe bei einer beliebigen Eingabezeichenkette zufällig, wenn der Zufallswert aus einer Gleichverteilung stammt.

Eine PRF gilt als gut, wenn ihr Verhalten von dem einer echten Zufallsfunktion nicht zu unterscheiden ist. Daher sollte es bei gegebener Ausgabe einer echten Zufallsfunktion oder einer PRF keine effiziente Methode geben, um korrekt zu bestimmen, ob die Ausgabe von der echten Zufallsfunktion oder der PRF erzeugt wurde.

Formale Definition

Pseudozufallsfunktionen benötigen Eingaben , wobei der Kleene-Stern ist . Sowohl die Eingabe- als auch die Ausgabegröße hängen ausschließlich von der Indexgröße ab .

Eine Funktionsfamilie,

ist pseudozufällig, wenn die folgenden Bedingungen erfüllt sind:

  • Es existiert ein Polynomzeitalgorithmus, der für beliebige und berechnet .
  • Sei die Verteilung der Funktionen, wobei gleichverteilt über ist , und sei die Gleichverteilung über der Menge aller Funktionen von nach . Dann fordern wir, dass und rechnerisch nicht unterscheidbar sind, wobei n der Sicherheitsparameter ist . Das heißt, für jeden Angreifer, der das Orakel einer Funktion abfragen kann, die entweder aus oder stammt, ist der Vorteil, den er dadurch hat, die Art des ihm gegebenen Orakels unterscheiden zu können, in vernachlässigbar . [ 3 ]

Unwissende pseudozufällige Funktionen

Bei einer oblivious pseudorandom function (OPRF) werden Informationen vor den beiden an einer PRF beteiligten Parteien verborgen. [ 4 ] Wenn Alice beispielsweise ihren geheimen Wert kryptografisch hasht, den Hash kryptografisch verschlüsselt, um die Nachricht zu erzeugen, die sie an Bob sendet, und Bob seinen geheimen Wert hinzufügt und das Ergebnis an Alice zurückgibt, die es entschlüsselt, um die endgültige Ausgabe zu erhalten, kann Bob weder Alices geheimen Wert noch die endgültige Ausgabe sehen, und Alice kann Bobs geheime Eingabe nicht sehen. Sie sieht jedoch die endgültige Ausgabe, die eine PRF der beiden Eingaben ist – eine PRF von Alices und Bobs geheimem Wert. [ 5 ] Dies ermöglicht sichere Transaktionen sensibler kryptografischer Informationen selbst zwischen nicht vertrauenswürdigen Parteien.

Ein OPRF wird in einigen Implementierungen der passwortbasierten Schlüsselvereinbarung verwendet . [ 5 ]

In der Kennwortüberwachungsfunktion von Microsoft Edge wird eine OPRF-Datei verwendet . [ 6 ]

Anwendung

PRFs können verwendet werden für: [ 7 ]

  1. Dynamisches perfektes Hashing ; selbst wenn der Angreifer die Schlüsselverteilung in Abhängigkeit von den Werten, die die Hash-Funktion den vorherigen Schlüsseln zugewiesen hat, ändern kann, kann der Angreifer keine Kollisionen erzwingen.
  2. Entwicklung deterministischer, speicherloser Authentifizierungsschemata ( basierend auf Message Authentication Codes ), die nachweislich sicher gegen Angriffe mit gewählter Nachricht sind.
  3. Verteilung fälschungssicherer Identifikationsnummern , die von Stationen mit nur geringem Speicherplatz lokal verifiziert werden können.
  4. Entwicklung von Freund-Feind-Erkennungssystemen .

Siehe auch

Anmerkungen

  1. ^ Goldreich, Oded ; Goldwasser, Shafi ; Micali, Silvio (Oktober 1986). „How to Construct Random Functions“ (PDF) . Journal of the ACM . 33 (4): 792–807 . doi : 10.1145/6490.6503 .Webseite und Vorabdruck
  2. ^ Lindell, Yehuda; Katz, Jonathan (2008). Einführung in die moderne Kryptographie . Chapman & Hall/CRC. S. 88. ISBN 978-1-58488-551-1Die
  3. ^ Goldreichs FoC, vol. 1, def. 3.6.4. Notizen von Pass, def. 96,2
  4. ^ M. Bellare ; S. Keelveedhi; T. Ristenpart (August 2013). Dupless: Servergestützte Verschlüsselung für deduplizierte Speicherung (PDF) . Proceedings of the 22nd USENIX Security Symposium. Washington, DC, USA: USENIX Association. S.  1–16 .
  5. ^ a b Matthew Green. "Lasst uns über PAKE reden" . 2018.
  6. ^ Lauter, Kristin; Kannepalli, Sreekanth; Laine, Kim; Cruz Moreno, Radames (1. Januar 2021). „Password Monitor: Safeguarding passwords in Microsoft Edge“ . Microsoft Research Blog . Abgerufen am 1. Januar 2021 .
  7. Goldreich , O.; Goldwasser , S .; Micali, S. (1985). „Über kryptographische Anwendungen von Zufallsfunktionen (Kurzfassung)“. Advances in Cryptology . Lecture Notes in Computer Science. Band 196. S. 276. doi : 10.1007/3-540-39568-7_22 . ISBN 978-3-540-15658-1Die

Referenzen

  • Goldreich, Oded (2001). Grundlagen der Kryptographie: Grundlegende Werkzeuge . Cambridge: Cambridge University Press. ISBN 978-0-511-54689-1Die
  • Pass, Rafael, Ein Kurs in Kryptographie (PDF) , abgerufen am 22. Dezember 2015