Zum Inhalt springen

Message-Digest Algorithm 2

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 14. September 2005 um 09:56 Uhr durch Xeper (Diskussion | Beiträge) (Weblinks: Wikilinkfix). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Message Digest Algorithm 2 (MD2) ist eine von Ronald L. Rivest im Jahr 1989 entwickelte Hash-Funktion. Der Algorithmus wurde für 8-Bit Rechner optimiert. Der Hashwert einer beliebigen Nachricht wird gebildet in dem zunächst die Nachricht auf ein Vielfaches der Blocklänge (128 Bit bzw. 16 Byte) gebracht und dann eine Prüfsumme von 16 Byte Länge angehängt wird. Für die eigentliche Berechnung werden ein Hilfsblock mit 48 Byte und eine Tabelle mit 256 Byte die mit zufälligen Ziffern von π gefüllt ist, verwendet.

Nachdem alle Blöcke der (verlängerten) Nachricht bearbeitet worden sind, bildet der erste Teilblock des Hilfsblockes den Hashwert der Nachricht.

MD2-Hashes

Die 128 Bit langen MD2-Hashes (englisch auch "message digests") werden normalerweise als 32-stellige Hexadezimalzahl notiert. Folgendes Beispiel zeigt eine 59 Byte lange ASCII-Eingabe und den zugehörigen MD2-Hash:

 md2("Franz jagt im komplett verwahrlosten Taxi quer durch Bayern") =
 8415570a6653a06314f09b023612a92d

Eine kleine Änderung der Nachricht erzeugt (mit sehr großer Wahrscheinlichkeit) einen komplett anderen Hash. Mit Frank statt Franz ergibt sich:

 md2("Frank jagt im komplett verwahrlosten Taxi quer durch Bayern") =
 b0e27e91b84246bc4c38bc3008f00374

Der Hash eines Strings der Länge Null ist:

 md2("") = 8350e5a3e24c153df2275c9f80692773


Siehe auch: Kryptographie, CRC, Prüfsumme, Hamming-Code, ECC, Parität