Skip to content

Glossary

Sel

Un sel est une valeur aléatoire unique ajoutée à un mot de passe avant le hachage ; il déjoue les rainbow tables et fait que des mots de passe identiques produisent des hash différents.

Un sel est une valeur aléatoire unique combinée à un mot de passe avant son hachage. Son rôle est de rendre chaque hash stocké différent, même lorsque deux utilisateurs choisissent le même mot de passe. Comme le sel modifie l'entrée, des mots de passe identiques ne partagent plus la même empreinte, et un attaquant ne peut pas casser plusieurs comptes d'un coup en repérant des hash répétés.

Le salage déjoue aussi les rainbow tables précalculées : une table conçue pour du MD5 non salé est inutile contre des hash salés, car il faudrait une table distincte pour chaque sel possible. Les formats de mots de passe modernes comme bcrypt et sha512crypt stockent le sel à l'intérieur même de la chaîne du hash.

Réserve importante : un sel protège contre le précalcul, pas contre la vitesse. Il ne ralentit pas une attaque essai par essai, et doit donc être associé à un algorithme lent pour être efficace. Voir pourquoi les hash rapides sont dangereux pour le tableau complet.