NEW
Also known as: Key Derivation Function (KDF)
The process of deriving cryptographic keys from a shared secret or password using a KDF to produce secure, context-specific keys.
DESCRIPTION
Key derivation transforms base material (passwords or shared secrets) into keys suitable for encryption, authentication, or signing. KDFs incorporate salts, iteration counts, and sometimes memory-hardness to resist brute-force and rainbow-table attacks. Common functions include PBKDF2, HKDF, scrypt, and Argon2. Proper parameterization is essential to balance security and performance. Key derivation is often applied after key agreement or during credential processing to produce distinct keys for different uses.
ALTERNATIVE DEFINITIONS
NIST SP 800-108
This Recommendation specifies techniques for the derivation of keying material from a secret value using pseudorandom functions.
Highlights PRF-based derivation of keying material from a secret value.
Wikipedia
A key derivation function (KDF) derives one or more secret keys from a secret value such as a master key, a password, or a passphrase.
General overview stressing derivation from master secrets or passwords.
IETF RFC 5869 (HKDF)
This document specifies the HMAC-based Extract-and-Expand Key Derivation Function (HKDF), a simple and secure KDF built from HMAC.
Defines HKDF, a widely used KDF constructed from HMAC with extract and expand steps.
RELATED TERMS
Password-Based Key Derivation Function 2 HKDF scrypt Argon2 Salt Key Stretching Entropy Password Hashing Key Agreement Key Expansion
COMPETING TERMS
Random Key Generation
KNOWLEDGE AREAS
Data Security Data Privacy & Compliance Infrastructure
TARGET AUDIENCE
Security Architect Cybersecurity Engineer Software Developer Data Privacy Officer
EXTERNAL SOURCES
- Wikipedia - Key derivation function
- NIST - Recommendation for KDFs using PRFs
- IETF RFC 2898 (PKCS #5) - PBKDF2 specification
- IETF RFC 5869 - HKDF standard
- Argon2 Project - Memory-hard password hashing/KDF
TOP QUESTIONS
Why use Key Derivation instead of raw passwords?
Derivation with salts and iterations hardens secrets against brute-force attacks and produces keys fit for cryptographic operations.
Category: Relevancy
What parameters matter in Key Derivation?
Salt uniqueness, iteration counts, and memory-hardness are critical; tune to meet security requirements and performance constraints.
Category: Requirements
What is a common mistake in Key Derivation?
Reusing salts or using low iteration counts weakens security, enabling faster offline attacks.
Category: Mistakes
How does HKDF differ from PBKDF2 for Key Derivation?
HKDF derives keys from high-entropy shared secrets; PBKDF2 is designed for passwords with configurable iteration counts.
Category: Opinion
When to use memory-hard KDFs in Key Derivation?
Use scrypt or Argon2 for password-based derivation to mitigate ASIC/GPU cracking through high memory requirements.
Category: Requirements
How to manage Key Derivation outputs?
Use context-specific info in KDF to derive separate keys for encryption and MAC; store parameters for reproducibility.
Category: Management
What is the risk of missing salt in Key Derivation?
Identical inputs yield identical outputs, enabling rainbow-table attacks and easy correlation across systems.
Category: Risks
Can Key Derivation provide forward secrecy?
Forward secrecy arises from key agreement with ephemeral secrets; derivation helps produce session keys but is not sufficient alone.
Category: Misunderstanding
Where to learn about KDF standards for Key Derivation?
Start with NIST SP 800-108 and IETF RFCs for PBKDF2 and HKDF; review library docs for implementation details.
Category: Example