Définition des fonctions de hachage cryptographique



Que sont les fonctions de hachage cryptographiques ?

Une fonction de hachage cryptographique est une fonction mathématique utilisée en cryptographie. Les fonctions de hachage typiques prennent des entrées de longueurs variables pour renvoyer des sorties de longueur fixe.

Une fonction de hachage cryptographique combine les capacités de transmission de messages des fonctions de hachage avec des propriétés de sécurité.

Points clés à retenir

  • Les fonctions de hachage sont des fonctions mathématiques qui transforment ou « mapper » un ensemble donné de données en une chaîne de bits de taille fixe, également connue sous le nom de « valeur de hachage ».
  • Les fonctions de hachage sont utilisées en cryptographie et ont des niveaux de complexité et de difficulté variables.
  • Les fonctions de hachage sont utilisées pour la crypto-monnaie, la sécurité des mots de passe et la sécurité des messages.

Comment fonctionnent les fonctions de hachage cryptographique

Les fonctions de hachage sont des structures de données couramment utilisées dans les systèmes informatiques pour des tâches, telles que la vérification de l’intégrité des messages et l’authentification des informations. Bien qu’ils soient considérés comme cryptographiquement « faibles » car ils peuvent être résolus en temps polynomial, ils ne sont pas facilement déchiffrables.

Les fonctions de hachage cryptographique ajoutent des fonctionnalités de sécurité aux fonctions de hachage typiques, ce qui rend plus difficile la détection du contenu d’un message ou d’informations sur les destinataires et les expéditeurs.

En particulier, les fonctions de hachage cryptographique présentent ces trois propriétés :

  • Ils sont « sans collision ». Cela signifie que deux hachages d’entrée ne doivent pas correspondre au même hachage de sortie.
  • Ils peuvent être cachés. Il devrait être difficile de deviner la valeur d’entrée d’une fonction de hachage à partir de sa sortie.
  • Ils doivent être adaptés aux puzzles. Il devrait être difficile de sélectionner une entrée qui fournit une sortie prédéfinie. Ainsi, l’entrée doit être sélectionnée à partir d’une distribution aussi large que possible.

Les trois propriétés décrites ci-dessus sont souhaitables mais elles ne peuvent pas toujours être mises en œuvre dans la pratique. Par exemple, la disparité des espaces d’échantillonnage pour les hachages d’entrée et les sorties garantit que les collisions sont possibles. Par exemple, en 2017, la MIT Digital Currency Initiative a découvert une vulnérabilité de collision dans IOTA.

Exemples de fonctions de hachage cryptographiques

Les fonctions de hachage cryptographique sont largement utilisées dans les crypto-monnaies pour transmettre des informations de transaction de manière anonyme. Par exemple, Bitcoin, la crypto-monnaie originale et la plus grande, utilise la fonction de hachage cryptographique SHA-256 dans son algorithme. De même, IOTA, une plate-forme pour l’Internet des objets, possède sa propre fonction de hachage cryptographique, appelée Curl.

Cependant, les hachages ont d’autres applications dans le monde réel. Voici quelques-unes des applications cryptographiques les plus courantes :

Vérification du mot de passe

Le stockage des mots de passe dans un fichier texte ordinaire est dangereux, donc presque tous les sites stockent les mots de passe sous forme de hachage. Lorsqu’un utilisateur saisit son mot de passe, celui-ci est haché et le résultat est comparé à la liste des valeurs hachées stockées sur les serveurs de l’entreprise. Il ne s’agit toutefois pas d’une pratique infaillible, comme le démontre la collection #1 de 21 millions de mots de passe volés, découverte en 2019.

Génération et vérification de signature

La vérification des signatures est un processus mathématique utilisé pour vérifier l’authenticité de documents ou de messages numériques. Une signature numérique valide, lorsque les conditions préalables sont remplies, donne à son destinataire une preuve solide que le message a été créé par un expéditeur connu et que le message n’a pas été altéré en transit. Un schéma de signature numérique se compose généralement de trois algorithmes : un algorithme de génération de clé ; un algorithme de signature qui, étant donné un message et une clé privée, produit une signature ; et un algorithme de vérification de signature. Merkle Trees, une technologie utilisée dans les crypto-monnaies, est une sorte de signature numérique.

Vérification de l’intégrité des fichiers et des messages

Les hachages peuvent être utilisés pour s’assurer que les messages et les fichiers transmis de l’expéditeur au destinataire ne sont pas altérés pendant le transit. La pratique construit une « chaîne de confiance ». Par exemple, un utilisateur peut publier une version hachée de ses données et de la clé afin que les destinataires puissent comparer la valeur de hachage qu’ils calculent à la valeur publiée pour s’assurer qu’ils s’alignent.

Laisser un commentaire