# Déroulé HKDF Extract et Expand SP 800-56C

Affiche chaque étape HMAC de HKDF Extract+Expand pour la dérivation de clés, avec PRK, T(n) et OKM.

> Page canonique: https://elysiatools.com/fr/tools/sp800-56c-hkdf-extract-and-expand-walkthrough

- **Catégorie:** Security

- **Mots-clés:** hkdf, sp 800-56c, rfc 5869, dérivation de clé, hmac, ecdh

## Présentation

Déroulé déterministe SP 800-56C/RFC 5869 pour secret ECDH, développement et vecteurs de test, pas un service de secrets.

## Entrées

- **Préréglage d entrée** (select)
- **Hachage** (select)
- **Encodage d entrée** (select)
- **Matériel de clé d entrée (IKM)** (textarea): Hex, text, or Base64 according to input encoding
- **Sel** (textarea): Optional; empty uses a zero-filled HashLen salt
- **Info** (textarea): Optional context / protocol label
- **Longueur de sortie (octets)** (number)

## Quand l'utiliser

- Vérifier un vecteur de test HKDF conforme à la RFC 5869.
- Comprendre la dérivation de clés à partir d’un secret partagé ECDH.
- Examiner les étapes Extract et Expand avec un contexte, un sel et une longueur de sortie définis.

## Fonctionnement

- Sélectionnez un préréglage ou saisissez le matériel de clé d’entrée, le sel et l’info.
- Choisissez l’algorithme de hachage et l’encodage des valeurs saisies.
- Indiquez la longueur de sortie entre 1 et 4096 octets.
- Le résultat HTML affiche le PRK, les blocs T(n) et l’OKM généré par HKDF.

## Cas d'usage

- Comparer un calcul HKDF avec le premier vecteur de test RFC 5869 en SHA-256.
- Analyser la dérivation d’une clé depuis un secret partagé ECDH.
- Tester l’influence du hachage, du sel, de l’info et de la longueur sur l’OKM.

## Questions fréquentes

### Qu’est-ce que HKDF Extract et Expand ?

Extract transforme le matériel de clé d’entrée en PRK, puis Expand dérive l’OKM à partir du PRK et du contexte.

### Quels algorithmes de hachage sont disponibles ?

Le déroulé prend en charge SHA-256, SHA-384 et SHA-512.

### Quels encodages puis-je utiliser pour les entrées ?

Les valeurs peuvent être saisies en hexadécimal, en texte UTF-8 ou en Base64.

### Le sel et l’info sont-ils obligatoires ?

Non. Le sel et l’info sont facultatifs. Sans sel, HKDF utilise un sel rempli de zéros de longueur HashLen.

### Quelle longueur de sortie puis-je demander ?

La longueur de sortie doit être comprise entre 1 et 4096 octets.

## Outils associés

- [Générateur de paire de clés SSH](https://elysiatools.com/fr/tools/ssh-key-generator): Génère une paire de clés SSH (Ed25519 recommandé, ou RSA 4096, ECDSA P-256) avec la clé publique au format OpenSSH prête pour ~/.ssh/authorized_keys, une empreinte SHA256 et une clé privée PEM. Chiffrement facultatif par phrase secrète. S'exécute localement.
- [Générateur de PKCE Code Verifier et Challenge](https://elysiatools.com/fr/tools/pkce-code-verifier-generator): Génère, valide et vérifie les paires code_verifier / code_challenge PKCE (RFC 7636) OAuth2 / OIDC. Trois modes : (1) générer une nouvelle paire depuis des octets aléatoires cryptographiques (256/384/512/768 bits), (2) auditer un verifier existant selon le RFC — longueur (43–128), charset \[A-Za-z0-9-._~\] et ≥256 bits d'entropie, et (3) vérifier une paire en recalculant BASE64URL(SHA256(verifier)). Construit en option l'URL complète de requête d'autorisation et le corps d'échange de token. Complète le nonce-generator générique (qui n'émet que la paire) avec l'audit de conformité RFC et la vérification de paire.
- [Générateur de codes TOTP / HOTP hors ligne](https://elysiatools.com/fr/tools/totp-hotp-offline-generator): Génère des mots de passe à usage unique TOTP RFC 6238 (6/8 chiffres, 30/60 s) et HOTP RFC 4226 (par compteur) à partir d’un secret base32, hors ligne, avec HMAC-SHA1/256/512, et exporte une URI otpauth://
- [Extracteur de Colonnes de Données](https://elysiatools.com/fr/tools/data-column-extractor): Extrait des colonnes spécifiques de données tabulaires avec support pour divers formats et sélection flexible de colonnes
- [Calculateur d'entropie](https://elysiatools.com/fr/tools/entropy-calculator): Mesure l'aléatoire de toute donnée — entropie de Shannon (bits/symbole), min-entropie (effort de devinette dans le pire cas), taille d'alphabet, taux de doublons et un temps moyen de cassage par force brute à un taux de hachage choisi. Noté Fort (min-entropie ≥128), Moyen (64-127) ou Faible (<64).
- [Générateur et Vérificateur HMAC](https://elysiatools.com/fr/tools/hmac-generator-verifier): Calcule une signature HMAC d’un message + secret avec SHA-1/SHA-2/SHA-3/BLAKE2, ou vérifie une signature entrante (comparaison en temps constant), avec préréglages Stripe / Slack / GitHub
- [Chiffrement / Déchiffrement RSA](https://elysiatools.com/fr/tools/rsa-encrypt-decrypt): Chiffre du texte avec une clé publique RSA ou déchiffre le texte chiffré avec la clé privée correspondante, en utilisant le padding OAEP (SHA-1 ou SHA-256). Gère les longs messages par blocs. Les clés et données restent locales. PKCS#1 v1.5 n'est pas proposé (Node le désactive pour le déchiffrement à cause des attaques Bleichenbacher).
- [Extracteur de Paramètres URL](https://elysiatools.com/fr/tools/url-parameter-extractor): Extraire et analyser les paramètres des URLs incluant les chaînes de requête, fragments de hash et segments de chemin

## Exemples

- [Exemples de Traitement d'Images Android Java](https://elysiatools.com/fr/samples/android-image-processing-java): Exemples de traitement d'images Android Java incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Android Kotlin](https://elysiatools.com/fr/samples/android-image-processing-kotlin): Exemples de traitement d'images Android Kotlin incluant lecture/écriture, mise à l'échelle et conversion de format
- [Exemples de Traitement d'Images Web Python](https://elysiatools.com/fr/samples/web-image-processing-python): Exemples de traitement d'images Web Python utilisant PIL/Pillow incluant la lecture, l'enregistrement, le redimensionnement et la conversion de format
- [Exemples de Traitement d'Images Web Rust](https://elysiatools.com/fr/samples/web-image-processing-rust): Exemples de traitement d'images Web Rust incluant lecture/écriture, redimensionnement et conversion de format
