Merkle-Damgård Construction
Die Merkle-Damgård-Konstruktion ist der klassische Rahmen für iteratives Hashing: Die Nachricht wird in Blöcke zerlegt und durch die Kompressionsfunktion f verkettet: h_i=f(h_{i-1}, m_i).
Zweck
Erweitert eine Kompressionsfunktion mit fester Eingabelänge zu einem Hash mit beliebiger Eingabelänge — die zugrunde liegende Struktur von MD5/SHA-1/SHA-2.
Mechanismus
Die Nachricht wird (mit Längenkodierung) auf ein Vielfaches der Blocklänge gepolstert; vom Startwert h_0=IV wird h_i=f(h_{i-1}, m_i) iteriert und h_n ausgegeben. Schwächen: Length-Extension-Angriffe und Multikollisionen.
Anwendungsfälle
- Grundlage von MD5/SHA-1/SHA-2
- Design iterativer Hashes
- Kryptografie-Lehre