MD5 (Message-Digest Algorithm 5) ist eine kryptographische Hashfunktion, die aus einer Nachricht einen 128-Bit-Hashwert (32 Hexadezimalzeichen) berechnet. Ron Rivest veröffentlichte den Algorithmus 1992 als RFC 1321 als Nachfolger von MD4. Heute gilt MD5 für alle sicherheitsrelevanten Zwecke als gebrochen.

Warum MD5 unsicher ist

Kryptographische Hashfunktionen müssen kollisionsresistent sein: Niemand darf zwei verschiedene Nachrichten mit demselben Hashwert erzeugen können. Diese Eigenschaft verlor MD5 2004: Xiaoyun Wang und Kollegen präsentierten praktische Kollisionen in etwa 2^39 Operationen — auf damaliger Hardware in Stunden berechenbar, heute in Sekunden auf einem Laptop. Noch gefährlicher sind Chosen-Prefix-Kollisionen, mit denen Angreifer den Anfang der Nachricht frei wählen können: 2008 fälschten Forscher damit ein manipulatives CA-Zertifikat, 2012 nutzte der Flame-Wurm eine solche Kollision, um einen Microsoft-Code-Signatur-Schlüssel nachzubilden.

Wo MD5 noch vorkommt

  • Checksummen: Als reine Integritätsprüfung gegen zufällige Übertragungsfehler (nicht gegen Angreifer) ist MD5 noch verbreitet — etwa für Download-Checks.
  • Legacy-Systeme: Alte Protokolle und Datenbanken speichern teils MD5-Hashes; ein Umstieg auf SHA-256 oder SHA-3 ist dort angesagt.
  • Nicht-kryptographische Zwecke: Für Verteilungs- und Deduplizierungsaufgaben ohne Sicherheitsanforderung bleibt MD5 schnell und ausreichend.

Für Passwörter, Signaturen oder Zertifikate ist MD5 tabu: Salt und moderne Verfahren ersetzen es, und HMAC sollte nie auf MD5 aufbauen. Verwandte Grundlagen: Hashing, Kryptographie, Zertifikat.