Rainbow Table
Une table arc-en-ciel est une table précalculée améliorant la méthode de Martin Hellman pour inverser les fonctions de hachage, échangeant de l'espace contre du temps pour casser des hachés de mots de passe.
Objectif
Réduit massivement le stockage grâce à des chaînes de hachage précalculées, cassant efficacement des hachés de mots de passe non salés dans un compromis temps-espace.
Mécanisme
Précalcule des chaînes de hachage : répéter hacher-et-réduire d'un point de départ à un point d'arrivée, en ne stockant que les points d'arrivée. Pour chercher, on répète réduire-et-hacher depuis le haché cible jusqu'à correspondre à un point d'arrivée, puis on reconstruit la chaîne depuis le départ pour trouver la préimage. Le sel impose une table indépendante par utilisateur, rendant le précalcul infaisable.
Cas d’usage
- Casser des hachés LM/NTLM non salés
- Pédagogie de la sécurité des hachés de mots de passe
- Outil Ophcrack
- Audits de sécurité
Exemples
- entrée
MD5 without saltOutput8-character alphabetic password cracked in secondsSalt defeats rainbow tables
Erreurs courantes
- Storing password hashes without salt
- Unique per-user salt + slow hash