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. Diese Eigenschaft ist auch als Lawineneffekt bekannt. Das sogenannte strenge Lawinenkriterium (strict avalanche criterion; SAC) verlangt, dass bei Änderung eines beliebigen Eingabebits sich jedes Ausgabebit mit der Wahrscheinlichkeit ändert. Das SAC ist heute eine Standardanforderung, die von jedem brauchbaren kryptografischen Verfahren erfüllt wird.

Ein gutes Verfahren verzahnt Konfusion und Diffusion in mehreren aufeinanderfolgenden Runden miteinander. Beim Verschlüsseln beziehungsweise Hashen erfolgt schon in wenigen Runden vollständige Diffusion, d. h. jedes Informationsbit breitet sich über den ganzen Datenblock aus. Darauf werden die Daten des Blocks von Operationen zur Konfusionserzeugung verarbeitet (zum Beispiel S-Box), deren Resultate sich wiederum schnell ausbreiten und so weiter. Wenn man irgendwo eingreift und nur ein Bit ändert, sieht wenige Runden später der ganze Datenblock völlig anders aus. Die Rundenzahl eines Verfahrens wird in der Regel ausreichend für mindestens vier Mal vollständige Diffusion gewählt.

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