SHA-1
SHA-1 est une fonction de hachage cryptographique de 160 bits conçue par la NSA ; Google a publié la collision SHAttered en 2017 et elle est dépréciée dans les standards.
Objectif
Elle fournit un condensat de message de 160 bits ; autrefois utilisée pour les certificats TLS et Git, elle est dépréciée à cause des attaques par collision.
Mécanisme
Elle traite l'entrée en blocs de 512 bits en maintenant un état de 160 bits (cinq mots de 32 bits). Chaque bloc traverse 80 étapes de transformations non linéaires mettant à jour l'état. L'attaque SHAttered de 2017 construit une collision à environ 2^63 de complexité.
Cas d’usage
- Hachage des objets Git (migration vers SHA-256)
- HMAC-SHA1 (encore sûr)
- Certificats numériques hérités
- Exemples pédagogiques
Exemples
- entrée
helloOutputaaf4c61ddcc5e8a2dabeede0f3bde2d0d4b2f2160 bits = 40 hex characters
Erreurs courantes
- Using SHA-1 for signatures in new systems
- Use SHA-256 or SHA-3
Termes associés
MD5
MD5 est une fonction de hachage cryptographique de 128 bits conçue par Ronald Rivest ; prouvée non sûre par des attaques par collision, elle ne sert plus aujourd'hui qu'à des usages sans exigence de sécurité comme les sommes de contrôle. GLOSSAIRE
SHA-256
SHA-256 est le membre de la famille SHA-2 à sortie de 256 bits, très utilisé dans TLS, les blockchains et les applications cryptographiques, sans attaque pratique connue. GLOSSAIRE
SHA-512
SHA-512 est le membre de la famille SHA-2 à sortie de 512 bits ; plus rapide que SHA-256 sur les plateformes 64 bits, il offre une marge de sécurité supérieure. GLOSSAIRE
Collision Resistance
La résistance aux collisions est la propriété d'une fonction de hachage selon laquelle il est infaisable de trouver deux entrées distinctes produisant le même condensé. L'attaque des anniversaires dicte la longueur de sortie requise. GLOSSAIRE