Kryptografische Hash-Funktionen bilden das Rückgrat von Kryptoverfahren und -algorithmen [MvV92].
Wie die aus der Informatik bekannten Hash-Funktionen auch, bilden sie eine große Eingangsmenge
eindeutig (deterministisch) auf eine viel kleinere Ausgangsmenge
ab. Sie haben jedoch
folgende ergänzende Eigenschaften, welche deren algorithmische Komplexität mit dem jeweiligen
Stand der Technik in Verbindung bringen:
Insbesondere ältere Hash-Funktionen, wie z. B. der MD5 können dies heute nicht mehr gewährleisten, aber auch der SHA-1 gilt seit 2005 als „geknackt”. Alternativen wie SHA-256 oder SHA-512 (auch kurz SHA-2 genannt) stehen zwar zur Verfügung, werden aber noch nicht überall konsequent genutzt.15
Wirkprinzip
Die Berechnung des Hash-Wertes erfolgt üblicherweise durch Zerlegung des Eingangs-Vektors
in
Blöcke fester Breite, die dann iterativ mit Hilfe einer nichtlinearen Kompressionsfunktion
verarbeitet
werden. Abbildung 2.1 zeigt die unter dem Namen Merkle/Damgård-Konstruktion bekannte
Struktur [Mer90, Dam90].16
Für jeden Zwischenwert gilt ausgehend von
die Gleichung
und so für das
Ergebnis:
.