Key Stretching (Schlüsselstreckung) ist ein Verfahren, um Passwörter gegen Brute-Force-Angriffe zu härten: Die Hashberechnung wird absichtlich langsam gemacht, sodass jeder Rateversuch teuer wird. Je mehr Rechenzeit ein Angreifer pro Passwort benötigt, desto geringer ist der Wert vorberechneter Rainbow Tables.
Zwei Wege zum Stretching
Die klassische Methode ist die Iteration: PBKDF2 wendet die Hashfunktion hunderttausende Male an (OWASP empfiehlt 600.000 Runden mit HMAC-SHA256). Alternativ erhöhen scrypt und Argon2 den Speicherbedarf (memory-hard), was auch GPU- und ASIC-Beschleuniger ausbremst. bcrypt kombiniert Iteration mit einem Kostenfaktor 2^n.
Abgrenzung: Salt und Pepper
Key Stretching ist nicht mit Salting zu verwechseln: Ein Salt sorgt dafür, dass identische Passwörter unterschiedliche Hashes ergeben; Stretching verlangsamt die Berechnung. Beides gehört in einer modernen Passwort-Ablage zusammen.
Verwandte Grundlagen: Key Derivation, Hashfunktion, SHA-256.