Message-Digest Algorithm 2

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
MD2
Entwickler Ronald L. Rivest
Veröffentlicht 1989
Länge des Hashwertes (Bit) 128
Konstruktion Merkle-Damgård-Konstruktion mit Prüfsumme
Runden 18
Beste bekannte Kryptoanalyse
Preimage-Angriff mit Komplexität ,[1] Kollisionsangriff mit Komplexität [1]

Message-Digest Algorithm 2 (MD2) ist eine von Ronald L. Rivest im Jahr 1988 veröffentlichte Hash-Funktion. Der Algorithmus wurde für 8-Bit Rechner optimiert. Der Hashwert einer beliebigen Nachricht wird gebildet, indem 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 sowie eine 256 Byte lange Substitutionstabelle, die abhängig von der Zahl π permutiert wurde, verwendet. Die Substitutionstabelle bewirkt innerhalb des Algorithmus eine "zufällige" und nichtlineare Substitutionsoperation.

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

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 einer Zeichenkette der Länge Null ist:

md2("") = 8350e5a3e24c153df2275c9f80692773
  • B. Kaliski: RFC: 1319 – Message-Digest Algorithm. April 1992 (englisch).
  • John Linn: RFC: 1115 – Privacy Enhancement for Internet Electronic Mail: Part III – Algorithms, Modes, and Identifiers. August 1989, Abschnitt 4.2 (mit Quellcode von Ronald L. Rivest 1. Oktober 1988, englisch).

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. a b Lars R. Knudsen, John Erik Mathiassen, Frédéric Muller, Søren S. Thomsen: Cryptanalysis of MD2. In: Journal of Cryptology. Band 23, Nr. 1. Springer, 2010, S. 72–90, doi:10.1007/s00145-009-9054-1.