Was ist MD5? Grundlegendes zu Message-Digest-Algorithmen

Aktualisiert: 04. September 2026 Lesezeit: ~

Kurzfassung

Der Message-Digest Algorithm 5 (MD5) ist ein kryptografischer 128-Bit-Hash-Algorithmus, der 2008 aufgrund von Kollisionsschwachstellen als kryptografisch gebrochen erklärt wurde, jedoch weiterhin häufig für nicht sicherheitsrelevante Aufgaben wie Prüfsummen und die Überprüfung der Datenintegrität verwendet wird. Es sollte nicht für sicherheitskritische Anwendungen wie Passwort-Hashing oder die Erstellung digitaler Signaturen verwendet werden. Für diese Anwendungsfälle empfiehlt das National Institute of Standards and Technology (NIST) die Algorithmenfamilien Secure Hash Algorithm 2 (SHA-2) und Secure Hash Algorithm 3 (SHA-3) als sichere, kollisionsresistente Alternativen.

Wie funktioniert der Message-Digest-Algorithmus MD5?

MD5 ist ein weit verbreiteter kryptografischer Hash-Algorithmus mit sowohl kryptografischen als auch nicht-kryptografischen Anwendungen. MD5 ist nach wie vor weit verbreitet, obwohl es vor über einem Jahrzehnt als „kryptografisch gebrochen“ eingestuft wurde. 

Es sind mehrere Sicherheitsschwachstellen der kryptographischen Hash-Funktion bekannt, darunter ein großes Risiko für Kollisionen (d. h. für zwei unterschiedliche Nachrichten wird derselbe Hash-Wert generiert). 

MD5 kann problemlos für nicht-kryptographische Funktionen verwendet werden, z. B. als Prüfsumme zur Verifizierung der Datenintegrität (um unbeabsichtigte Beschädigung auszuschließen). MD5 ist ein 128-Bit-Algorithmus. Trotz der bekannten Sicherheitsprobleme ist MD5 weiterhin einer der am häufigsten verwendeten Message-Digest-Algorithmen.

Wie generiert MD5 einen Hash?

Der MD5-Message-Digest-Algorithmus, der vor etwa 30 Jahren als Request for Comments (RFC) 1321 veröffentlicht wurde, ist auch heute noch weit verbreitet. Mithilfe des MD5-Algorithmus kann aus einer Nachrichteneingabe variabler Länge eine kompaktere 128-Bit-Ausgabe erzeugt werden. Dies ist eine Art kryptografischer Hash, der zur Generierung digitaler Signaturen entwickelt wurde, indem er große Dateien auf sichere Weise in kleinere komprimiert und diese dann mit einem privaten (oder geheimen) Schlüssel verschlüsselt, um mit einem öffentlichen Schlüssel abgeglichen zu werden. 

Was sind die nicht-kryptografischen Verwendungszwecke von MD5?

Über eine Befehlszeilen-Implementierung mit gängigen Programmiersprachen wie Java, Perl oder C kann MD5 auch verwendet werden, um Dateibeschädigungen oder unbeabsichtigte Veränderungen bei großen Dateisammlungen zu erkennen. Anschließend kann der MD5-Hash-Wert (als Prüfsumme) verwendet werden, um die Dateiintegrität sowie digitale Signaturen zu verifizieren. Im nicht-kryptographischen Bereich wird MD5 unter anderem auch eingesetzt, um die Partition eines bestimmten Schlüssels in einer partitionierten Datenbank zu bestimmen.

MD5 kann verwendet werden, um kryptographische 128-Bit-Hash-Werte entweder zu erstellen (generieren) oder zu prüfen (verifizieren). Der Algorithmus enthält jedoch auch einige gut dokumentierte Schwachstellen und Fehler und sollte daher nicht zu Sicherheitszwecken verwendet werden.

Was ist die Geschichte der MD5-Nutzung?

