Capitalisation boursière: $2.9684T 0.740%
Volume(24h): $88.392B 46.070%
Indice de peur et de cupidité:

51 - Neutre

  • Capitalisation boursière: $2.9684T 0.740%
  • Volume(24h): $88.392B 46.070%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $2.9684T 0.740%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

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.

Connaissances connexes

Qu'est-ce qu'un arbre Merkle? Quel rôle joue-t-il dans la blockchain?

Qu'est-ce qu'un arbre Merkle? Quel rôle joue-t-il dans la blockchain?

Apr 29,2025 at 07:42am

Un arbre Merkle, également connu sous le nom d'un arbre de hachage, est une structure de données utilisée pour vérifier efficacement l'intégrité et la cohérence des grands ensembles de données. Dans le contexte de la blockchain, les arbres Merkle jouent un rôle crucial dans l'assurance de la sécurité et de l'efficacité du réseau. Cet art...

Que sont POW et POS? Comment affectent-ils les performances de la blockchain?

Que sont POW et POS? Comment affectent-ils les performances de la blockchain?

Apr 28,2025 at 09:21am

Introduction à Pow et PO Dans le monde des crypto-monnaies, les termes preuve de travail (POW) et preuve de participation (POS) sont fréquemment mentionnés en raison de leurs rôles critiques dans la sécurisation et le maintien des réseaux de blockchain. Les deux mécanismes sont utilisés pour valider les transactions et les ajouter à la blockchain, mais ...

Qu'est-ce que le réseau Lightning? Comment résout-il le problème d'évolutivité de Bitcoin?

Qu'est-ce que le réseau Lightning? Comment résout-il le problème d'évolutivité de Bitcoin?

Apr 27,2025 at 03:00pm

Le réseau Lightning est une solution de deuxième couche construite sur la blockchain Bitcoin pour améliorer son évolutivité et sa vitesse de transaction. Il fonctionne comme un réseau hors chaîne de canaux de paiement qui permettent aux utilisateurs de mener plusieurs transactions sans avoir besoin de commander chaque transaction dans la blockchain Bitc...

Qu'est-ce qu'un oracle? Quel rôle joue-t-il dans la blockchain?

Qu'est-ce qu'un oracle? Quel rôle joue-t-il dans la blockchain?

Apr 29,2025 at 10:43am

Un oracle dans le contexte de la technologie de la blockchain fait référence à un service ou un mécanisme qui agit comme un pont entre la blockchain et les sources de données externes. Il est essentiel car les blockchains sont des systèmes intrinsèquement isolés qui ne peuvent pas accéder directement aux données externes. En fournissant cette connexion,...

Qu'est-ce que la preuve de connaissances zéro? Comment est-il utilisé dans la blockchain?

Qu'est-ce que la preuve de connaissances zéro? Comment est-il utilisé dans la blockchain?

Apr 27,2025 at 01:14pm

Zero-Knowledge Proof (ZKP) est une méthode cryptographique qui permet à une partie de prouver à une autre qu'une déclaration donnée est vraie, sans transmettre aucune information supplémentaire en dehors du fait que la déclaration est effectivement vraie. Ce concept, qui a émergé du domaine de l'informatique théorique dans les années 80, a trouv...

Que sont les jetons? Quelle est la différence entre les jetons et les crypto-monnaies?

Que sont les jetons? Quelle est la différence entre les jetons et les crypto-monnaies?

Apr 29,2025 at 07:49am

Les jetons et les crypto-monnaies font tous deux partie intégrante de l'écosystème de la blockchain, mais ils servent des objectifs différents et ont des caractéristiques distinctes. Dans cet article, nous explorerons le concept de jetons, plongerons dans les différences entre les jetons et les crypto-monnaies, et fournira une compréhension complète...

Qu'est-ce qu'un arbre Merkle? Quel rôle joue-t-il dans la blockchain?

Qu'est-ce qu'un arbre Merkle? Quel rôle joue-t-il dans la blockchain?

Apr 29,2025 at 07:42am

Un arbre Merkle, également connu sous le nom d'un arbre de hachage, est une structure de données utilisée pour vérifier efficacement l'intégrité et la cohérence des grands ensembles de données. Dans le contexte de la blockchain, les arbres Merkle jouent un rôle crucial dans l'assurance de la sécurité et de l'efficacité du réseau. Cet art...

Que sont POW et POS? Comment affectent-ils les performances de la blockchain?

Que sont POW et POS? Comment affectent-ils les performances de la blockchain?

Apr 28,2025 at 09:21am

Introduction à Pow et PO Dans le monde des crypto-monnaies, les termes preuve de travail (POW) et preuve de participation (POS) sont fréquemment mentionnés en raison de leurs rôles critiques dans la sécurisation et le maintien des réseaux de blockchain. Les deux mécanismes sont utilisés pour valider les transactions et les ajouter à la blockchain, mais ...

Qu'est-ce que le réseau Lightning? Comment résout-il le problème d'évolutivité de Bitcoin?

Qu'est-ce que le réseau Lightning? Comment résout-il le problème d'évolutivité de Bitcoin?

Apr 27,2025 at 03:00pm

Le réseau Lightning est une solution de deuxième couche construite sur la blockchain Bitcoin pour améliorer son évolutivité et sa vitesse de transaction. Il fonctionne comme un réseau hors chaîne de canaux de paiement qui permettent aux utilisateurs de mener plusieurs transactions sans avoir besoin de commander chaque transaction dans la blockchain Bitc...

Qu'est-ce qu'un oracle? Quel rôle joue-t-il dans la blockchain?

Qu'est-ce qu'un oracle? Quel rôle joue-t-il dans la blockchain?

Apr 29,2025 at 10:43am

Un oracle dans le contexte de la technologie de la blockchain fait référence à un service ou un mécanisme qui agit comme un pont entre la blockchain et les sources de données externes. Il est essentiel car les blockchains sont des systèmes intrinsèquement isolés qui ne peuvent pas accéder directement aux données externes. En fournissant cette connexion,...

Qu'est-ce que la preuve de connaissances zéro? Comment est-il utilisé dans la blockchain?

Qu'est-ce que la preuve de connaissances zéro? Comment est-il utilisé dans la blockchain?

Apr 27,2025 at 01:14pm

Zero-Knowledge Proof (ZKP) est une méthode cryptographique qui permet à une partie de prouver à une autre qu'une déclaration donnée est vraie, sans transmettre aucune information supplémentaire en dehors du fait que la déclaration est effectivement vraie. Ce concept, qui a émergé du domaine de l'informatique théorique dans les années 80, a trouv...

Que sont les jetons? Quelle est la différence entre les jetons et les crypto-monnaies?

Que sont les jetons? Quelle est la différence entre les jetons et les crypto-monnaies?

Apr 29,2025 at 07:49am

Les jetons et les crypto-monnaies font tous deux partie intégrante de l'écosystème de la blockchain, mais ils servent des objectifs différents et ont des caractéristiques distinctes. Dans cet article, nous explorerons le concept de jetons, plongerons dans les différences entre les jetons et les crypto-monnaies, et fournira une compréhension complète...

Voir tous les articles

User not found or password invalid

Your input is correct