Original von silenced
Das Password mit dem der Hash erzeugt wird ist egal. Hauptsache der Hash ist identisch. Ergo wenn´s dumm läuft kann ich deinen 2000 byte langen Passphrase mit 2 Buchstaben knacken.
Genau. Das ist auch ein stark verbreiteter Denkfehler, den viele machen: Sie halten den Hash für ein verschlüsseltes Passwort.
@ToxicJetzt!
Hier eine kurze Erklärung:
Original von Elderan
Angenommen man nimmt 10 stellen Passwort, alphanumerisch (36 Zeichen), so gibt es 3× 10^15 mögliche Strings.
Bei dem theoretischen Modell einer vollständigen Hash-Tabellen-Liste sind diese Strings für die Tabelle uninteressant. Um das zu verstehen, muß zunächst einmal klar sein, was ein Hash überhaupt ist: Ein Hash-Algorithmus bildet aus einem beliebig großen Wert einen Wert mit einer fest vorgegebenen Größe. Im Beispiel von Elderan ist der erzeugte Hash immer 16 byte groß ? egal ob das eingegebene Passwort 10, 100 oder halt nur 2 Zeichen lang ist. Damit eignet sich der Hash-Wert hervorragend als Prüfsumme in einer DB, in der man eine feste Größe pro Eintrag vorgesehen hat.
Niemand kann Anhand des Hash-Wertes den Ursprungswert (in diesem Fall das Passwort) zurückrechnen. Der Grund: Mehrere unterschiedliche Ursprungswerte können ein und denselben Hash-Wert bilden. Das bedeutet, dass es mehrere mögliche Zahlen und Buchstabenkombinationen gibt, die denselben Hash erzeugen und damit als gültiges Passwort erkannt werden. Solche gültigen ?Nebenpassworte? lassen sich gut mit Brute Force ermitteln (ohne Wörterbuch!).
In der Tabelle müssen demzufolge also ?nur? alle möglichen Hashes abgebildet werden, welche in die 16 Bytes hinein passen. Und dahinter benötigt man einfach >>eine<< (möglichst kurze) Zeichenkombination, welches eben diesen Hash erzeugt. So erhält man schnell ein >>gültiges<< Passwort für den Hash, welches sich allerdings mit hoher Wahrscheinlichkeit stark von dem Originalpasswort unterschiedet. Das ist aber egal, denn es ist gültig. Ein Nebenpasswort eben.
Das Problem: "nur" 16 Byte sind alles andere als "nur".

Das ist viel zu groß, um mit den heutigen Mitteln eine Tabelle mit sämtlichen Kombinationsmöglichkeiten zu erstellen. Deshalb gibt es zum einen Teiltabellen mit Hashwerten beliebter Passworte (somit muß der Hash dafür nicht mehr berechnet werden) oder aber es gibt, wie Elderan beschrieben hat, Tabellen mit Passworten für eine bestimmte Anzahl von Zeichen. Darin wird für jede gültige Passwortkombination der Hash eingetragen (damit spart man sich ebenfalls die Berechnung). Allerdings hat er in seiner Berechnung die Großbuchstaben und Sonderzeichen unterschlagen. Bei einem 10 Zeichen langen Passwort dürften 70.940 Terrabyte für die Tabelle noch lange nicht reichen.
Zusammengefaßt kann man sagen, daß es nach den heutigen technischen Mitteln nur Hash-Tabellen gibt, welche nach "gut glück" ausgewertet werden können - alle Kombinationen sind dort nicht enthalten. Zumindest nicht für Tabellen ab 5 Zeichen langen Passworten, inkl. Sonderzeichen.
Bye, nz