Mon compte Je m'abonne
logo Fiches pratiques

Qu'est-ce que le hachage (hashing) ?

Publié par Philippe Leroy le | Mis à jour le
Hashage ou hashing : de quoi s'agit-il ?
© momius
Hashage ou hashing : de quoi s'agit-il ?

Le hachage consiste à créer une signature numérique qui permet de faciliter et de sécuriser l'accès à des données et l'échange de fichiers.

Que signifie hachage ?

Le hachage, ou hashing en anglais, consiste littéralement à " hacher " des données, un message ou encore un texte afin de les réduire à une suite de caractères de courte longueur, appelée condensat. Pour cela, il faut utiliser un algorithme de hachage.

Trois impératifs doivent être respectés :

  • La fonction de hachage doit être à sens unique ;
  • Il ne doit pas y avoir de collisions ; une fonction de hachage parfaite doit être en mesure d'éviter toute collision ;
  • La fonction de hachage doit être rapide pour être efficace ;
  • La moindre modification du contenu ou message d'origine doit entraîner une modification conséquente de la valeur de hachage.

Fonction à sens unique ou one way function

Lors du processus de hashing, la valeur créée ne doit pas permettre de reproduire le message ou le mot de passe " condensé " (hash). C'est le One Way function.

Absence nécessaire de collisions

Bien que ce soit très rare, il arrive que deux ensembles de données (message, mot de passe, etc.) donnent lieu à une même empreinte ou signature numérique. La fonction de hachage utilisée doit permettre de l'éviter au maximum.

Quels sont les usages du hachage ?

Le hachage aide à renforcer encore plus la cybersécurité. Il fait partie des dispositifs de sécurisation et d'authentification utilisés par les entreprises et les utilisateurs du Web. Voici la liste de ses usages les plus fréquents :

  • Sécurisation et authentification des informations d'identité en cryptant les mots de passe grâce à la cryptographie;
  • Sécurisation des bases de données et des échanges d'informations ;
  • Sécurisation des e-mails en leur attribuant des clés qui représentent leur signature numérique ;
  • Authentification d'un message, d'un document, d'un fichier ;
  • Utilisation d'une table de hachage.

Les différentes fonctions de hachage

Un " hash " ou valeur de hachage est générée à l'aide d'une fonction de hachage. Il en existe trois principales différentes sortes.

  • La fonction de hachage MD5 qui permet de créer une empreinte numérique de 128 bits ; elle est très répandue, mais a l'inconvénient d'offrir de moins en moins de sécurité ;
  • La fonction de hachage SHA1 qui génère une signature numérique de 160 bits ; bien qu'elle ait été conçue pour remplacer la MD5, elle présente des failles avec des risques de collisions potentiels ;
  • Les fonctions SHA-2 (SHA-256, SHA-384, SHA-512) utilisent des empreintes de 256, 384 et 512 bits ; elles sont réputées ne présenter aucune faille.

C'est quoi une fonction de hachage cryptographique ?

Le hachage appliqué à la cryptographie permet le chiffrement d'un message crypté en utilisant un certificat, comme le certificat SSL par exemple. Le hachage cryptographique repose soit sur la cryptographie symétrique, soit sur la cryptographie asymétrique.

Le chiffrement symétrique consiste à échanger une clé de cryptage et décryptage unique entre plusieurs utilisateurs. Le chiffrement asymétrique, quant à lui, utilise 2 clés pour crypter et décrypter des données chiffrées : une clé publique partagée par les utilisateurs, et une clé privée. Celle-ci sert à déchiffrer le message.