HKDF (HMAC-based Key Derivation Function)
Qu'est-ce que HKDF (HMAC-based Key Derivation Function) ?
HKDF (HMAC-based Key Derivation Function)An extract-then-expand key derivation function based on HMAC, specified in RFC 5869, designed to turn high-entropy but non-uniform secret material (DH shared secrets, master keys) into multiple cryptographically strong keys.
HKDF (HMAC-based Key Derivation Function), defined by Krawczyk in RFC 5869 (2010), is the default modern KDF for symmetric key derivation from already-high-entropy inputs such as Diffie-Hellman shared secrets, master keys, or pre-shared keys. It is built in two phases. Extract takes input keying material (IKM) and an optional salt and applies HMAC to produce a fixed-length pseudorandom key (PRK). Expand then applies HMAC iteratively, with a counter and an info-context parameter, to derive output keying material of arbitrary length. The info parameter is used to bind derived keys to a context, which makes it safe to derive many independent keys from one PRK without collision. HKDF is the KDF chosen for TLS 1.3, Signal, Noise, WireGuard, JWE, the IETF QUIC handshake, and most modern cryptographic protocols. It is not appropriate for low-entropy inputs such as passwords — use Argon2id, scrypt, or bcrypt for those — and it is not itself a MAC; the underlying HMAC is.
● Exemples
- 01
TLS 1.3 derives application and exporter traffic keys from the master secret via HKDF-Expand-Label, with separate info contexts per direction.
- 02
A protocol derives a 32-byte encryption key and a 32-byte MAC key from a single DH shared secret by calling HKDF with `info="enc-key"` and `info="mac-key"`.
● Questions fréquentes
Qu'est-ce que HKDF (HMAC-based Key Derivation Function) ?
An extract-then-expand key derivation function based on HMAC, specified in RFC 5869, designed to turn high-entropy but non-uniform secret material (DH shared secrets, master keys) into multiple cryptographically strong keys. Cette notion relève de la catégorie Cryptographie en cybersécurité.
Que signifie HKDF (HMAC-based Key Derivation Function) ?
An extract-then-expand key derivation function based on HMAC, specified in RFC 5869, designed to turn high-entropy but non-uniform secret material (DH shared secrets, master keys) into multiple cryptographically strong keys.
Comment fonctionne HKDF (HMAC-based Key Derivation Function) ?
HKDF (HMAC-based Key Derivation Function), defined by Krawczyk in RFC 5869 (2010), is the default modern KDF for symmetric key derivation from already-high-entropy inputs such as Diffie-Hellman shared secrets, master keys, or pre-shared keys. It is built in two phases. Extract takes input keying material (IKM) and an optional salt and applies HMAC to produce a fixed-length pseudorandom key (PRK). Expand then applies HMAC iteratively, with a counter and an info-context parameter, to derive output keying material of arbitrary length. The info parameter is used to bind derived keys to a context, which makes it safe to derive many independent keys from one PRK without collision. HKDF is the KDF chosen for TLS 1.3, Signal, Noise, WireGuard, JWE, the IETF QUIC handshake, and most modern cryptographic protocols. It is not appropriate for low-entropy inputs such as passwords — use Argon2id, scrypt, or bcrypt for those — and it is not itself a MAC; the underlying HMAC is.
Comment se défendre contre HKDF (HMAC-based Key Derivation Function) ?
Les défenses contre HKDF (HMAC-based Key Derivation Function) combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de HKDF (HMAC-based Key Derivation Function) ?
Noms alternatifs courants : RFC 5869, HMAC KDF.
● Termes liés
- cryptography№ 656
Fonction de dérivation de clé (KDF)
Fonction cryptographique qui produit une ou plusieurs clés cryptographiques robustes à partir d'un secret tel qu'un mot de passe, un secret partagé ou une clé maître.
- cryptography№ 533
HMAC
Construction de MAC à clé bâtie sur une fonction de hachage cryptographique, définie par RFC 2104 et FIPS 198-1.
- cryptography№ 900
PBKDF2
Fonction de dérivation de clé basée sur mot de passe définie par PKCS #5 / RFC 8018, qui applique une fonction pseudo-aléatoire avec un nombre configurable d'itérations et un sel.
- cryptography№ 068
Argon2
Fonction moderne de hachage de mots de passe et de dérivation de clés à coût mémoire, lauréate du Password Hashing Competition 2015 et spécifiée dans RFC 9106.
- network-security№ 1279
TLS (Transport Layer Security)
Protocole cryptographique standardisé par l'IETF qui fournit confidentialité, intégrité et authentification au trafic entre deux applications en réseau.
- cryptography№ 352
Échange de clés Diffie–Hellman
Protocole à clé publique permettant à deux parties de dériver un secret partagé sur un canal non sûr sans jamais le transmettre, fondé sur la difficulté du logarithme discret.