Abhängig von den verwendeten Algorithmen kann möglicherweise berechnet werden, wie nah das Kennwort ist, und dies führt zu Kollisionsangriffen, mit denen das Kennwort schneller als mit brutaler Gewalt geknackt werden kann.
Soweit ich weiß, ist dies der Fall von MD4, das aufgrund solcher Fehler in Millisekunden geknackt werden kann. Ich habe den MD4-Exploit nicht analysiert, aber ich wette, dass eine Näherungsgleichung darin eingebettet ist.
Nehmen wir ein idiotisches Beispiel: eine Hash-Funktion, die die Summe der ASCII-Codes des Passworts ist. Das Passwort AB und BA haben den gleichen Hash 131. Wenn das echte Passwort AB ist, akzeptiert das System auch BA als echtes Passwort. Ein kleines Reverse Engineering zeigt eine Beziehung: a) Wenn Sie einen Buchstaben in den nächsten ändern, wird einer in den Hash eingefügt. b) Durch Hinzufügen eines neuen A zum Kennwort werden dem Hash 65 hinzugefügt. Und dann ist der Riss fertig. Das vom Crack zurückgegebene Passwort stimmt möglicherweise nicht mit dem vom Benutzer verwendeten überein, aber das System erkennt den Unterschied nicht.
Ja, das Ziel eines kryptografischen Hash-Algorithmus ist es, dies zu verhindern. Es sollte unvorhersehbar sein und daher rohe Gewalt erfordern. Funktioniert aber nicht immer wie erwartet. Mathematik ist unverzeihlich.
BEARBEITEN: MD4, MD5 und SHA1 sind aufgrund dieser Art von Angriffen inzwischen veraltet. Neue Algorithmen wurden entwickelt, um diese Schwachstellen zu vermeiden. Und die Passwortprüfung ist ein bisschen mehr als nur Hashing. Die Einführung neuer Algorithmen ist nicht so schnell wie wir wollen. Für ständig aktualisiertes Linux sollten die Basiskennwörter moderne Algorithmen verwenden. Aber ich wette, es gibt viele Systeme auf der Welt, auf denen mehr als 10 Jahre alte Software ausgeführt wird, da die neue Version des Betriebssystems möglicherweise nicht mit älteren Anwendungen kompatibel ist oder aufgrund der Lizenzkosten einfach ist, wenn kostenpflichtige Software verwendet wird. Ich wette, dass viele Software, deren eigene Passwortdatenbank vom System getrennt ist, eine schwache Sicherheit haben.