Un hachage est une chaîne de longueur fixe (résumé) générée à partir de données d'entrée de toute taille à l'aide d'une fonction de hachage. Ce processus est unidirectionnel : il est impossible de déchiffrer ou d'inverser un hachage pour obtenir les données d'origine. C'est pourquoi le terme « chiffrement par hachage » est inapproprié. Le hachage n'est pas du chiffrement.
Parmi les algorithmes de hachage courants, on trouve :
MD5 (obsolète pour des raisons de sécurité)
SHA-1 (obsolète)
SHA-256, SHA-512 (appartenant à la famille SHA-2)
SHA-3
bcrypt, scrypt, Argon2 (pour un hachage sécurisé des mots de passe)
Le hachage sert à plusieurs fins en matière de cybersécurité et d'intégrité des données. Les principales raisons d'utiliser le hachage sont les suivantes :
Intégrité des données : Garantit que les données n'ont pas été altérées (par exemple, sommes de contrôle de fichiers).
Stockage des mots de passe : Stocke les mots de passe de manière sécurisée en comparant les hachages plutôt qu'en stockant les mots de passe réels.
Signatures numériques : Les hachages sont signés plutôt que de gros documents.
Efficacité : Les petites valeurs de hachage de taille fixe sont plus rapides à comparer que les grands blocs de données.
Les hachages étant déterministes et rapides, ils sont parfaits pour les tâches de vérification.
L'utilisation d'une fonction de hachage implique :
Saisir des données (par exemple, un fichier, une chaîne ou un mot de passe).
Traitement des données avec un algorithme de hachage.
Obtenir un condensé, qui est une chaîne de taille fixe représentant de manière unique la saisie.
Pour la protection par mot de passe :
Combiner le mot de passe avec un sel (données aléatoires).
Appliquer une fonction de hachage sécurisée (par exemple, bcrypt ou Argon2).
Stocker le résultat Hachez et salez en toute sécurité.
Les hachages étant irréversibles, vous vérifiez la saisie (comme un mot de passe) en la hachant à nouveau et en comparant le nouveau hachage à celui enregistré.
Le hachage est recommandé lorsque :
L’intégrité des données doit être vérifiée (par exemple, pour vérifier leur corruption ou leur falsification).
Les mots de passe doivent être stockés de manière sécurisée (ni chiffrés ni en texte clair).
Les signatures numériques et les certificats sont impliqués (le hachage garantit l’authenticité des documents).
Données rapides Une comparaison est nécessaire (par exemple, dans les tables de hachage ou les caches).
Le hachage n'est pas adapté à la récupération ultérieure des données d'origine : c'est à cela que sert le chiffrement.