• Convertit des séquences de caractères de longueurs différentes en séquences de même longueur.
• Donne à des mots de passe différents une quantité définie de caractères autorisés.
• La conversion inverse, vers la séquence initiale, est exclue.
Le résultat s'appelle aussi empreinte numérique (ou « valeur de hachage », « hash »).
🔐 Communication chiffrée entre serveur web et navigateur (SSL/TLS), identifiants de session, mise en cache.
🔑 Protection de données sensibles : mots de passe, analyses web, moyens de paiement.
✍️ Signature d'e-mails et vérification de fichiers.
Deux messages presque identiques donnent des empreintes complètement différentes. C'est ce qui permet de détecter la moindre modification (intégrité).
Chaque case est un des 256 bits de l'empreinte : ■ différent, ■ identique. En moyenne, environ la moitié des bits changent.
Il ne doit pas être possible de retrouver les données initiales. Mais si l'entrée est courte et prévisible, un attaquant peut simplement tout essayer.
Il existe forcément des collisions (il y a plus d'entrées possibles que d'empreintes), mais elles doivent être introuvables en pratique. Essai sur une empreinte volontairement tronquée :
Rapide est un atout pour vérifier des fichiers… et un défaut pour stocker des mots de passe (onglet suivant).
Un site ne doit pas stocker les mots de passe en clair : il stocke leur empreinte. À la connexion, il hache ce que l'utilisateur tape et compare. Formule du cours :
Argon2 et PBKDF2 sont volontairement lents : ils répètent le calcul des milliers de fois. Pour l'utilisateur légitime ce n'est rien ; pour un attaquant qui teste des milliards de mots de passe, c'est énorme.
Principe de PBKDF2 : SHA-256 répété N fois (la vraie norme utilise HMAC, ici simplifié).
| Empreinte de l'envoyé | |
| Empreinte du reçu |
La signature ne chiffre pas le message : elle apporte seulement la preuve de son intégrité (et de l'origine). Les contenus confidentiels doivent être chiffrés en plus.
Ici l'étape « chiffrer l'empreinte avec la clé privée » n'est pas simulée : voir l'onglet « Signature numérique » de la page PGP.
Le site de téléchargement publie l'empreinte du fichier. Après téléchargement, on calcule celle du fichier reçu : si les deux sont identiques, le fichier n'a pas été modifié ni corrompu.
Logiciels : 7-Zip, Hash Generator, HashTab, QuickHash.
| Algorithme | Empreinte | Problème |
|---|---|---|
| MD5 | 128 bits | Collisions faciles à produire (dès 2004) |
| SHA-1 | 160 bits | Première collision réelle publiée en 2017 |
| Algorithme | Empreinte | Usage |
|---|---|---|
| SHA-256 | 256 bits | Intégrité, signatures |
| SHA-512 | 512 bits | Intégrité, signatures |
| Argon2 | variable | Mots de passe (lent, gourmand en mémoire) |
| PBKDF2 | variable | Mots de passe (itérations) |
Pour signer, on ne chiffre pas tout le message avec RSA : on chiffre son empreinte (petite, de taille fixe).
Rapide SHA-256/512 : vérifier des fichiers, signer.
Lent Argon2/PBKDF2 : stocker des mots de passe.
SHA-3 (autre construction, standard NIST 2015), bcrypt, scrypt, et HMAC (empreinte avec clé secrète, qui garantit aussi l'authenticité).
Choisis une réponse par question. La correction apparaît immédiatement.