Une fonction de hachage cryptographique est un algorithme déterministeh:{0,1}{0,1}nh:\{0,1\}^{*} \to \{0,1\}^{n}qui mappe une entrée de longueur arbitraire (une chaîne d'octets) à une sortie de longueur fixe appelée résumé (valeur de hachage). Le déterminisme signifie que des entrées identiques produisent des résumés identiques. Dans les protocoles blockchain, les valeurs de résumé sont traitées comme des engagements : la modification de tout octet pertinent pour le protocole modifie le résumé.

Propriétés de sécurité utilisées dans la pratique

La sécurité cryptographique s'exprime en termes informatiques. Les objectifs typiques sont : • Résistance pré-image : étant donné y, il est impossible de trouver x tel queh(x)=yh(x)=y. • Résistance à la seconde préimage : étant donné x, il est impossible de trouverxxx' \neq xavech(x)=h(x)h(x')=h(x). • Résistance aux collisions : il est impossible de trouver desx,xx,x'tel queh(x)=h(x)h(x)=h(x'). Ici, « infaisable » signifie qu'aucun algorithme pratique connu ne peut accomplir la tâche dans des limites de ressources réalistes.

Où le hachage apparaît-il dans une blockchain

1) Liaison de chaîne : les en-têtes de bloc incluent un champ avec le hachage de l'en-tête précédent. Si un octet d'en-tête change, le nouveau hachage ne correspond plus, donc la falsification est détectée par recalcul. 2) Engagement de transaction : de nombreuses transactions sont résumées dans une seule racine Merkle incluse dans l'en-tête. Une preuve Merkle permet à un client léger de vérifier qu'une transaction est incluse dans l'ensemble validé par cette racine, sans télécharger le bloc complet.

Construction du résumé (conceptuel)
Collecter les données du protocole
champs d'en-tête + ensemble tx
Calculer la racine de Merkle
txs → racine (engagement)
En-têtes de liens
champ de hachage précédent
Vérifier
recalculer et comparer
Hachage ou chiffrement
AspectHachageCryptage
Objectif principalIntégrité / engagementConfidentialité (plus intégrité avec AEAD)
RéversibilitéConçu pour être à sens uniqueRéversible avec la bonne clé
Matériel cléNon requis pour le hachage de baseObligatoire pour symétrique ; pk/sk pour asymétrique
Propriétés clés à retenir
Ne traitez pas « n’importe quel hachage » comme équivalent : les règles de codage des octets du protocole et l’algorithme de hachage exact déterminent les valeurs de résumé. Utilisez toujours l'algorithme standardisé spécifié par le protocole et les implémentations auditées.