Diffusion (Kryptologie)
Diffusion ist in der Kryptologie eines der beiden zentralen Prinzipien zur Verschleierung von Strukturen eines Klartextes im Zuge einer Verschlüsselung oder beim Hashen. Das andere dieser Prinzipien ist die Konfusion. Sie gehen auf den amerikanischen Mathematiker Claude Shannon zurück.
Diffusion bedeutet, dass jedes Bit, das in eine kryptografische Funktion eingegeben wird, sich über den ganzen verarbeiteten Datenblock ausbreitet und alle Ausgabebits beeinflusst. Wenn man die Eingabe auch nur geringfügig ändert, soll sich jedes Ausgabebit mit der Wahrscheinlichkeit ändern.
Ein gutes Verfahren verzahnt Konfusion und Diffusion in mehreren aufeinanderfolgenden Runden so miteinander, dass beim Verschlüsseln bzw. Hashen jedes Informationsbit sich schon nach wenigen Runden über den ganzen Datenblock ausgebreitet hat und darauf von Operationen zur Konfusionserzeugung verarbeitet wird (z. B. S-Box), worauf sich deren Resultate wiederum schnell ausbreiten usw. Wenn man irgendwo eingreift und nur ein Bit ändert, sieht wenige Runden später der ganze Datenblock völlig anders aus. Diese Eigenschaft ist auch als Lawineneffekt bekannt.
Beispiel für Hashfunktionen
Der SHA-1 Hashwert des Satzes "Fischers Fritz fischt frische Fische." ist
ac8ac8261cbfd50efcecf3b313faddf325ee1c75
Bei Veränderung nur eines Buchstabens resultiert ein völlig anderer Hashwert: "Fischers Fratz fischt frische Fische." ergibt
5caecace90a74375f5f3d2e4156750210c4a18b4
Literatur
- Claude E. Shannon, "Communication Theory of Secrecy Systems", Bell System Technical Journal, vol.28-4, page 656--715, 1949. (PDF)