Glossary
Salt
Ein Salt ist ein einzigartiger Zufallswert, der vor dem Hashen zu einem Passwort hinzugefügt wird; er vereitelt Rainbow Tables und sorgt dafür, dass gleiche Passwörter verschiedene Hashes ergeben.
Ein Salt ist ein einzigartiger Zufallswert, der vor dem Hashen mit einem Passwort kombiniert wird. Seine Aufgabe ist es, jeden gespeicherten Hash unterschiedlich zu machen, selbst wenn zwei Nutzer dasselbe Passwort wählen. Da der Salt die Eingabe verändert, teilen identische Passwörter keinen Prüfwert mehr, und ein Angreifer kann nicht viele Konten auf einmal knacken, indem er wiederkehrende Hashes erkennt.
Salting vereitelt außerdem vorberechnete Rainbow Tables: Eine für ungesalzenes MD5 erstellte Tabelle ist gegen gesalzene Hashes wertlos, weil der Angreifer für jeden möglichen Salt eine eigene Tabelle bräuchte. Moderne Passwortformate wie bcrypt und sha512crypt speichern den Salt direkt in der Hash-Zeichenkette.
Wichtiger Vorbehalt: Ein Salt schützt vor Vorberechnung, nicht vor Geschwindigkeit. Er bremst keinen Angriff Versuch für Versuch und muss daher mit einem langsamen Algorithmus kombiniert werden, um wirksam zu sein. Siehe warum schnelle Hashes gefährlich sind für das Gesamtbild.