RFC 1321 – The MD5 Message-Digest Algorithm

StatusInformational
VeröffentlichtApril 1992
Volltextrfc-editor.org/rfc/rfc1321

RFC 1321 spezifiziert den MD5-Algorithmus zur Erzeugung eines 128-Bit langen Message-Digests (Hashwerts) aus einer beliebig langen Eingabe. Der Algorithmus verarbeitet die Eingabe in 512-Bit-Blöcken, wobei er diese zunächst durch Padding auf ein Vielfaches dieser Länge erweitert. Ein internes Vier-Wort-Puffer (A, B, C, D) wird initialisiert und dann in vier Runden (16 Schritte pro Runde) mit nichtlinearen Funktionen (F, G, H, I) sowie Konstanten aus einer Sinustabelle verarbeitet. Jeder Schritt kombiniert einen Pufferwert, einen Eingabeblockteil und eine Konstante durch bitweise Operationen und Rotationen.

Der Kernalgorithmus gilt als schnell und kompakt, insbesondere auf 32-Bit-Architekturen, und benötigt keine großen Substitutionstabellen. MD5 wurde als konservativere Weiterentwicklung von MD4 entworfen, um eine höhere Sicherheit gegen kryptanalytische Angriffe zu bieten, auch wenn dies eine geringfügig niedrigere Geschwindigkeit bedeutet. Historisch wurde MD5 weit verbreitet für Integritätsprüfungen und als Teil digitaler Signaturen eingesetzt, gilt jedoch seit etwa 2004 als kryptografisch gebrochen, da Kollisionen praktisch erzeugt werden können.