PBKDF2 (Password-Based Key Derivation Function 2) Explorer
CoreHash
Interactive PBKDF2
Enter a password, salt, and adjust parameters to generate a PBKDF2 key.
PBKDF2
About PBKDF2
Description
PBKDF2 (Password-Based Key Derivation Function 2) is a key derivation function that is part of RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, specifically PKCS #5 v2.0. It applies a pseudorandom function, such as a cryptographic hash, cipher, or HMAC, to the input password along with a salt value and repeats the process many times to produce a derived key.
How it Works
- The password and salt are combined.
- A pseudorandom function (usually HMAC-SHA1 or HMAC-SHA256) is applied to this combination.
- The result is then used as the input for the next iteration.
- This process is repeated for the specified number of iterations.
- The final result is the derived key.
Strengths
- Computationally intensive, making brute-force attacks more difficult
- Uses a salt to protect against rainbow table attacks
- The number of iterations can be adjusted to increase security as computational power grows
- Widely supported and well-studied
Considerations
- The security depends heavily on the number of iterations used
- May be vulnerable to GPU-based attacks, unlike memory-hard functions like scrypt
- The underlying hash function (e.g., SHA-1) may have vulnerabilities
Historical Context
PBKDF2 was published in 2000 as part of PKCS #5 v2.0. It was designed to replace the earlier PBKDF1, which was limited in the length of derived keys it could produce. PBKDF2 addressed this limitation and has since become widely used in many security systems and protocols.
Modern Applications
PBKDF2 is used in many applications and standards, including:- Wi-Fi Protected Access II (WPA2) for key derivation
- iOS and macOS for generating encryption keys from passwords
- Many password managers and encryption software