Message Digest Algorithm 5 (kurz MD5) ist eine weitverbreitete kryptographische Hash-Funktion, die einen 128-Bit-Hashwert erzeugt.
Algorithmus
MD5 erzeugt aus einer Nachricht variabler Länge eine Ausgabe fester Länge (128 Bit). Die Eingabenachricht wird zunächst so aufgefüllt, dass ihre Länge in Bits durch 512 teilbar wird. Zunächst wird hierzu eine 64-Bit-Integerzahl angehängt, die die ursprüngliche Länge der Nachricht repräsentiert. Zwischen diesen 64 Bits und der Ausgangsnachricht werden dann eine Eins und so viele Nullen wie nötig eingefügt.
Sicherheit
Eine Angriffsmethode stellen Rainbowtables? dar. Hier wird eine sehr große Liste mit md5-Einträgen erstellt. Diese Liste wird dann mit dem gesuchten Hash verglichen. So ist es sehr einfach, Passwörter, die als md5 gespeichert sind, zu entschlüsseln. Bis zu einer Länge von 10 Zeichen (inkl. Sonderzeichen) sind Rainbow-Tables vergleichsweise schnell zu erstellen.