Kann man MD5 knacken?



  • Hi,

    kann man MD5 knacken? Also nehmen wir mal an ich hab diese Checksum:

    1ddaef5add6a6ae8eb86a4145fc1331e

    ist darin nun ein String oder wie? ist MD5 kein Codierungsverfahren?



  • MD5 berechnet Hashwerte. Das heißt, dass es dazu da ist zu prüfen, ob zwei Texte gleich sind, ohne beide Texte Bit für Bit zu vergleichen. Du berechnest mit MD5 die Hashwerte für beide Werte und vergleichst nur die Hashwerte. Das ist nützlich beim Datenversand über's Internet zum Beispiel, um herauszufinden ob man alles richtig empfangen hat oder ein Übertragungsfehler vorliegt. Zusätzlich soll MD5 die Eigenschaft haben, dass es nicht möglich ist, zwei Texte mit gleichem Hashwert zu erzeugen. Das ist allerdings nicht mehr sichergestellt, weswegen MD5 als unsicher gilt. Diese Eigenschaft braucht man z.B. bei der Digitalen Unterschrift. Mehr dazu: http://de.wikipedia.org/wiki/MD5

    übrigens: MD5 ist NICHT zum verschlüsseln da!

    Alle Klarheiten beseitigt? 🤡



  • und nebenbei: es ist natürlich nicht möglich vom hashwert auf den ursprünglichen dateiinhalt zu schließen (es sei denn man probiert alle möglichen dateiinhalte aus, aber das setze ich mal als unmöglich voraus 😃 )



  • Hm,

    Zusätzlich soll MD5 die Eigenschaft haben, dass es nicht möglich ist, zwei Texte mit gleichem Hashwert zu erzeugen

    Kann doch auch nicht gehen, sonst könnte man MD5 ja auch wieder entschlüsseln.

    MfG Eisflamme



  • versteh ich nicht... wenn ich meinen special algorithmus hab der sagen wir mal für jeden text den wert asdf rausgibt kann ich ihn doch auch nicht wieder entschlüsseln



  • Das wird wohl so gemeint sein, das man vor dem verschicken des Textes,
    den Hashwert verschickt. Wenn der upload dann beendet ist, errechnet der
    Empfänger mit MD5 den Hashwert auf den empfangenen Text und vergleicht
    diesen mit dem zusätzlich empfangenen Hashwert. Ist dieser unterschiedlich,
    dann ist es zu Problemen mit der Übertragung gekommen.

    versteh ich nicht... wenn ich meinen special algorithmus hab der sagen wir mal für jeden text den wert asdf rausgibt kann ich ihn doch auch nicht wieder entschlüsseln

    Musst und kannst du auch nicht. Du prüfst immer nur in eine Richtung.



  • ich bezog mich auf mis2com

    14:31:55 09.07.2004 Titel: Zitieren
    Hm,

    Zitat:
    Zusätzlich soll MD5 die Eigenschaft haben, dass es nicht möglich ist, zwei Texte mit gleichem Hashwert zu erzeugen

    Kann doch auch nicht gehen, sonst könnte man MD5 ja auch wieder entschlüsseln.

    MfG Eisflamme

    😉



  • Hi,

    ja, ich meinte, dass man auf alle Fälle einen Hashwert durch mehrere Wörter erzeugen können muss, weil es ja ansonsten möglich wäre die Verschlüsselung umzukehren.
    Und für etwas, was für alles asdf ausgibt, kann man selbstverständlich auch keine eindeutige Rückverschlüsselung finden.
    Umso mehr Zeichenfolgen denselben Hashwert geben, umso sicherer ist es, wenn man es entschlüsseln will, weil es dann mehr Möglichkeiten gibt, aber gleichzeitig ist es für die Brute-Force-Methode anfälliger, weil es mehrere Strings gibt, bei denen der gesuchte Hashwert erreicht werden soll.
    Es muss also ein guter Kompromiss gefunden werden.

    MfG Eisflamme



  • Zusätzlich soll MD5 die Eigenschaft haben, dass es nicht möglich ist, zwei Texte mit gleichem Hashwert zu erzeugen

    wohl kaum. wenn ich sagen wir einen 100 zeichen string hashe. es gibt also 2^800 mögliche strings. md5 kann aber nur 2^128 möglichen hashwerten erzeugen... das kann nicht sein, dass jeder text einen eigenen hashwert hat. es ist aber so das es aus einem hashwert möglichst schwer sein sollte einen text zu finden der diesen hashwert erzeugt.



  • Es gibt insgesamt nur 2^128 Hashwerte bei MD5. Das sind 3,4*10^38 Hashwerte. Wer es gerne Bildlich hat: Das sind 1 Milliarde * 1 Milliarde * 1 Milliarde * 1 Milliarde * 100 unterschiedliche Werte. Die Chance dafür, dass innerhalb der nächsten 10 Jahre irgendwo auf der Welt zwei unterschiedliche Datei zufällig denselben MD5 Hashwert haben, ist fast Null. Ich hab mal versucht die Wahrscheinlichkeit auszurechenen, aber sie war schon für wesentlich kürzere Hashwerte bei 0.(als Null zählt bei mir, was kleiner als 2^-100 ist)

    Du(wer auch immer sich angesprochen fühlt) wirst also niemals in deinem Leben ausversehen denselben Hashwert bekommen. Und wenn du ein sicheres Verfahren wie SHA nimmst, (MD5 gilt nicht mehr als sicher, da es theoretische schwächen hat) wird auch niemand absichtlich zwei unterschiedliche Dokument mit dem selben Hashwert erzeugen können. Die effektivste Methode dafür braucht 2^64 Texte um eine 50% Chance zu haben, was noch niemand schaft.
    Weil: 2^64 Texte sind jeweils mindestens 64 Bit lang, was insgesamt 64*2^64 Bit macht, also 2^70 Bit, das sind 2^40(mehr als eine Billion) Gigabyte. Das schafft noch niemand!

    @Mis2com:
    Ich verstehe deine Argumentation nicht! Bist du sicher, das du weist, worüber du redest? Das ist nicht böse gemeint, aber es kann ja sein du verwechselst gerade etwas. 😞
    Bei Hashwerten gilt: Je länger desto besser, vorausgesetzt der Algorithmus ist sicher. Und spätestens bei einem 256 Bit langen Hashwert, kann ihn dann niemand mehr per Brute-Force(ausprobieren) knacken(Dafür gibt es nicht genug Atome im Universum, hat mal einer ausgerechnet!!!). Tatsächlich reicht 160 Bit aber auf alle Fälle aus. Länger Hashwerte braucht man eigentlich nicht.



  • Nimda schrieb:

    übrigens: MD5 ist NICHT zum verschlüsseln da!

    Zum Verschlüsseln von Daten, die du wieder rekonstruieren willst: Natürlich nicht.
    Zum Verschlüsseln von Passworten: Aber sicher - insbesondere wenn man die Passworte
    sicher abspeichern will, ohne dass irgendwer sie wieder rekonstruieren kann.



  • Achso, jetzt verstehe ich. Danke
    Allerdings ist das dann eine Einwegverschlüsselung, man muss dann das eingetippte Passwort immer Hashen und mit dem gehashtem eingestellten Passwort vergleichen. Damit kann niemand das Passwort auslesen, selbst wenn er den Hashwert kennt, was ja alles ist, was von dem Passwort gespeichert wird, kann er sich damit nicht einloggen, da seine Eingabe ja gehasht wird.(Für die, die es nicht wussten)
    Das ist übrigens der Grund dafür, warum manche Internetdienste einem nicht das Passwort zu mailen könen. Weil sie es auch nicht kennen, so kurios das klingt!



  • Nimda schrieb:

    Achso, jetzt verstehe ich. Danke

    Büdde.



  • http://www.cs.ucsd.edu/users/bsy/dobbertin.ps
    http://passcracking.com/

    gerade letzteres sollte interessant sein, da es ein Online Cracking System für MD5 ist.



  • Taurin schrieb:

    Zum Verschlüsseln von Passworten: Aber sicher - insbesondere wenn man die Passworte
    sicher abspeichern will, ohne dass irgendwer sie wieder rekonstruieren kann.

    Falsch. Dafür ist es NICHT da. Man kann es aber dafür nutzen. Wie schon oben erwähnt, ist MD5 lediglich für Checksums gedacht...



  • Hö? Und wo ist der Widerspruch? Ich hab doch gar nicht bestritten, dass es - wie
    ja oben schon erwähnt - noch andere Anwendungsfelder gibt.



  • Ganz einfach MD5 ist KEINE Verschlüsselung. Es lässt sich aber dafür "missbrauchen".



  • Ich verstehe immer noch nicht, worauf du hinaus willst. Man *kann* mit dem
    Verfahren eine Einwegverschlüsselung durchführen, muss man aber nicht. Man
    kann damit auch andere, wundervolle Dinge tun.
    Wo ist das Problem? Willst du auf die Absicht der Autoren des Verfahrens hinaus?
    Die ist mir recht egal, solange das Verfahren das tut, was ich will...



  • Taurin schrieb:

    Ich verstehe immer noch nicht, worauf du hinaus willst.

    Vermutlich darauf, daß man mit MD5 lieber nicht verschlüsselt. Daß es geht, hat, soweit ich sehe, niemand bezweifelt. Verschlüsseln kann man aber doch auch mit dem Caesar-Chiffre oder ROT13.



  • Taurin schrieb:

    Willst du auf die Absicht der Autoren des Verfahrens hinaus?

    Genau.

    Taurin schrieb:

    Die ist mir recht egal, solange das Verfahren das tut, was ich will...

    Klar. Mach ich doch genauso.


Anmelden zum Antworten