HKDF
HMAC-based Extract-and-Expand Key Derivation Function
It extracts a uniformly random key from input keying material, optionally with a salt, then expands it into as many keys as needed, with an info string binding each key to its purpose. It suits shared secrets and master keys, not passwords.
- Defined in
- RFC 5869
Covered in
Choose cryptographic algorithms and parameters by job
A sourced quick reference for October 2026: which algorithm and parameters to use for encryption, hashing, passwords, MACs, signatures, key agreement, key derivation, randomness and TLS, the matching APIs in Node.js, Python, Java, Go and .NET, and where post-quantum migration stands.
Tokenization, pseudonymization and privacy transformations: choose deliberately
Choose between vault tokens, keyed pseudonyms, format-preserving encryption, aggregation and differential privacy by the joins, reversibility and leakage each allows, and test re-identification on the data you release.
Practice: Insecure randomness lab: Generate unguessable API keys