scrypt
scrypt is a password-based key derivation function that turns a password into a cryptographic key. It is deliberately designed to require significant computing power and memory, which makes large-scale guessing (brute-force) attacks harder and more expensive. It was created by Colin Percival, originally for the Tarsnap online backup system.
scrypt is a password-based key derivation function (PBKDF) created by Colin Percival in March 2009, originally for the Tarsnap online backup system. It is designed to be both computationally intensive and memory-hard, deliberately requiring large amounts of memory in addition to CPU work; this raises the cost of parallelized, hardware-accelerated brute-force attacks compared with functions that are only CPU-bound. In IAM contexts it is typically applied to derive keys from or to protect stored passwords, and a demonstration password-based encryption utility built on the scrypt KDF is distributed alongside it. Note that scrypt is a key derivation function, not an encryption algorithm itself; specific tunable parameters, work factors, and version details are out of scope of this evidence.
Why it matters
Password-based key derivation functions are a frontline defense for stored credentials and password-derived keys. Because users choose passwords with limited entropy, an attacker who obtains a credential database can attempt to recover plaintext passwords through large-scale guessing. scrypt raises the cost of these attacks by being deliberately computationally intensive and, critically, memory-hard: it requires significant memory in addition to CPU work. This memory requirement is what distinguishes scrypt from functions that are only CPU-bound, since it constrains an attacker's ability to cheaply parallelize guessing across specialized, hardware-accelerated platforms.
For IAM teams evaluating how passwords are protected at rest, the choice of derivation function directly affects the economics of an offline attack following a breach. A function designed to be far more secure against hardware brute-force attempts, as scrypt was intended by its creator, means that even if a hashed credential store is exfiltrated, recovering usable passwords becomes materially more expensive. This matters most in scenarios where the credential store is the last line of defense and detection or rotation may lag behind compromise.
It is important to keep scrypt's role bounded: it is a key derivation function, not an encryption algorithm. Its strength against guessing attacks depends on how it is deployed and tuned, and specific parameter and work-factor guidance is outside the scope of this evidence. Teams should treat scrypt as one component of credential protection rather than a complete solution, and should verify configuration against current, authoritative guidance for their platform.
Who it's relevant to
Inside scrypt
Common questions
Answers to the questions practitioners most commonly ask about scrypt.
