Graph
Password-Based Key Derivation Function 2

🧩Password-Based Key Derivation Function 2

NEW

A password-based key derivation function applying a PRF with salt and many iterations to produce cryptographic keys.

DESCRIPTION

PBKDF2 strengthens passwords by repeatedly applying a pseudorandom function (often HMAC) with a unique salt to derive keys. Its tunable iteration count increases computational cost for attackers. Defined in PKCS #5 and referenced by NIST SP 800-132, PBKDF2 is widely supported in libraries and platforms. While robust, modern memory-hard options like Argon2 may offer stronger resistance to specialized hardware. Proper parameter selection is crucial for security and performance.

ALTERNATIVE DEFINITIONS

IETF RFC 8018

PBKDF2 applies a pseudorandom function, such as HMAC, to the password along with a salt value and repeats the process many times to produce a derived key.

Formal specification highlighting PRF, salt, and iterations.

Source

NIST SP 800-132

This Recommendation specifies the PBKDF that employs a pseudorandom function (PRF) and a salt to derive cryptographic keys from passwords.

NIST guidance that endorses PBKDF usage and parameters.

Source

OWASP Cheat Sheet Series

PBKDF2 uses a configurable number of iterations and a salt.

Emphasizes tunable cost and salting for practical deployments.

Source

Key Stretching Salt HMAC Password Hashing RFC 8018 NIST SP 800-132 Iteration Count

COMPETING TERMS

bcrypt scrypt Argon2

KNOWLEDGE AREAS

Data Security Software Engineering Data Privacy & Compliance

TARGET AUDIENCE

Security Architect Cybersecurity Engineer Software Developer DevOps Engineer IT Auditor IT Manager

EXTERNAL SOURCES

  • Wikipedia - PBKDF2
  • IETF - PKCS #5 v2.1 defining PBKDF2
  • NIST - PBKDF guidance and parameters
  • OpenSSL - Library API for PBKDF2 HMAC

TOP QUESTIONS

What is PBKDF2 used for?

Deriving cryptographic keys from passwords by applying a PRF with a salt and many iterations to resist brute-force attacks.

Category: Definition

How do PBKDF2 parameters affect security?

Higher iterations increase attacker cost; strong salts prevent precomputation attacks. Choose parameters based on hardware and latency budgets.

Category: Requirements

PBKDF2 vs bcrypt vs Argon2: which to choose?

Argon2 offers memory-hardness; bcrypt and PBKDF2 are widely supported. Consider threat model, library support, and performance.

Category: Comparison

What are common mistakes with PBKDF2?

Using low iteration counts, missing per-user salts, and inconsistent parameter management across services.

Category: Mistakes

Is PBKDF2 still relevant?

Yes, widely supported and standardized, though memory-hard functions like Argon2 are preferred against GPU/ASIC attackers.

Category: Relevancy

How to store PBKDF2 parameters?

Record salt, iteration count, PRF choice, and derived key in a standardized format to enable verification.

Category: Management

What risks exist with weak PBKDF2 settings?

Faster offline cracking, increased breach impact, and noncompliance with security standards.

Category: Risks

Can PBKDF2 be used for encryption keys?

Yes, derive keys from passwords for encryption, but prefer high-entropy secrets when possible.

Category: Application

Where to learn PBKDF2?

Read RFC 8018, NIST SP 800-132, and cryptographic library documentation like OpenSSL.

Category: Learning