Cryptographie
KDF : Key Derivation Function. « Fonction de dérivation de clé », par analogie avec le moulin qui transforme n'importe quel grain en farine calibrée, prête pour la recette.
Deux familles : Les KDF d'extraction et d'expansion, comme HKDF, tirent des clés uniformes d'un secret déjà riche en entropie, par exemple un secret Diffie-Hellman. Les KDF de mots de passe, comme Argon2id, scrypt, bcrypt ou PBKDF2, font l'inverse : elles ralentissent volontairement le calcul.
Lenteur délibérée : Une carte graphique calcule des milliards de condensés rapides par seconde ; une KDF de mot de passe impose du temps et de la mémoire à chaque essai. On paie quelques millisecondes à la connexion, l'attaquant les paie des milliards de fois : rarement la lenteur aura été un tel acte de civisme.
Paramètres : Le choix de l'algorithme ne suffit pas : coût mémoire, nombre d'itérations et sel unique par entrée comptent autant. On stocke ces paramètres avec le résultat pour pouvoir les durcir plus tard.
Séparation des usages : Une même clé maîtresse donne plusieurs clés distinctes grâce à une étiquette de contexte, ce qui évite d'employer la même clé pour chiffrer et pour authentifier.
Ce qui arrive si on s'en passe
Sans KDF, un mot de passe stocké sous forme de condensé rapide tombe en quelques minutes dès que la base fuit : du matériel grand public teste des milliards de candidats par seconde. Sans sel unique, deux comptes au même mot de passe partagent le même condensé, et des tables précalculées cassent tout le lot d'un coup. Côté protocoles, employer directement un secret brut comme clé expose ses biais statistiques, et réutiliser une même clé pour plusieurs usages laisse une faiblesse de l'un contaminer l'autre. La dérivation n'ajoute aucun secret ; elle empêche d'en gaspiller.
Explication de la marmotte
Un mot de passe choisi par une personne est souvent court et facile à deviner. Pour le ranger ou s'en servir comme clé, on le passe dans une sorte de moulin mathématique qui le transforme en une longue suite de caractères méconnaissable. Ce moulin est volontairement lent : pour quelqu'un qui se connecte, attendre une fraction de seconde ne change rien. Pour un pirate qui voudrait essayer des milliards de mots de passe, chaque essai coûte ce même petit temps, et l'attaque devient beaucoup trop longue pour valoir la peine.
Où ce terme est utilisé
- Établir une clé : Diffie-Hellman, KEM et HPKE (9 occurrences)
- Transformer mots de passe et secrets applicatifs en clés (4 occurrences)
- Condensés cryptographiques : propriétés, constructions et familles (3 occurrences)
- Authentifier les personnes et les services (2 occurrences)
- Créer, vérifier et utiliser les clés dès le départ (2 occurrences)
- Chaînes de blocs, wallets et cryptographie économique (1 occurrence)
- Courbes elliptiques : compacité, validation et pièges (1 occurrence)
- Le post-quantique hybride (1 occurrence)
