BlockPulseNews
Définition

Keccak-256 vs SHA-256 : définition

Keccak-256 et SHA-256 sont deux fonctions de hachage cryptographiques produisant une empreinte de 256 bits : Bitcoin s'appuie sur SHA-256, Ethereum sur Keccak-256, et elles donnent des résultats différents pour une même donnée.

Thème : Les bases de la crypto

Keccak-256 vs SHA-256 : comment ça marche ?

Une fonction de hachage transforme n'importe quelle donnée en une empreinte de taille fixe. Il est pratiquement impossible de retrouver la donnée à partir de l'empreinte, ou de trouver deux données ayant la même. SHA-256 appartient à la famille SHA-2, standardisée par l'agence américaine NIST. Bitcoin l'utilise partout : le minage consiste à appliquer deux fois SHA-256 à l'en-tête de bloc, et les identifiants de transactions en dépendent aussi. Keccak, de son côté, est l'algorithme qui a remporté le concours ayant conduit au standard SHA-3.

Subtilité importante : Ethereum utilise Keccak-256 dans sa version d'origine, avant que le NIST n'ajuste la règle de remplissage (padding) lors de la standardisation de SHA-3. Keccak-256 et SHA3-256 donnent donc des résultats différents, même si on les confond souvent. Ethereum s'en sert pour dériver les adresses à partir des clés publiques, calculer les sélecteurs de fonctions des smart contracts ou organiser leur stockage. Ces fonctions ne sont pas interchangeables : utiliser l'une à la place de l'autre produit des adresses ou des vérifications erronées.

Un exemple concret

Imaginons qu'un développeur porte un outil de Bitcoin vers Ethereum et calcule ses empreintes avec la bibliothèque SHA-256 qu'il utilisait déjà. Les vérifications de signatures échouent toutes, et les adresses qu'il dérive ne correspondent à rien. En remplaçant la fonction par Keccak-256, et non par la bibliothèque SHA3-256 standard, tout rentre dans l'ordre.

Les risques à connaître

Le risque est surtout technique : confondre Keccak-256 et SHA3-256, ou mélanger les fonctions d'un écosystème à l'autre, peut conduire à envoyer des fonds vers des adresses inaccessibles ou à des contrats qui vérifient mal des preuves. Dans les échanges atomiques entre chaînes, il faut une fonction de hachage disponible des deux côtés.

À ne pas confondre avec

  • Poseidon : Poseidon est une fonction de hachage conçue pour être efficace dans les preuves à divulgation nulle de connaissance, où SHA-256 et Keccak-256 sont coûteuses.
  • Arbre de Merkle : Un arbre de Merkle est une structure de données qui utilise une fonction de hachage, et non une fonction de hachage en soi.

Questions fréquentes sur Keccak-256 vs SHA-256

Keccak-256 et SHA-3, est-ce la même chose ?

Presque, mais pas exactement. Le standard SHA3-256 a modifié le remplissage de Keccak, si bien que les deux produisent des empreintes différentes ; Ethereum utilise la version Keccak d'origine.

Pourquoi Bitcoin utilise-t-il SHA-256 ?

À sa création, SHA-256 était une fonction standardisée, largement étudiée et réputée sûre. Elle sert à la fois au minage et à l'identification des blocs et des transactions.

Termes liés

Dans le même thème : Les bases de la crypto

Tous les termes du thème Les bases de la crypto →

À lire

L'actualité : Les bases de la crypto

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir

Les fiches des projets cités

Pour aller plus loin sur les projets mentionnés dans cette définition.

Approfondir avec l'Académie : La Cryptomonnaie Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en K

← Tout le lexique crypto de A à Z