Skip to content

Glossary

Fonction de dérivation de clé (KDF)

Une fonction de dérivation de clé transforme un mot de passe en clé cryptographique via un processus délibérément lent, rendant chaque essai coûteux pour un attaquant.

Une fonction de dérivation de clé (KDF) dérive une clé cryptographique de longueur fixe à partir d'un mot de passe, typiquement pour chiffrer des données ou produire une valeur qu'il est sûr de stocker en vue d'une vérification ultérieure. Contrairement à une fonction de hash brute, une KDF est conçue pour être lente à dessein : elle répète son calcul interne des milliers ou des millions de fois, ou impose un usage mémoire important, de sorte que la calculer une fois pour une connexion légitime passe inaperçu, mais la calculer des milliards de fois pour une attaque ne l'est pas.

bcrypt, sha512crypt et Argon2 sont toutes des KDF conçues pour le stockage de mots de passe ; PBKDF2 et les étapes d'étirement de clé à l'intérieur du chiffrement des archives RAR5 et 7-Zip sont des KDF conçues pour transformer un mot de passe en clé de chiffrement. Malgré ces usages différents, l'objectif de conception est le même — voir Argon2 vs bcrypt vs scrypt pour comparer les principales KDF de stockage de mots de passe.

Le nombre d'itérations ou le paramètre de coût est ce qui distingue une KDF d'un hash rapide à une seule passe comme MD5 : c'est le choix de conception délibéré qui rend la force brute coûteuse plutôt que gratuite, ce qui est tout l'argument derrière pourquoi les hash rapides sont dangereux.