-
Bitcoin
$114500
0.91% -
Ethereum
$3662
2.39% -
XRP
$2.976
2.20% -
Tether USDt
$1.000
0.04% -
BNB
$765.7
1.98% -
Solana
$167.4
3.20% -
USDC
$1.000
0.02% -
TRON
$0.3382
1.87% -
Dogecoin
$0.2049
4.39% -
Cardano
$0.7369
3.39% -
Hyperliquid
$37.76
1.74% -
Stellar
$0.3999
3.65% -
Sui
$3.459
3.53% -
Bitcoin Cash
$570.5
2.64% -
Chainlink
$16.67
3.56% -
Hedera
$0.2426
3.72% -
Ethena USDe
$1.001
0.03% -
Avalanche
$22.03
1.72% -
Litecoin
$121.2
2.71% -
UNUS SED LEO
$8.989
-0.13% -
Toncoin
$3.293
4.67% -
Shiba Inu
$0.00001233
3.47% -
Uniswap
$9.699
3.14% -
Polkadot
$3.660
2.70% -
Dai
$1.000
0.03% -
Monero
$284.7
-1.47% -
Bitget Token
$4.366
2.25% -
Cronos
$0.1444
5.86% -
Pepe
$0.00001051
5.07% -
Aave
$263.8
4.53%
Qu'est-ce que Keccak?
Keccak, standardisé en tant que SHA-3, est crucial dans l'EVM d'Ethereum pour les transactions de hachage et les contrats intelligents, assurant la sécurité de la blockchain.
Apr 08, 2025 at 11:28 am

