MD5 Chiffre

Kategorisierung:Modern / Hashes
Herkunft / Verwendung:MD5 steht für Message-Digest Algorithm 5 und wurde 1991 von Ronald L. Rivest entwickelt. MD5 ist immer noch weit verbreitet. Die Hashlänge beträgt 128 bit, oder 16 Byte.

MD5 gilt inzwischen nicht mehr als sicher, da es mit überschaubarem Aufwand möglich ist, unterschiedliche Nachrichten zu erzeugen, die den gleichen MD5-Hashwert aufweisen.

Beschreibung des Algorithmus

MD5 erzeugt aus einer Nachricht variabler Länge eine Ausgabe fester Länge (128 Bit). Zuerst wird eine Eins an die Ausgangsnachricht angehängt. Danach wird die Ausgangsnachricht mit Nullen so aufgefüllt, dass ihre Länge 64 Bits davon entfernt ist, durch 512 teilbar zu sein. Nun wird eine 64-Bit-Zahl, die die Länge der Ausgangsnachricht codiert, angehängt. Die Nachrichtenlänge ist jetzt durch 512 teilbar.

Der Hauptalgorithmus von MD5 arbeitet mit einem 128-Bit-Puffer, der in vier 32-Bit-Wörter A, B, C und D unterteilt ist. Diese werden mit bestimmten Konstanten initialisiert. Auf diesen Puffer wird nun die Komprimierungsfunktion mit dem ersten 512-Bit-Block als Schlüsselparameter aufgerufen. Die Behandlung eines Nachrichtenblocks geschieht in vier Runden. Jede Runde besteht aus 16 Operationen, basierend auf einer nichtlinearen Funktion "F", modularer Addition und Linksrotation. Es gibt vier mögliche Funktionen (F, G, H und I), in jeder Runde wird davon eine andere verwendet:

F(x,y,z) = (x & y) | (!x & z)
G(x,y,z) = (x & z) | (y & z)
H(x,y,z) = x ^ y ^ z
I(x,y,z) = y ^ (x | !z)

wobei &, |, ! und ^ für die logischen Operationen AND, OR, NOT und XOR stehen.

Auf das Ergebnis wird dieselbe Funktion mit dem zweiten Nachrichtenblock als Parameter aufgerufen usw., bis zum letzten 512-Bit-Block. Als Ergebnis wird wiederum ein 128-Bit-Wert geliefert – die MD5-Summe.

Die genaue Beschreibung des Algorithmus findet sich in RFC 1321.

Beispiel

Klartext:Beispielklartext
Variante:MD5
Hash:29229AF73575648EB9E7E9F60421907E

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)

Wenn Sie Texte eingeben, die nicht als Hex-Sequenz (ohne Leerzeichen) interpretiert werden können, erfolgt eine automatische Umsetzung in eine Hex-Sequenz. Ist Das Ergebnis umsetzbar in druckbare ASCII-Zeichen, erfolgt eine automatische Umsetzung von Hex.

Für MD5 muss kein Schlüssel eingegeben werden. Für MD5 HMAC muss ein Schlüssel eingegeben werden.



Quellen, Literaturverweise und weiterführende Links

Spezifikation von MD5 in RFC 1321
Schmeh, Klaus: Kryptografie: Verfahren - Protokolle - Infrastrukturen, dpunkt Verlag, 5. Auflage 2013, iX-Edition, S. 241
Kuhn, Nico: Das Buch der geheimen Verschlüsselungstechniken, Data Becker Verlag 2009, S. 94