Zum Inhalt springen
uencoder

Hash Salting

Hash-Salting fügt der Hash-Eingabe ein zufälliges Salt hinzu, sodass identische Eingaben verschiedene Hashes erzeugen; Rainbow Tables und Kollisionserkennung werden damit ausgeschaltet.

Zweck

Hash-Ausgaben eindeutig machen und so Precomputed-Angriffe sowie den Vergleich identischer Eingaben verhindern.

Mechanismus

Ein zufälliges Salt wird erzeugt, H(Eingabe || Salt) berechnet und (Salt, Hash) gespeichert. Zur Verifikation wird mit dem gespeicherten Salt neu gehasht und verglichen. Das Salt muss nicht geheim, aber eindeutig sein. Verwendet u. a. beim Passwort-Hashing und bei HMAC (obwohl HMAC bereits einen Schlüssel einbettet).

Anwendungsfälle

  • Sichere Passwortspeicherung
  • Deduplizierung bei der Token-Erzeugung
  • Deduplizierung von Datenfingerabdrücken
  • Prävention von Precomputed-Angriffen

Beispiele

  • Eingabe
    pass1 + saltA → hashA; pass1 + saltB → hashB
    Output
    Same password, different hashes

    Unique salt

Häufige Fehler

Salt too short (<16 bytes)
Use at least 16 random bytes

Verwandte Begriffe

Verwandte Tools

References