MD5 wurde 1991 als Erweiterung der kryptografischen Hash-Funktion MD4 von Ronald Rivest von RSA Data Security, Inc. und dem Massachusetts Institute of Technology (MIT) Laboratory for Computer Science entwickelt, um diese frühere, als unsicher geltende Version zu ersetzen. Es wurde ein Jahr später allgemein veröffentlicht. Nur ein Jahr später wurde eine „Pseudokollision“ der MD5-Kompressionsfunktion entdeckt. 

Die Zeitleiste der erkannten (und ausgenutzten) MD5-Schwachstellen ist wie folgt:

  • 1996 wurde eine vollständige Kollision gemeldet und Kryptographen empfahlen, MD5 durch eine andere kryptographische Hash-Funktion wie Secure Hash Algorithm (SHA)-1 zu ersetzen.
  • Anfang 2004 startete ein Projekt, mit dem nachgewiesen werden sollte, dass MD5 aufgrund des kleinen Hash-Werts von 128 Bit für einen Birthday Attack anfällig ist.
  • Mitte 2004 wurde innerhalb von nur einer Stunde ein Analyse-Angriff abgeschlossen, der für alle MD5-Hash-Werte Kollisionen erstellen konnte.
  • 2005 wurde eine praxisnahe Kollision nachgewiesen, bei der zwei X.509-Zertifikate mit unterschiedlichen öffentlichen Schlüsseln denselben MD5-Hash-Wert ergaben. Einige Tage später wurde ein Algorithmus erstellt, der in der Lage war, innerhalb weniger Stunden MD5-Kollisionen zu generieren.
  • Ein Jahr später (2006) wurde ein Algorithmus veröffentlicht, der innerhalb einer Minute mit einem einzigen Notebook per Tunneling eine Kollision finden konnte.
  • Im Jahr 2008 wurde MD5 offiziell für „kryptographisch unsicher“ erklärt, weil MD5-Hash-Werte erstellt werden können, die mit vertrauenswürdigen X.509-Zertifikaten kollidieren, die von bekannten Zertifizierungsstellen (CAs) ausgegeben werden.

Trotz der bekannten Sicherheitsschwachstellen und Probleme sowie dem Umstand, dass inzwischen sicherere Alternativen verfügbar sind, wird MD5 heute weiterhin eingesetzt.

Welche Sicherheitsprobleme gibt es bei MD5?

Die Sicherheit der MD5-Hashfunktion gilt als schwer kompromittiert. Kollisionen können innerhalb von Sekunden gefunden und für böswillige Zwecke verwendet werden. 

Wie nutzte die Spyware Flame MD5-Kollisionen aus?

Zum Beispiel gehört die Spyware Flame, die 2012 Tausende Computer und Geräte im Iran infiltrierte, zu den schwerwiegendsten Sicherheitsproblemen des Jahres. Flame verwendete MD5-Hash-Kollisionen, um gefälschte Microsoft-Update-Zertifikate für die Authentifizierung kritischer Systeme zu generieren. Zum Glück wurde diese Schwachstelle schnell erkannt und ein Software-Update herausgegeben, das diese Sicherheitslücke schloss und unter anderem für Microsoft-Zertifikate zu SHA-1 wechselte.

Eine Hash-Kollision tritt ein, wenn zwei verschiedene Eingaben zum selben Hash-Wert bzw. zum selben Ausgabewert führen. Die Sicherheit und Verschlüsselung eines Hashing-Algorithmus hängt davon ab, dass eindeutige Hash-Werte generiert werden. Kollisionen stellen Sicherheitsschwachstellen dar, die sich ausnutzen lassen.

Bedrohungsakteure können Kollisionen erzwingen, die dann eine digitale Signatur senden, die von Empfänger:innen akzeptiert wird. Obwohl es sich nicht um den:die tatsächliche:n Absender:in handelt, liefert die Kollision denselben Hash-Wert, sodass die Nachricht der Angreifenden verifiziert und als legitim akzeptiert wird. 

Welche Programme verwenden MD5?

MD5 kommt trotz seiner bekannten Sicherheitsschwächen weiterhin in einer Vielzahl von Softwareanwendungen vor.

Wie wird MD5 für das Passwort-Hashing verwendet?

