Zitat:
Stimmt MD5 ist ein Hash, aber eigentlich genau das richtige wenn man Passwörter verschlüsseln will, weil man sie nicht wieder entschlüsseln kann.
Tja, und da wiedersprichst du dich auch schon. Wenn man was Ver-schlüsselt heist das das man dazu 1.) einen Schlüssel benötigt und 2.) auch wieder Ent-schlüsseln kann. Somit ist MD5 keine Verschlüsselung sondern eine Einweg-Funktion, oder genauer gesagt eine One-Way-Trap-Door Funktion. Im Gegensatz zu CRC = Cyclic Redundance Checks deren Sicherheitfeatures rein garnischt mit einer Hash Funktion zu tun haben.
Man KANN mit MD5 aber tatsächlich verschlüsseln, so wie mit jeder Funktion die eine Art von "Zufallsdaten" erzeugt. Dazu wird MD5 mit einem Passwort als Startwert initialisiert. Nun wird periodisch vom Hashoutput ein Hashoutput erzeugt. Die so entstehende Sequenz von Bytes kann per XOR mit der Message verknüpft werden. Somit entsteht eine Stromverschlüsselung ähnlich wie RC4 (Netspace) usw. Allerdings von solchen Methoden halte ich absolut nichts. Denn ein Verschlüssleungsalgo. ist entwickelt wurde um zu Ver-/Entschlüsseln, eine Checksumme ist entwicklt wurden um Prüfsummen zu erzeugen die man zurückrechnen kann um ein fehlerhaftes Bit zu korregieren, und eine Hash Funktion ist entwickelt worden um eine sicheren binären Fingerabdruck beliebiger Daten zu erzeugen. D.h. alle 3 Algo. Klassen sind voneinander unabhängig und erfüllen jede für sich komplett andere Aufgaben.
Statt also einen Algo. zu vergewaltigen damit er das gleiche macht wie eine andere Algo. Klasse, sollte man nur den Algo. auswählen der exakt für die Zielsetzung konzipiert wurde.
Für die Sicherung von Passwörtern + Logins ist es am besten mit Hashfunktionen + einen Salt zu arbeiten. DES als Verschlüsselung wird beim .htaccess eg. UNIX Crypt verwendet und ist eben nicht so sicher wie eine Hashfunktion.
Gruß Hagen
PS: wer UNIX-Crypt kennt sieht auf Anhieb das ein Salt von 64*64 = 4096 Kombinationen einfach lächerlich ist. Dann wird noch dieser Salt dazu benutzt um die internen Register (SBox) von DES zu manipulieren, was einem Eingriff in die Sicherheitsrelevanten Funktionen vom DES gleichkommt. Es beudeutet also das der Salt mit hoher Wahrscheinlichkeit den DES Algo. abschwächt. Dazu kommt noch die schächste DES Verschlüsselung mit 56 Bit Stärke und eben der Fakt das als Login Überprüfung dieses Verfahren ein absolutes Fehldesign ist.
Leider setzt sich oft das Schlechtere durch.