md5 Verschlüsselung

Kopfballstar

Erfahrenes Mitglied
Hab mal eine Frage dazu weil ich eben folgendes gelesen habe:
"
md5 ist ein zufallsgesteuerter Rechenalgo....
....
User gibt das Passwort ein, verschlüsseln, diesen String mit dem String in DB vergleichen
"

Wo ist da die Logik. Das bedeutet doch das String 123 mit md5 verschlüsselt immer xyz ist? So verstehe ich es zumindest. Damit dürfte es doch ein leichtes sein den Verschlüsselungsalgo herauszufinden ( wenn man darauf steht ).
Ist diese Verschlüsselung also überhaupt zu empfehlen?
 
Kopfballstar hat gesagt.:
Hab mal eine Frage dazu weil ich eben folgendes gelesen habe:
"
md5 ist ein zufallsgesteuerter Rechenalgo....
....
User gibt das Passwort ein, verschlüsseln, diesen String mit dem String in DB vergleichen
"

Wo ist da die Logik. Das bedeutet doch das String 123 mit md5 verschlüsselt immer xyz ist? So verstehe ich es zumindest. Damit dürfte es doch ein leichtes sein den Verschlüsselungsalgo herauszufinden ( wenn man darauf steht ).
Ist diese Verschlüsselung also überhaupt zu empfehlen?

Hab mal irgendwo gelesen, dass es wohl mal jemand geschafft hat den Algorythmuss von md5 zu knacken, doch, dass das jemand nochmal schafft bezweifel ich! Und ich denke 128 bit ist schon nicht schlecht. ;) Man sollte sich aber im allgemeinen nicht nur auf md5 verlassen sondern auch immer noch versuchen eigene Schwierigkeiten mit einzubauen!

Gruß Stefan
 
Also, MD5 ist immer noch keine Verschluesselung und wird auch nie eine werden. MD5 ist ein Hash, was im Grunde sowas wie eine Pruefsumme ist.
Mit Zufall hat das nichts zu tun, denn Zufall sorgt fuer Unterschiede, wenn Du aber einen String 100 mal hashst wirst Du auch 100 mal das selbe Ergebnis erhalten.
Anhand der Hash-Laenge kann man im Grunde erraten, dass es sich um MD5 handelt, es muss dann aber nicht zwingend MD5 sein. Rueckgaengig kann man das eh nicht machen sondern hoechstens eine Kollision herbeifuehren, aber auch das ist meiner Meinung nach nur durch Brute-Force-Methoden zu machen und nicht durch simple (oder auch komplizierte) Mathematik.

PHP bietet uebrigens auch einen besseren Hash als MD5, und zwar SHA1. Dieser verwendet mehr Bits und deshalb gibt es weniger Kollisionen, aber trotzdem sind auch hier Kollisionen moeglich.
Die meisten nutzen MD5 wahrscheinlich aus dem Unwissen um eine bessere Alternative, eben SHA1.
 
Dennis Wronka hat gesagt.:
Die meisten nutzen MD5 wahrscheinlich aus dem Unwissen um eine bessere Alternative, eben SHA1.

Ich nutze Sha1 deshalb nicht:
Wikipedia hat gesagt.:
Am 15. Februar 2005 meldete der Kryptographieexperte Bruce Schneier in seinem Blog, dass die Wissenschaftler Xiaoyun Wang, Yiqun Lisa Yin und Hongbo Yu an der Shandong University in China erfolgreich SHA-1 gebrochen hätten. Ihnen sei es gelungen, den Aufwand zur Kollisionsberechnung von 2^80 auf 2^69 zu verringern. 2^69 Berechnungen könnten eventuell mit Hochleistungsrechnern durchgeführt werden.

Quelle: Sicherer Hash-Algorithmus - Wikipedia
 
2^69 Berechnungen könnten eventuell mit Hochleistungsrechnern durchgeführt werden.
Der Rechner den Joe Hacker daheim stehen hat ist kein Hochleistungsrechner, und selbst von denen wird ja auch gesagt, dass diese Kollisionen berechnen koennten. Trotzdem wird durch die zusaetzlichen Bits SHA1 besser sein als MD5. Und mal ganz ehrlich, mit den entsprechenden Rainbow-Tables ist jeder Hash ein Witz.

Also, es spricht nichts gegen den Einsatz von SHA1. Der erzeugte Hash ist laenger als der von MD5 und somit gibt es weniger Kollisionen, was eindeutig fuer SHA1 spricht.
Dass es theoretisch moeglich sein koennte mit utopisch teuren Rechenanlagen Kollisionen innerhalb von ein paar Stunden/Tagen/Wochen zu berechnen mag ja sein, aber wer hat denn schon auf sowas Zugriff? Und es wird wohl kein Hacker den Aufwand betreiben ein ganzes Botnetz rumhashen zu lassen.
 
Kopfballstar hat gesagt.:
Dann ist die Aussage "zufallsgesteuerter Algorithmus" doch Quatsch oder?
Absolut. Denn andernfalls wäre die Eindeutigkeit nicht mehr gegeben.
http://de.wikipedia.org/wiki/Hash-Funktion hat gesagt.:
Eindeutigkeit
Die Funktion muss deterministisch von der Quellmenge auf die Zielmenge abbilden. Wiederholtes Berechnen des Hash-Wertes desselben Quellelements muss also dasselbe Ergebnis liefern.
 
Der Blödsinn beschränkt sich jedoch nicht nur aufs Internet. Auch Lehrer und vermeintliche Experten können gelegentlich absoluten Mist erzählen. Das haben wir hier auch schon erlebt.
 
Zurück