Zum Inhalt springen
uencoder

scrypt

scrypt ist eine von Colin Percival entworfene speicherintensive Schlüsselableitungsfunktion (KDF): Sie widersteht paralleler Brute-Force auf GPU/ASIC durch große Speicheranforderungen und wird für Passwort-Hashing und Schlüsselableitung eingesetzt.

Zweck

Sie ergänzt die CPU-Härte um Speicherhärte und treibt die Kosten von Angriffen mit Spezialhardware (ASIC) stark in die Höhe.

Mechanismus

Sie baut auf PBKDF2 und ROMix auf (BlockMix greift wahlfrei auf ein gefülltes Array im Speicher zu). Parameter: N (Speicher-/Zeitkosten), r (Blockgröße), p (Parallelität); sie belegt etwa N×r×128 Bytes Speicher. Übliche Einstellungen: N=2^15, r=8, p=1.

Anwendungsfälle

  • Litecoin-Mining
  • Verschlüsselung von Tarsnap-Backups
  • Passwort-Hashing (Alternative zu bcrypt)
  • Schlüsselableitung in ETH 2.0

Beispiele

  • Eingabe
    password, salt, N=2^15, r=8, p=1
    Output
    256-bit key

    Needs about 32 MB of memory

Häufige Fehler

An N value too low loses the memory-hard property
Tune per environment; N≥2^15 recommended for servers

Verwandte Begriffe

Verwandte Tools

References