Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Experimente mit dem MD5-Algorithmus

Erzeugung eines Fingerabdrucks mit einer Hash-Funktion

Der Message-Digest Algorithm 5 (MD5) ist eine typische kryptographische Hashfunktion, die aus einer beliebigen Nachricht einen 128-Bit-Hashwert erzeugt. Beachte, dass dieser Algorithmus inzwischen schon veraltet ist und durch andere Verfahren (z.B. SHA256) ersetzt wurde. Dennoch kann man mit MD5 gut die Anforderungen an eine kryptographische Hashfunktion verdeutlichen.

Der folgende Text sei gegeben.

Hallo Bob, was hast du heute Abend vor? Wir könnten ins Kino gehen. Alice

Beim vorliegenden Text ergibt sich die folgende Hexadezimalzahl:

2e3152cdd3c287d44fde16c470e74319

Man kann sich die Zahl als Bitmuster vorstellen, die den "Fingerabdruck" zum vorgegebenen Text darstellt.

Selbst Ausprobieren...

Hier kannst du selbst solche MD5-Werte erzeugen und die Hashwerte der linken und rechten Seite vergleichen:

Du siehst zwei Textfelder. Darunter ist der jeweilige Hashwert einmal als (Hexadezimal-)Wert und einmal als Bitmuster (ausgefüllt bedeutet 1) dargestellt.

Hash-Algorithmus:

MD5Wert
Vergleichsmuster
MD5Wert
Vergleichsmuster
Ergebnis

Aufgabe 1

(a) Erzeuge entsprechend einen digitalen Fingerabdruck zu verschiedenen vorgegebenen Texten. Überzeuge dich, dass der erzeugte Fingerabdruck immer dieselbe Größe hat.

(b) Ändere den Text geringfügig ab (z.B. durch Einfügen eines Leerzeichens) und beobachte, wie sich der digitale Fingerabdruck verändert.

(c) Hier ein digitaler Fingerabdruck zum Antworttext von Bob:

d0a10670f5e9faa45b6a4738ff663bf7

Kannst du den Text zu diesem Fingerabdruck rekonstruieren? Wer es schafft, kann uns (inf-schule@gmx.de) den Text per E-Mail zusenden.

(d) Versuche einmal, noch einen Text zu erzeugen, der den oben gezeigten Fingerabdruck hat. Vielleicht macht ihr ja einen Wettbewerb in deinem Kurs, wer die meisten übereinstimmenden Bits erzeugen kann!

(e) Begründe: Es muss verschiedene Texte geben, die den gleichen digitalen Fingerabdruck haben.

Aufgabe 2

Wenn die Aufgabe 1d mit dem MD5-Algorithmus nicht gelingt - vielleicht geht es mit einem einfachen "Summenhash"?

Bei diesem werden die eingebenen Zeichen im Wesentlichen in eine Zahl umgewandelt und einfach aufsummiert.

Stelle den Algorithmus über den Eingabefeldern oben um auf "Summenhash" und probiere erneut, zwei gleiche Hashwerte zu erzeugen.

X

Fehler melden

X

Suche