Trotz der bekannten Sicherheitsprobleme wird MD5 weiterhin für Passwort-Hashing in Software eingesetzt. Mithilfe von MD5 werden Passwörter mit einem One-Way-Hash des Passworts gespeichert. Die Verwendung des MD5-Algorithmus für diesen Zweck wird jedoch nicht empfohlen. MD5 ist weit verbreitet und anwenderfreundlich, sodass Entwickler diese Methode weiterhin für Passwort-Hashing und zur Speicherung von Passwörtern nutzen.

In der Cybersicherheit wird MD5 verwendet, um digitale Signaturen zu verifizieren und zu authentifizieren. Durch den Abgleich des öffentlichen und privaten Schlüssels sowie der Hash-Werte kann ein Benutzer mit MD5 die Authentizität einer heruntergeladenen Datei verifizieren. Aufgrund der hohen Zahl an MD5-Kollisionen ist dieser Message-Digest-Algorithmus jedoch nicht ideal, um die Integrität von Daten oder Dateien zu verifizieren, da Angreifer die Hash-Werte leicht durch eigene Werte ersetzen können.

Wie überprüft MD5 die Datenintegrität?

MD5 kann als Prüfsummenfunktion verwendet werden, um die Integrität von Daten zu verifizieren und sicherzustellen, dass sie nicht versehentlich beschädigt wurden. Dies ist zum Beispiel in folgenden Fällen relevant:

  • Fehler während der Datenübertragung
  • Software-Fehler
  • Schreibfehler beim Kopieren von Dateien
  • Probleme innerhalb des Speichermediums

Mit dem Message-Digest-Algorithmus MD5 kann sichergestellt werden, dass die vorliegenden Daten mit den ursprünglichen Daten identisch sind. Dazu wird geprüft, ob Eingabe und Ausgabe identisch sind. Wenn eine Datei unbeabsichtigt verändert wurde, weicht der Hash-Wert der Eingabe vom Hash-Wert der Ausgabe ab. Dadurch wissen Sie, dass die Datei beschädigt wurde. Diese Prüfung ist jedoch nur dann effektiv, wenn die Beschädigung unbeabsichtigt und nicht durch böswillige Manipulation erfolgt ist.

Was sind die Alternativen zu MD5?

MD5 sollte nicht zu Sicherheitszwecken oder dann eingesetzt werden, wenn Kollisionsresistenz wichtig ist. Angesichts der nachgewiesenen Sicherheitsschwachstellen und dem Umstand, dass mit MD5 sehr leicht Kollisionen erstellt werden können, werden sicherere Methoden zur Generierung von Hash-Werten empfohlen.

Die SHA-2-Hash-Familie wird in der Regel als gültige Alternative gewählt. Diese Familie kryptografischer Hashfunktionen wurde ursprünglich 2001 veröffentlicht.

Was empfiehlt NIST anstelle von MD5?

SHA-1 kann weiterhin verwendet werden, um alte Zeitstempel und digitale Signaturen zu verifizieren, doch das NIST (National Institute of Standards and Technology) empfiehlt SHA-1 nicht zur Generierung von digitalen Signaturen oder in Szenarien, in denen Kollisionsresistenz erforderlich ist. 

Zu den vom NIST zugelassenen kryptografischen Hash-Funktionen gehören die SHA-2-Familie sowie vier SHA-3-Algorithmen fester Länge. Die folgende Tabelle vergleicht die Algorithmusfamilien SHA-2 und SHA-3:

Hash-FamilieAlgorithmen
SHA-2SHA-256, SHA-224, SHA-384, SHA-512, SHA-512/224, SHA-512/256
SHA-3SHA3-224, SHA3-256, SHA3-384, SHA-512

Die folgende Tabelle vergleicht MD5, SHA-1, SHA-2 und SHA-3 anhand wichtiger Attribute:

