Les fonctions de hachage
L'empreinte d'un fichier
Chiffrer protège le secret. Mais comment prouver qu'un fichier n'a pas été modifié en route ? C'est une autre question, et elle demande un autre outil.
La définition
Une fonction de hachage transforme une donnée de taille quelconque en une empreinte de taille fixe.
"Bonjour" → 2a1d5f... (64 caractères)
un film de 4 Go → 9c8e01... (64 caractères)
SHA-256 produit toujours 256 bits, quelle que soit l'entrée.
Les quatre propriétés attendues
- Déterministe — la même entrée donne toujours la même empreinte.
- Rapide à calculer.
- À sens unique — de l'empreinte, on ne peut pas remonter à l'entrée.
- Sans collision praticable — on ne sait pas trouver deux entrées différentes ayant la même empreinte.
L'effet avalanche
Changer un seul bit de l'entrée doit bouleverser l'empreinte entière :
"Bonjour" → 2a1d5f4e...
"Bonjoux" → f70b93c1...
Aucune ressemblance. C'est ce qui rend impossible de deviner l'entrée par tâtonnement progressif : on ne « chauffe » jamais.
Une remarque importante
Une empreinte n'est pas un chiffrement. Il n'y a pas de clé, et surtout pas d'opération inverse : l'information est perdue. Un film de 4 Go ne tient pas dans 256 bits.
Nécessairement, plusieurs entrées partagent donc la même empreinte — ce sont les collisions. Elles existent mathématiquement ; toute la question est qu'on ne sache pas en fabriquer.
C'est là que MD5 et SHA-1 ont échoué : on sait aujourd'hui produire des collisions à volonté. Ils sont à proscrire. SHA-256 reste solide.

