CyberGlossary

Cryptographie

Sel

Aussi appelé: Sel cryptographique, Sel de mot de passe

Définition

Valeur aléatoire unique combinée à un mot de passe avant le hachage pour neutraliser les tables arc-en-ciel et différencier le hash de chaque utilisateur.

Un sel cryptographique est une valeur aléatoire non secrète mélangée à un mot de passe avant d'être passé à une fonction de hachage ou à une KDF comme Argon2, scrypt, bcrypt ou PBKDF2. Le sel garantit que deux utilisateurs ayant le même mot de passe obtiennent des hashs stockés différents, neutralisant les tables arc-en-ciel précalculées et forçant les attaques massives à être linéaires plutôt que parallélisables. Il doit faire au moins 16 octets, être généré par un RNG cryptographiquement sûr, être unique par identifiant et stocké à côté du hash ; il n'a pas besoin d'être secret. Les formats modernes (chaîne PHC, $argon2id$..., $2b$..., $scrypt$...) intègrent directement le sel. Le sel est aussi utilisé dans HKDF et dans certains chiffrements asymétriques randomisés pour la même diversification.

Exemples

  • Un hash Argon2id de la forme $argon2id$v=19$m=65536,t=3,p=1$<sel-base64>$<hash-base64>.
  • Un sel aléatoire de 16 octets unique par utilisateur, généré à la création de compte.

Termes liés