Wikipedia · einfach zusammengefasst · Stand
Diffusion (Kryptologie)
Diffusion ist in der Kryptologie eines der beiden zentralen Prinzipien zur Verschleierung von Strukturen eines Klartextes im Zuge einer Verschlüsselung oder …
Inhalt3 Abschnitte
Grundprinzip
Diffusion ist in der Kryptologie eines der beiden zentralen Prinzipien, mit denen Strukturen eines Klartextes bei einer Verschlüsselung oder beim Hashen verschleiert werden. Das andere Prinzip heißt Konfusion. Beide Begriffe gehen auf den amerikanischen Mathematiker Claude Shannon zurück.
Diffusion bedeutet: Jedes Bit, das in eine kryptografische Funktion eingegeben wird, soll sich über den ganzen verarbeiteten Datenblock ausbreiten und alle Ausgabebits beeinflussen. Diese Eigenschaft heißt auch Lawineneffekt, weil schon eine sehr kleine Änderung an der Eingabe eine große Änderung an der Ausgabe bewirkt.
Lawinenkriterium und Runden
Das strenge Lawinenkriterium, englisch strict avalanche criterion (SAC), verlangt: Wenn ein beliebiges Eingabebit geändert wird, soll sich jedes Ausgabebit mit der Wahrscheinlichkeit 1/2 ändern. Das SAC gilt heute als Standardanforderung, die jedes brauchbare kryptografische Verfahren erfüllen muss.
Ein gutes Verfahren verbindet Konfusion und Diffusion in mehreren aufeinanderfolgenden Runden. Schon nach wenigen Runden soll vollständige Diffusion erreicht sein, also jedes Informationsbit über den ganzen Datenblock verteilt sein. Danach werden die Daten durch Operationen zur Konfusion verarbeitet, zum Beispiel durch eine S-Box. Deren Ergebnisse breiten sich wiederum schnell aus. Ändert man irgendwo nur ein Bit, sieht wenige Runden später der ganze Datenblock völlig anders aus. Die Rundenzahl eines Verfahrens wird in der Regel so gewählt, dass mindestens vier Mal vollständige Diffusion erreicht wird.
Beispiel mit SHA-1
Bei Hashfunktionen zeigt sich Diffusion daran, dass eine kleine Änderung am Text einen völlig anderen Hashwert erzeugt. Für den Satz „Fischers Fritz fischt frische Fische.“ lautet der SHA-1-Hashwert:
ac8ac8261cbfd50efcecf3b313faddf325ee1c75
Wird nur ein Buchstabe geändert, nämlich zu „Fischers Fratz fischt frische Fische.“, entsteht ein völlig anderer Hashwert:
5caecace90a74375f5f3d2e4156750210c4a18b4