Keccak est une fonction de hachage cryptographique qui a été sélectionnée comme gagnant de la compétition de fonction de hachage NIST et standardisée par la suite comme SHA-3 (algorithme de hachage sécurisé 3). Dans le monde des crypto-monnaies, Keccak joue un rôle crucial, en particulier dans la blockchain Ethereum, où il est utilisé comme base de la fonction de hachage de la machine virtuelle Ethereum (EVM). Cet article se plongera dans les détails de Keccak, sa signification dans l'écosystème de la crypto-monnaie et comment il est mis en œuvre dans Ethereum.
Les origines et le développement de Keccak
Keccak a été conçu par Guido Bertoni, Joan Daemen, Michaël Peeters et Gilles Van Assche. Le nom «Keccak» est dérivé de la langue Ket, parlé par les Ket en Sibérie. L'algorithme a été introduit pour la première fois en 2008 et a été soumis au concours NIST en 2008. Après des tests et une évaluation rigoureux, Keccak a été sélectionné comme gagnant en 2012 et a été standardisé en tant que SHA-3 en 2015.
La conception de Keccak est basée sur la construction de Sponge, une nouvelle approche de la conception de la fonction de hachage. La construction de l'éponge permet des longueurs de sortie variables et est très flexible, ce qui le rend adapté à un large éventail d'applications cryptographiques. Cette flexibilité est l'une des raisons pour lesquelles Keccak a été choisi pour une utilisation dans Ethereum.
Comment fonctionne Keccak
Keccak fonctionne à l'aide d'une fonction éponge, qui se compose de deux phases: la phase d'absorption et la phase de compression. Pendant la phase d'absorption, le message d'entrée est divisé en blocs de taille fixe et traités par la fonction de permutation de Keccak-F. La phase de compression extrait ensuite la sortie souhaitée de l'état interne de l'éponge.
Voici un aperçu simplifié de la façon dont Keccak traite les données:
- Initialisation : L'état interne de l'éponge est initialisé à une valeur fixe.
- Phase d'absorption : le message d'entrée est rembourré et divisé en blocs. Chaque bloc est xored avec la première partie de l'état interne, puis l'état entier est traité par la fonction de permutation de Keccak-F.
- Phase de compression : Une fois que tous les blocs ont été traités, la sortie souhaitée est extraite de l'état interne en appliquant à plusieurs reprises la fonction de permutation de Keccak-F et en lisant des parties de l'État.
La fonction de permutation de Keccak-F est le noyau de l'algorithme Keccak. Il fonctionne sur un tableau d'état de 5x5 voies, où chaque voie est un nombre fixe de bits (par exemple, 64 bits pour Keccak-F [1600]). La fonction de permutation se compose de cinq séries d'opérations: Theta, Rho, Pi, Chi et Iota. Ces opérations sont conçues pour garantir que la sortie est très imprévisible et résistante à divers types d'attaques.
Keccak à Ethereum
Dans la blockchain Ethereum, Keccak est utilisé comme base de la fonction de hachage de la machine virtuelle Ethereum (EVM), connue sous le nom de Keccak-256 . Cette fonction est utilisée à diverses fins dans l'écosystème Ethereum, notamment:
- Hachage des transactions : chaque transaction du réseau Ethereum est hachée à l'aide de KECCAK-256 pour créer un identifiant unique.
- Hachage de trie d'état : L'état de la blockchain Ethereum est stocké dans une structure de données TRIE, et chaque nœud du Trie est haché à l'aide de Keccak-256.
- Exécution du contrat intelligent : Keccak-256 est utilisé dans des contrats intelligents pour générer des identificateurs uniques pour les événements et les données de hachage.
L'utilisation de Keccak-256 dans Ethereum garantit que la blockchain reste sécurisée et résistante à divers types d'attaques. Les propriétés cryptographiques de Keccak, telles que sa résistance aux attaques de collision et aux attaques de préimage, en font un choix idéal pour sécuriser le réseau Ethereum.
Mise en œuvre de Keccak dans des projets de crypto-monnaie
Pour les développeurs travaillant sur des projets de crypto-monnaie, la mise en œuvre de Keccak peut être une étape cruciale pour assurer la sécurité de leurs systèmes. Voici quelques étapes pour implémenter Keccak dans un projet de crypto-monnaie:
Choisissez la bonne bibliothèque : plusieurs bibliothèques sont disponibles qui implémentent Keccak, comme le package de code Keccak et la bibliothèque SHA-3 dans OpenSSL. Choisissez une bibliothèque bien entretenue et largement utilisée.
Intégrez la bibliothèque : intégrez la bibliothèque choisie dans votre projet. Cela consiste généralement à ajouter la bibliothèque aux dépendances de votre projet et à l'importer dans votre code.
Utilisez la fonction Keccak : utilisez la fonction Keccak fournie par la bibliothèque pour hacher vos données. Par exemple, dans JavaScript utilisant la bibliothèque
keccak
, vous pouvez hacher une chaîne comme ceci:const keccak256 = require('keccak256');
const input = 'Hello, World!';
const hash = keccak256(input);
console.log(hash.toString('hex'));Testez et vérifiez : testez soigneusement votre implémentation pour vous assurer qu'elle produit la sortie correcte. Vous pouvez utiliser des vecteurs de test fournis par l'équipe Keccak pour vérifier votre implémentation.
Optimiser les performances : en fonction des exigences de votre projet, vous devrez peut-être optimiser les performances de votre implémentation Keccak. Cela peut impliquer l'utilisation d'accélération matérielle ou implémenter l'algorithme dans une langue de niveau inférieur comme C ou Rust.
Considérations de sécurité avec Keccak
Bien que Keccak soit considéré comme une fonction de hachage sécurisée, il y a encore des considérations de sécurité dont les développeurs devraient être conscients:
- Résistance à la collision : Keccak est conçu pour être très résistant aux attaques de collision, où deux entrées différentes produisent le même hachage de sortie. Cependant, il est toujours important d'utiliser une taille de sortie suffisante (par exemple, 256 bits) pour minimiser le risque de collisions.
- Résistance à la préimage : Keccak est également conçu pour être résistant aux attaques de préimage, où un attaquant essaie de trouver une entrée qui produit un hachage de sortie spécifique. Cependant, il est important d'utiliser une taille d'entrée suffisamment grande pour garantir que les attaques préimages sont irréalisables.
- Attaques du canal secondaire : les implémentations de Keccak peuvent être vulnérables aux attaques de canaux latéraux, tels que des attaques de synchronisation ou des attaques d'analyse de puissance. Les développeurs devraient prendre soin de mettre en œuvre Keccak d'une manière qui minimise le risque d'attaques de canaux secondaires.
Variantes de keccak et leurs utilisations
Keccak est disponible en plusieurs variantes, chacune avec différents paramètres et des cas d'utilisation. Les variantes les plus couramment utilisées dans l'espace des crypto-monnaies sont:
- Keccak-224 : Cette variante produit une sortie 224 bits et est utilisée dans certaines applications cryptographiques légères.
- KECCAK-256 : Cette variante produit une sortie 256 bits et est la variante la plus couramment utilisée dans Ethereum et d'autres projets de crypto-monnaie.
- KECCAK-384 : Cette variante produit une sortie 384 bits et est utilisée dans des applications qui nécessitent un niveau de sécurité plus élevé.
- KECCAK-512 : Cette variante produit une sortie 512 bits et est utilisée dans des applications qui nécessitent le plus haut niveau de sécurité.
Chaque variante de Keccak est conçue pour fournir un équilibre différent entre la sécurité et les performances, permettant aux développeurs de choisir la variante qui correspond le mieux à leurs besoins spécifiques.
Questions fréquemment posées
Q: En quoi Keccak diffère-t-il de SHA-2?
R: Keccak et SHA-2 sont tous deux des fonctions de hachage cryptographique, mais elles ont des conceptions et des propriétés différentes. Keccak est basé sur la construction de l'éponge, tandis que SHA-2 est basé sur la construction de Merkle - Damgård. Keccak est également conçu pour être plus flexible et résistant à certains types d'attaques, tels que les attaques d'extension de longueur, qui sont une préoccupation pour le SHA-2.
Q: Keccak peut-il être utilisé pour les signatures numériques?
R: Oui, Keccak peut être utilisé dans le cadre d'un schéma de signature numérique. Cependant, il est généralement utilisé en conjonction avec d'autres primitives cryptographiques, telles que la cryptographie de la courbe elliptique, pour créer un algorithme de signature numérique complet.
Q: Keccak est-il utilisé dans d'autres crypto-monnaies en plus d'Ethereum?
R: Oui, Keccak est utilisé dans plusieurs autres crypto-monnaies et projets de blockchain. Par exemple, la crypto-monnaie Iota utilise une variante de Keccak appelée Curl-P, et la crypto-monnaie ZCash utilise Keccak dans le cadre de son algorithme de preuve de travail d'Equihash.
Q: Comment puis-je vérifier l'exactitude d'une implémentation de Keccak?
R: Pour vérifier l'exactitude d'une implémentation de Keccak, vous pouvez utiliser des vecteurs de test fournis par l'équipe Keccak. Ces vecteurs de test sont des paires d'entrée-sortie qui peuvent être utilisées pour vérifier si votre implémentation produit la sortie correcte pour une entrée donnée. Vous pouvez trouver ces vecteurs de test sur le site officiel de Keccak.
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
GODS
$0.1567
27.66%
-
EVA
$8.0
26.43%
-
SPELL
$0.0005661
24.09%
-
ORBR
$0.1013
22.65%
-
BLOCK
$0.2600
20.95%
-
RPL
$8.0
20.41%
- Blockdag, litecoin et cardano: tracer le cours dans les eaux dynamiques de la cryptographie
- 2025-08-07 09:09:06
- Fireverse Token: déclenchant une révolution musicale dans web3
- 2025-08-07 08:27:45
- Ethereum, retraits L2 et décentralisation: une prise de New Yorker
- 2025-08-07 08:32:33
- Avalanche contre Ruvi AI: Les ventes quotidiennes racontent une histoire de perturbation de la cryptographie
- 2025-08-07 06:29:35
- DESOC: La crypto à acheter maintenant pour un avenir décentralisé (et peut-être 43x gains!)
- 2025-08-07 06:50:16
- Arctic Pablo Coin: Surveillant l'onde de la pièce MEME avec une touche déflationniste
- 2025-08-07 07:18:13
Connaissances connexes

