De la vérification d’intégrité des téléchargements jusqu’à la signature numérique des blockchains, les fonctions de hachage cryptographiques constituent le socle mathématique de la sécurité en ligne.
1. Qu’est-ce qu’une Fonction de Hachage ?
Une fonction de hachage cryptographique est un algorithme mathématique transformant un bloc de données de taille arbitraire en une empreinte hexadécimale de taille fixe (ex. : 256 bits / 64 caractères hexadécimaux pour SHA-256).
2. Les 4 Propriétés Fondamentales de Sécurité
- Déterminisme : Des données d’entrée identiques génèrent immanquablement la même empreinte.
- Résistance à la Pré-image (Sens unique) : Il est impossible de retrouver les données d’origine à partir du hash.
- Résistance à la Seconde Pré-image : Étant donné
m1, il est impossible de concevoirm2tel quehash(m1) == hash(m2). - Résistance aux Collisions : Deux entrées différentes ne doivent jamais produire la même empreinte.
3. L’Effet Avalanche en Pratique
Un algorithme cryptographique rigoureux produit un effet avalanche prononcé : la modification d’une seule lettre modifie plus de 50% des bits de l’empreinte générée :
4. SHA-256 vs SHA-512 vs MD5
Les anciens algorithmes tels que MD5 et SHA-1 sont désormais compromis par des attaques de collision. La référence actuelle repose sur les familles SHA-2 (SHA-256, SHA-512) et SHA-3 (Keccak).
5. Applications Concrètes
Le hachage est omniprésent dans le stockage des mots de passe (avec sel via Argon2/bcrypt), les commits Git, les signatures numériques et le stockage adressable par contenu.