AlgorithmusKollisionsresistenzNIST-ZulassungsstatusEmpfohlene Anwendungsfälle
MD5Schwerwiegend kompromittiert; Kollisionen innerhalb von Sekunden gefundenNicht für Sicherheitszwecke zugelassenNicht sicherheitsrelevante Aufgaben wie Prüfsummen und die Überprüfung der Datenintegrität zum Schutz vor versehentlicher Beschädigung
SHA-1Nicht für Kollisionsresistenz empfohlenVon NIST nicht empfohlen für die Erstellung digitaler Signaturen oder wenn Kollisionsresistenz erforderlich istNur alte Zeitstempel und digitale Signaturen überprüfen
SHA-2Deutlich kollisionsresistenterNIST-zugelassenSicherheitssensible kryptografische Anwendungen
SHA-3Deutlich kollisionsresistenterNIST-zugelassenSicherheitssensible kryptografische Anwendungen

Die kryptographischen Hash-Funktionen der SHA-2- und SHA-3-Familie sind sichere und empfohlene Alternativen zum Message-Digest-Algorithmus MD5. Sie sind gegenüber potenziellen Kollisionen deutlich robuster und generieren tatsächlich eindeutige Hash-Werte.

Häufig gestellte Fragen

Was ist der Message-Digest-Algorithmus 5 (MD5) und wofür wird er verwendet?

MD5 ist ein kryptografischer 128-Bit-Hash-Algorithmus, der verwendet wird, um digitale Signaturen zu generieren und zu verifizieren, die Datenintegrität mittels Prüfsummen zu überprüfen und nicht-kryptografische Funktionen wie die Datenbankpartitionierung zu unterstützen.

Warum gilt der Message-Digest Algorithm 5 (MD5) als kryptografisch gebrochen?

MD5 wurde 2008 als kryptografisch gebrochen eingestuft, da Kollisionen – bei denen zwei unterschiedliche Eingaben denselben Hash-Wert erzeugen – innerhalb von Sekunden gefunden und von Angreifer:innen ausgenutzt werden können, um digitale Signaturen zu fälschen.

Kann der Message-Digest Algorithm 5 (MD5) noch sicher verwendet werden?

MD5 kann weiterhin sicher für nicht sicherheitsrelevante Aufgaben wie die Überprüfung auf versehentliche Datenbeschädigung mittels Prüfsummen verwendet werden, sollte jedoch nicht für Passwort-Hashing, die Erstellung digitaler Signaturen oder jegliche Anwendung verwendet werden, die Kollisionsresistenz erfordert.

Welcher reale Angriff nutzte Schwachstellen im Message-Digest Algorithm 5 (MD5) aus?

Im Jahr 2012 nutzte die Flame-Spyware MD5-Hash-Kollisionen, um gefälschte Microsoft-Update-Zertifikate zu generieren, und kompromittierte Tausende von Computern, bevor die Schwachstelle durch den Wechsel zu SHA-1 behoben wurde.

Was sind die empfohlenen Alternativen zum Message-Digest Algorithm 5 (MD5)?

NIST empfiehlt die Familie des Secure Hash Algorithm 2 (SHA-2) (einschließlich SHA-256, SHA-384 und SHA-512) und vier SHA-3-Algorithmen als sichere, kollisionsresistente Alternativen zu MD5 für kryptografische Anwendungen.

Was ist der Unterschied zwischen dem Message-Digest Algorithm 5 (MD5) und dem Secure Hash Algorithm 2 (SHA-2)?

Im Gegensatz zu MD5, das anfällig für schnelle Kollisionsangriffe ist, ist die SHA-2-Familie kryptografischer Hash-Funktionen NIST-zugelassen, wesentlich widerstandsfähiger gegen Kollisionen und erzeugt wirklich eindeutige Hash-Werte, die für sicherheitskritische Anwendungen geeignet sind.

Referenzen

The MD5 Message-Digest Algorithm (April 1992), Network Working Group Internet Engineering Task Force (IETF).

RSA (2022), RSA Security, LLC.

MIT CSAIL, MIT CSAIL.

MD5 Is Really Seriously Broken This Time (Dezember 2008), Security Musings.

Flame's MD5 Collision Is the Most Worrisome Security Discover of 2012. (Juni 2012). Forbes.

NIST Policy on Hash Functions (August 2015), National Institute of Standards and Technology (NIST).

Hash Functions (Juni 2020), National Institute of Standards and Technology (NIST).

Setzen Sie Ihre Identity Journey fort