Générateur SHA-3 (Keccak SHA3-256 NIST)
Générez des hashes SHA-3 en ligne gratuitement. Construction sponge NIST FIPS 202 — la norme post-SHA-2. Sortie SHA3-256 en 64 hex. Navigateur uniquement via js-sha3 en chargement différé ; zéro envoi.
Qu'est-ce que SHA-3 ?
SHA-3 (Secure Hash Algorithm 3) est la troisième génération du Secure Hash Standard du NIST, standardisée dans FIPS 202 en août 2015. Contrairement à SHA-1 et SHA-2, qui sont basés sur la construction Merkle-Damgård, SHA-3 utilise une conception radicalement différente appelée construction sponge — un choix délibéré du NIST pour s'assurer qu'une rupture cryptanalytique de SHA-2 ne compromettrait pas automatiquement SHA-3.
La compétition SHA-3 du NIST (2007-2012) : Le NIST a sollicité des soumissions publiques mondiales en 2007. Après trois tours d'évaluation, 64 candidats ont été réduits à cinq finalistes : BLAKE, Grøstl, JH, Keccak et Skein. En octobre 2012, Keccak — conçu par Guido Bertoni, Joan Daemen, Michaël Peeters et Gilles Van Assche de STMicroelectronics et NXP Semiconductors — a été sélectionné comme gagnant. Tous les cinq finalistes étaient considérés sécurisés ; la conception sponge unique de Keccak lui a donné la diversité structurelle que le NIST privilégiait.
La construction sponge : SHA-3 absorbe l'entrée dans un état de 1600 bits (la permutation Keccak-f[1600]) lors de la phase d'absorption, puis presse les bits de sortie depuis l'état lors de la phase de pression. Pour SHA3-256, le découpage débit/capacité est de 1088/512 bits. Étant donné que seuls 256 des 1600 bits d'état interne apparaissent dans la sortie, un attaquant ne peut pas reconstruire l'état complet à partir du hash — rendant les attaques par extension de longueur structurellement impossibles. Cela contraste avec SHA-256, où l'état interne complet est exposé dans la sortie, nécessitant HMAC pour prévenir l'extension de longueur.
SHA-3 vs Keccak — la différence de rembourrage : Le NIST a modifié la soumission Keccak originale en changeant le rembourrage de séparation de domaine de 0x01 à 0x06. Cela signifie que NIST SHA3-256 et le Keccak-256 original produisent des sorties de 64 caractères hexadécimaux différentes pour chaque entrée. Ce n'est pas une préoccupation théorique — c'est la raison pour laquelle le keccak256 d'Ethereum (figé avant la finalisation de FIPS 202) diffère de la sortie SHA3-256 de cet outil pour la même chaîne. N'utilisez jamais cet outil pour reproduire la dérivation d'adresses Ethereum.
FIPS 202 définit quatre variantes SHA-3 : SHA3-224 (56 hex), SHA3-256 (64 hex), SHA3-384 (96 hex), SHA3-512 (128 hex). Cet outil implémente SHA3-256, la variante la plus courante et celle la plus directement comparable à SHA-256.
Note sur la bibliothèque : SHA-3 n'est pas encore dans la spécification Web Crypto API du navigateur (crypto.subtle supporte uniquement SHA-1, SHA-256, SHA-384, SHA-512). Cet outil charge de façon différée la bibliothèque JavaScript js-sha3 (~10 Ko compressé) lors de la première utilisation. Après ce téléchargement unique, tout le calcul s'exécute localement dans votre navigateur — aucune donnée saisie n'est jamais transmise.
Quand utiliser SHA-3 : nouveaux protocoles nécessitant une diversité structurelle de SHA-2 ; MACs à clé sans l'encapsulation HMAC (KMAC128/256 selon NIST SP 800-185) ; couverture post-quantique comme hash de secours SHA-2 ; conformité avec les systèmes imposant FIPS 202. Quand rester avec SHA-256 : support universel de bibliothèques, accélération matérielle (extensions SHA-NI), compatibilité de protocoles existants et la plupart des cas d'intégrité quotidienne où SHA-256 est déjà le standard établi.
// SHA-3 (NIST FIPS 202 SHA3-256) using js-sha3 library
import { sha3_256 } from 'js-sha3';
const hash = sha3_256('Hello, World!');
// → '882f4b6991a775295186a4e3cc5ece9fc0b618c8c3e7a7beafdd0f56f13ae43b'
// Note: this differs from Ethereum's keccak256 for the same input:
// keccak256('Hello, World!') = 'acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f'
// The difference is the padding byte: 0x06 (SHA-3) vs 0x01 (original Keccak) Exemples SHA-3
Vérification du vecteur de test NIST FIPS 202
abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
SHA3-256("abc") = 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532 — c'est le vecteur de test officiel NIST FIPS 202. Collez "abc" dans l'outil et confirmez exactement cette sortie pour vérifier que vous calculez le NIST SHA-3 (pas le Keccak original). Ce test unique distingue une implémentation SHA-3 conforme à FIPS d'une utilisant l'ancien octet de rembourrage Keccak.
Distinction Keccak vs SHA-3 — même entrée, sortie différente
Hello
SHA3-256("Hello") depuis cet outil (NIST FIPS 202) = 8ca66ee6b2fe4bb928a8e3cd2f508de4119c0895f22df86f0ab7e30e487e4500. Le keccak256("Hello") d'Ethereum = 06b3dfaec148fb1bb2b066f10ec285e7c9bf402ab32aa78a5d38e34566810cd2. Même entrée, sorties de 64 hex différentes. La différence est le suffixe de rembourrage : NIST SHA-3 utilise 0x06 tandis que le Keccak original (qu'Ethereum a figé en 2013) utilise 0x01. Ethereum est antérieur à la standardisation NIST de 2015 et a définitivement divergé de la variante FIPS 202.
Hash d'archivage post-quantique
NIST SP 800-57 Part 1 Rev 5 — Recommendation for Key Management
SHA3-256 offre une résistance aux préimages de 128 bits contre l'algorithme de Grover sur un ordinateur quantique — le même niveau de sécurité effectif que SHA-256 contre une attaque quantique. Pour les données devant rester infalsifiables au-delà de 2050, utiliser SHA-3 aux côtés de SHA-256 offre une défense en profondeur : si une faille est trouvée dans la construction d'un algorithme (Merkle-Damgård pour SHA-2 ; sponge Keccak pour SHA-3), l'autre reste sécurisé. Les archives institutionnelles et les documents gouvernementaux utilisent de plus en plus les manifestes à double hash (SHA-256 + SHA3-256) comme couverture. Voir aussi Générateur SHA-256 pour le versant SHA-2 de cette couverture.
Authentification à clé HMAC-SHA3-256
POST /api/ledger
{"amount":250000,"from":"acct-A","to":"acct-B"} HMAC-SHA3-256 est une alternative moderne à HMAC-SHA-256 pour l'authentification de messages à clé. Étant donné que la construction sponge de SHA-3 est nativement résistante aux attaques par extension de longueur (la phase de pression élimine l'état interne), un MAC à clé SHA3-256 brut (KMAC, défini dans NIST SP 800-185) est également sûr — contrairement à SHA-256 brut, qui nécessite l'encapsulation HMAC pour se défendre contre l'extension de longueur. Pour les nouvelles APIs haute assurance et systèmes financiers, HMAC-SHA3-256 (ou KMAC128) offre de meilleures garanties architecturales que HMAC-SHA-256. Collez un corps de requête canonique ici pour inspecter l'empreinte SHA3-256 avant d'appliquer HMAC.
Comment générer des hashes SHA-3
- 1
Collez du texte dans le champ de saisie
Sélectionnez l'onglet Texte et saisissez ou collez n'importe quelle chaîne. Le hash SHA3-256 se met à jour en direct au fil de la frappe. Lors de la première utilisation, la bibliothèque js-sha3 (~10 Ko) est récupérée et mise en cache — vous pouvez remarquer un bref délai lors du tout premier hash ; tous les hashes suivants sont instantanés. L'algorithme est déjà réglé sur SHA-3 (NIST FIPS 202 SHA3-256).
- 2
Copiez la sortie hexadécimale de 64 caractères
Cliquez sur le bouton Copier à côté du résultat du hash. La chaîne hexadécimale en minuscules de 64 caractères est copiée dans votre presse-papiers. Utilisez le bouton Majuscules si votre système cible requiert des majuscules. Cette sortie correspond à ce que produit toute implémentation SHA3-256 conforme à FIPS 202 — mais notez qu'elle diffère du keccak256 d'Ethereum pour la même entrée.
- 3
Vérifiez avec l'onglet Comparer
Passez à l'onglet Comparer et collez deux hashes SHA3-256 côte à côte. L'outil utilise une comparaison en temps constant pour signaler la correspondance ou la non-correspondance sans divulguer d'informations de timing. Utile pour vérifier les vecteurs de test NIST CAVP, vérifier les manifestes d'archives ou confirmer que deux implémentations SHA3-256 produisent une sortie identique.
Détails techniques
- Algorithme : construction sponge Keccak-f[1600]
- SHA3-256 applique la permutation Keccak-f[1600] (24 tours d'opérations thêta, rho, pi, chi, iota sur un tableau d'état 5×5×64) dans une construction sponge avec débit=1088 bits et capacité=512 bits. L'entrée est absorbée en blocs de 136 octets (1088 bits) ; 256 bits de sortie sont pressés. Le séparateur de domaine FIPS 202 ajoute 0x06 avant le rembourrage. Implémentation : NIST FIPS 202 (2015) section 6.
- Sortie : SHA3-256 par défaut, 64 hex (FIPS 202 définit aussi 224/384/512)
- Cet outil produit SHA3-256 : toujours exactement 64 caractères hexadécimaux (256 bits = 32 octets). NIST FIPS 202 standardise également SHA3-224 (56 hex), SHA3-384 (96 hex) et SHA3-512 (128 hex) — tous utilisant la même permutation Keccak-f[1600] avec des découpages débit/capacité différents. La longueur de sortie est fixe quelle que soit la taille de l'entrée.
- Performance : js-sha3 en chargement différé (~10 Ko) ; ~150–400 Mo/s dans le navigateur
- Contrairement aux routes SHA-2 (qui utilisent la Web Crypto API native du navigateur), SHA-3 n'est pas dans la spécification Web Crypto. Cet outil charge la bibliothèque js-sha3 (~10 Ko compressé) lors de la première utilisation, puis la met en cache. Débit typique : 150–400 Mo/s en JavaScript, contre 400–700 Mo/s pour SHA-256 via Web Crypto. Pour le hachage de texte (kilo-octets), la différence est imperceptible. Le bundle principal des autres routes SHA n'est pas affecté par ce chargement différé.
- Normes : NIST FIPS 202 (2015), NIST SP 800-185 (KMAC), NIST IR 8105
- Standardisé dans FIPS 202 (août 2015). NIST SP 800-185 (2016) définit KMAC128 et KMAC256 — fonctions MAC à clé basées sur SHA-3 nativement immunisées contre l'extension de longueur sans l'encapsulation HMAC. NIST IR 8105 recommande les variantes SHA-3 pour la marge de sécurité post-quantique. Actuellement approuvé pour tous les niveaux de sécurité jusqu'en 2030 et au-delà selon NIST SP 800-131A Rev 2.
Bonnes pratiques
- Ne confondez pas SHA3-256 avec le keccak256 d'Ethereum
- Ce sont des algorithmes différents produisant des sorties différentes pour chaque entrée. Cet outil calcule le NIST FIPS 202 SHA3-256 (octet de rembourrage 0x06). Le
keccak256d'Ethereum utilise le rembourrage Keccak original (0x01). Si vous calculez des hashes d'adresses Ethereum, des emplacements de stockage EVM ou des résultats de keccak256() Solidity, vous avez besoin d'un outil spécifique à keccak256 — cet outil vous donnera des résultats erronés pour ces cas d'usage. - Utilisez SHA-3 comme couverture aux côtés de SHA-256, pas comme remplacement
- SHA-3 et SHA-2 utilisent des conceptions structurellement différentes (sponge vs Merkle-Damgård). Un manifeste à double hash (SHA-256 + SHA3-256) offre une défense en profondeur : si une rupture cryptanalytique est jamais trouvée dans la construction d'une famille, l'autre reste sécurisée. Pour les données archivées long terme et les documents gouvernementaux, le NIST recommande de considérer cette approche à double algorithme. Pour un usage quotidien, SHA-256 seul reste parfaitement suffisant.
- Préférez KMAC à HMAC-SHA3-256 pour les nouvelles conceptions de MAC à clé
- NIST SP 800-185 définit KMAC128 et KMAC256 — MACs à clé dédiés basés sur SHA-3. Étant donné que la construction sponge est nativement immunisée contre l'extension de longueur, KMAC n'a pas besoin de l'encapsulation à double hachage que HMAC nécessite pour la sécurité. Pour les nouveaux protocoles ayant la flexibilité dans le choix d'algorithme MAC, KMAC128 (sécurité 128 bits) ou KMAC256 (sécurité 256 bits) sont plus propres et légèrement plus efficaces que HMAC-SHA3-256.
- Utilisez une comparaison en temps constant lors de la vérification de hashes SHA-3 dans le code
- Lors de la comparaison de deux hashes SHA3-256 dans du code, utilisez toujours une fonction d'égalité en temps constant : Node.js
crypto.timingSafeEqual(), Pythonhmac.compare_digest(), Gosubtle.ConstantTimeCompare(). L'égalité de chaînes naïve (=== ou ==) divulgue des informations de timing permettant à un attaquant de reconstruire le hash attendu octet par octet. Cela s'applique également à SHA-3 et à toutes les autres fonctions de hachage. L'onglet Comparer de cet outil utilise déjà la comparaison en temps constant.
Questions fréquentes SHA-3
SHA-3 est-il la même chose que Keccak ?
0x01 avant le rembourrage ; le NIST SHA-3 (FIPS 202, 2015) ajoute 0x06. Cette différence d'un seul octet signifie que SHA3-256 et Keccak-256 produisent des sorties de 64 caractères différentes pour chaque entrée. Les algorithmes sont par ailleurs structurellement identiques — même permutation Keccak-f[1600], même construction sponge. Quand quelqu'un dit « Keccak » dans le contexte Ethereum/blockchain, il désigne presque toujours la variante de rembourrage pré-FIPS originale, pas le NIST SHA-3. Pourquoi Ethereum utilise-t-il keccak256, pas SHA-3 ?
keccak256 d'Ethereum utilise le rembourrage Keccak original (0x01), tandis que le SHA3-256 de cet outil utilise le rembourrage NIST FIPS 202 (0x06). Même algorithme structurel, sorties différentes. N'utilisez jamais cet outil pour reproduire la dérivation d'adresses Ethereum ou le keccak256 EVM — vous obtiendrez des résultats erronés. Qu'est-ce que la construction sponge ?
Dois-je utiliser SHA-3 à la place de SHA-2 ?
SHA-3 est-il plus rapide que SHA-256 ?
Quelle est la longueur d'un hash SHA-3 produit par cet outil ?
SHA-3 est-il résistant aux attaques quantiques ?
Mes données sont-elles envoyées à un serveur ?
js-sha3 est récupéré une fois depuis un CDN, ~10 Ko), tout le hachage s'exécute entièrement dans votre navigateur en JavaScript. Ouvrez DevTools → onglet Réseau pendant le hachage de texte — vous verrez zéro requête sortante portant vos données saisies. Contrairement aux outils SHA-2 de ce site (qui utilisent la Web Crypto API intégrée au navigateur), SHA-3 n'est pas encore dans la spécification Web Crypto, donc une bibliothèque JavaScript est requise. Le téléchargement de la bibliothèque est la seule requête réseau ; votre texte ne quitte jamais la page. Voir aussi : le générateur SHA-256 et le générateur MD5 n'utilisent aucune bibliothèque externe. Qu'était la compétition SHA-3 du NIST ?
SHA-3 est-il vulnérable aux attaques par extension de longueur ?
Outils connexes
Voir tous les outils →Décodeur JWT
Outils de sécurité
Décodez des jetons JWT en ligne avec notre décodeur JWT gratuit. Inspectez en-tête, charge utile, signature, expiration et revendications. 100 % navigateur — votre jeton ne quitte jamais votre appareil. Sans inscription ni suivi.
Générateur de Hash MD5 en Ligne et Vérificateur de Checksum
Outils de sécurité
Générez des hashes MD5, SHA-256, SHA-1 et SHA-512 dans votre navigateur. Hachez texte ou fichiers, vérifiez les checksums en un clic. 100 % privé.
Générateur de Mot de Passe — Sécurisé & Personnalisable
Outils de sécurité
Générez des mots de passe forts et sécurisés — gratuit, 100 % dans votre navigateur. Personnalisez longueur et caractères, générez jusqu'à 50.
Générateur SHA-1 (160 bits, usage hérité)
Outils de sécurité
Générez des hashes SHA-1 dans votre navigateur — sortie hex de 40 caractères, sans envoi. Outil hérité pour les empreintes Git, contrôles de certificats anciens et audits de migration. Données jamais transmises.
Générateur de Hash SHA-256 & Outil Checksum
Outils de sécurité
Générez des hashes SHA-256 en ligne gratuitement. Hachez texte ou fichiers dans votre navigateur, vérifiez les checksums, copiez la sortie hex de 64 caractères. Sans inscription ; données jamais transmises.
Générateur SHA-384 (Hash Suite B TLS)
Outils de sécurité
Générez des hashes SHA-384 en ligne — sortie hex de 96 caractères, immunisé contre l'extension de longueur, conforme NSA Suite B. Associé à AES-256-GCM dans TLS. Tout le hachage s'exécute dans votre navigateur.