scrypt ist eine passwortbasierte Schlüsselableitungsfunktion (KDF), die Colin Percival 2009 entwickelte und die 2016 in RFC 7914 standardisiert wurde. Wie Argon2 setzt scrypt auf eine memory-hard Funktion: Eine Berechnung benötigt gezielt viel Arbeitsspeicher, wodurch sich Angriffe mit spezialisierter Hardware (GPU- oder ASIC-Beschleuniger) drastisch verteuern.
So funktioniert scrypt
scrypt kombiniert die PBKDF2-Streckung mit einer speicherintensiven Blockmischung (Salsa20/8-Kern). Die Parameter N (CPU- und Speicherkosten), r (Blockgröße) und p (Parallelisierungsgrad) bestimmen den Aufwand; typische Werte sind N=16384, r=8 und p=1. Als Hashfunktion ist scrypt nicht gedacht — es ist eine absichtlich langsame Schlüsselableitung.
Passwort-Hashing mit scrypt
Zum Speichern von Passwörtern wird scrypt wie bcrypt oder Argon2 mit einem zufälligen Salt verwendet; der Hash-String enthält die Parameter, sodass sie beim Verifizieren wieder gelesen werden können. Das OWASP Password Storage Cheat Sheet listet scrypt als akzeptable Alternative hinter Argon2id.
Verwandte Grundlagen: Key Stretching, Brute-Force-Angriff, Rainbow Table.