Können manche Dateien den gleichen Hashwert haben?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wie der Wert notiert wird, ist völlig egal. Der Hashwert ist bei MD5 immer 128 Bit lang. Das bedeutet, dass es 2¹²⁸ verschiedene MD5-Hashwerte gibt. Und richtig, es gibt unendlich viele Urbilder. Also gibt es auch unendlich viele Dateien mit gleichem MD5-Hashwert. Man spricht von Kollisionen. Das liegt in der Natur der Sache und ist unvermeidbar.

Es ist bereits vor über zehn Jahren gelungen, gezielt zu einem Zertifikat eine manipulierte Variante mit gleichem Hashwert zu generieren. Hier spricht man von einem Pre-Image-Angriff, sodass MD5 nicht mehr tauglich ist.

Dasselbe ist einige Jahre später mit SHA1 gelungen. Suche mal nach "shattered". Du wirst zwei unterschiedliche PDF-Dateien mit identischem SHA1-Hashwert finden.

Ähnlich wie mirolPirol hätte ich gedacht das evtl. der Erstellungsstempel (Datum) der Datei mit in die Berechnung mit einbezogen wird, scheint aber nicht der Fall zu sein:

MD5 gilt inzwischen ebenfalls als nicht mehr sicher, da es mit überschaubarem Aufwand möglich ist, unterschiedliche Nachrichten zu erzeugen, die den gleichen MD5-Hashwert aufweisen.

Wikipedia

Ja. Nennt sich auch Kollision. Zum Beispiel haben die folgenden beiden Werte den selben MD5 Hashwert:

d131dd02c5e6eec4693d9a0698aff95c2fcab58712467eab4004583eb8fb7f89 
55ad340609f4b30283e488832571415a085125e8f7cdc99fd91dbdf280373c5b 
d8823e3156348f5bae6dacd436c919c6dd53e2b487da03fd02396306d248cda0 
e99f33420f577ee8ce54b67080a80d1ec69821bcb6a8839396f9652b6ff72a70
d131dd02c5e6eec4693d9a0698aff95c2fcab50712467eab4004583eb8fb7f89 
55ad340609f4b30283e4888325f1415a085125e8f7cdc99fd91dbd7280373c5b 
d8823e3156348f5bae6dacd436c919c6dd53e23487da03fd02396306d248cda0 
e99f33420f577ee8ce54b67080280d1ec69821bcb6a8839396f965ab6ff72a70 

Beide haben den MD5 Hashwert 79054025255fb1a26e4bc422aef54eb4. Siehe https://www.mscs.dal.ca/~selinger/md5collision/

Auch zwei völlig verschiedene Bilder können den selben Hashwert haben, siehe https://crypto.stackexchange.com/a/32492

Die Chance, dass zwei zufällig generierte Werte den selben MD5 Hashwert haben, liegt übrigens bei 1/2^128 (oder 1/16^32). Also im Sextillionenbereich und damit sehr unwahrscheinlich.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung

Es kommt darauf an, wie der Hash-Wert berechnet wird! Wenn ich das Datum und die Uhrzeit zusammen mit dem Passwort und gewissen Dateieigenschaften im Hash vercode, ist jeder Hashwert exakt einmalig.


DerEinsiedler  29.01.2021, 14:52

Das ist natürlich nicht korrekt.

Mit 32 Byte, kannst ein solchen Hashwert genau 2^256 verschiedene Werte annehmen.

Dateien, die sagen wir 64 Byte lang sind, gibt es 2^512 verschiedene.

Selbst bei dieser sehr kleinen eingeschränkten Menge an Dateien (nur die, die 64 Byte lang sind!!) gibt es nicht genügend verschiedene Hashwerte, um jeder einen eigenen zu geben.

Demzufolge bekommen unterschiedliche Dateien gleiche Hashwerte.

... Und 2 Unwissende haben da auch noch auf "Hilfreich" getippt ;-)

3
franzhartwig  29.01.2021, 15:36
Es kommt darauf an, wie der Hash-Wert berechnet wird! Wenn ich das Datum und die Uhrzeit zusammen mit dem Passwort

Es wird in der Regel der Wert über den Dateiinhalt und nicht mit Metadaten berechnet. Der Hashwert über eine Datei enthält niemals ein Passwort, das wäre ein HMAC und kein Hash-Wert.

und gewissen Dateieigenschaften im Hash vercode, ist jeder Hashwert exakt einmalig.

Und nein, das kann nicht sein, weil es nur eine begrenzte Anzahl an Hashwerten gibt, aber unendlich viele Urbilder.

0
guenterhalt  29.01.2021, 16:01

nein! vereinfacht betrachtet ist so ein Hash-Wert doch nur eine Summenbildung.
Ob das Datum dann 1.12.2021 oder 12.1.2120 lautet, ist da egal.

0