Que Sont les Fonctions de Hachage ?
Les fonctions de hachage cryptographiques sont des algorithmes mathématiques qui transforment des données de toute taille en une sortie de taille fixe appelée digest ou hash. Elles sont déterministes — la même entrée produit toujours le même hash. Les bonnes fonctions sont rapides à calculer, impossibles à inverser et produisent des sorties radicalement différentes pour des changements minimes, une propriété appelée effet avalanche.
MD5 et SHA-1 : Algorithmes Hérités
MD5 a été conçu en 1991 et produit un hash de 128 bits. SHA-1 a été conçu par la NSA et produit un hash de 160 bits. Les deux se sont révélés vulnérables aux attaques par collision, où deux entrées différentes produisent le même hash. Ils ne doivent pas être utilisés pour les signatures numériques mais restent utiles pour les checksums non sécuritaires et la déduplication.
SHA-256 et SHA-512 : Standards Modernes
SHA-256 et SHA-512 font partie de la famille SHA-2 conçue par la NSA. SHA-256 produit un hash de 256 bits et est utilisé dans le minage de Bitcoin, les certificats TLS et les signatures numériques. SHA-512 produit un hash de 512 bits et est préféré sur les systèmes 64 bits. Les deux restent cryptographiquement sûrs sans attaques pratiques connues.
Applications Pratiques du Hachage
Le hachage est utilisé partout en informatique moderne : stockage de mots de passe (hashes salés), signatures numériques, blockchain, vérification d'intégrité de fichiers, déduplication de données et tables de hachage en programmation. Pour stocker des mots de passe, utilisez toujours des fonctions spécialisées comme bcrypt ou Argon2 avec salage et étirement de clé.