Quelle est la différence entre CEFI et Defi?
Jul 22,2025 at 12:28am
Comprendre CEFI et Defi Dans le monde de la crypto-monnaie, le CEFI (finance centralisée) et Defi (financement décentralisé) représentent deux écosyst...

Comment se qualifier pour des parachts de crypto potentiels?
Jul 23,2025 at 06:49am
Comprendre ce que sont les Airdrops crypto Crypto Airdrops se réfère à la distribution de jetons ou de pièces gratuits à un grand nombre d'adresse...

Qu'est-ce qu'un «agriculteur Airdrop» crypto?
Jul 24,2025 at 10:22pm
Comprendre le rôle d'un «agriculteur de platelles» crypto » Un «agriculteur de gardien» de crypto fait référence à un individu qui participe activ...

Quelle est la différence entre une échec et une couche 2?
Jul 20,2025 at 11:35pm
Comprendre le concept des effectifs Une chaîne de ligne est une blockchain séparée qui fonctionne parallèle à la blockchain principale, généralement l...

Qu'est-ce que le protocole de communication inter-blockchain (IBC)?
Jul 19,2025 at 10:43am
Comprendre le protocole de communication inter-blockchain (IBC) Le protocole de communication inter-blockchain (IBC) est un protocole de communication...

Comment le rupture améliore-t-il l'évolutivité?
Jul 20,2025 at 01:21am
Comprendre le fragment dans la blockchain Le Sharding est une technique de partitionnement de la base de données qui est de plus en plus adoptée dans ...

Quelle est la différence entre CEFI et Defi?
Jul 22,2025 at 12:28am
Comprendre CEFI et Defi Dans le monde de la crypto-monnaie, le CEFI (finance centralisée) et Defi (financement décentralisé) représentent deux écosyst...

Comment se qualifier pour des parachts de crypto potentiels?
Jul 23,2025 at 06:49am
Comprendre ce que sont les Airdrops crypto Crypto Airdrops se réfère à la distribution de jetons ou de pièces gratuits à un grand nombre d'adresse...

Qu'est-ce qu'un «agriculteur Airdrop» crypto?
Jul 24,2025 at 10:22pm
Comprendre le rôle d'un «agriculteur de platelles» crypto » Un «agriculteur de gardien» de crypto fait référence à un individu qui participe activ...

Quelle est la différence entre une échec et une couche 2?
Jul 20,2025 at 11:35pm
Comprendre le concept des effectifs Une chaîne de ligne est une blockchain séparée qui fonctionne parallèle à la blockchain principale, généralement l...

Qu'est-ce que le protocole de communication inter-blockchain (IBC)?
Jul 19,2025 at 10:43am
Comprendre le protocole de communication inter-blockchain (IBC) Le protocole de communication inter-blockchain (IBC) est un protocole de communication...

Comment le rupture améliore-t-il l'évolutivité?
Jul 20,2025 at 01:21am
Comprendre le fragment dans la blockchain Le Sharding est une technique de partitionnement de la base de données qui est de plus en plus adoptée dans ...
Voir tous les articles
