Générateur de hachage cSHAKE256

Calculez cSHAKE256 avec nom de fonction N, chaîne de personnalisation S et longueur de sortie libre. Vérifié sur les exemples NIST SP 800-185, dans votre navigateur.

Un multiple de 8, de 8 à 16384 bits.

Généralement laissé vide. Réservé par le NIST aux fonctions construites sur cSHAKE.

Étiquette facultative de séparation de domaine, par ex. le nom de votre application. Des chaînes différentes donnent des sorties sans rapport.

cSHAKE256

S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.

Qu'est-ce que Générateur de hachage cSHAKE256 ?

cSHAKE256 est la version personnalisable de SHAKE256 définie dans NIST SP 800-185. Elle ajoute un nom de fonction N et une chaîne de personnalisation S afin qu’un même message haché à des fins différentes donne des sorties sans rapport. Cet outil permet de régler N, S et la longueur de sortie.

Comment utiliser Générateur de hachage cSHAKE256

  1. Saisissez ou collez votre entrée dans Texte à hacher : l’empreinte se met à jour au fil de la frappe (un champ vide affiche le hachage d’une entrée vide).
  2. Choisissez l’Encodage de l’entrée : Texte (UTF-8) hache les caractères en UTF-8, Octets en hexadécimal ou Base64 hachent les octets bruts décodés.
  3. Réglez la Longueur de sortie (bits) (512 par défaut).
  4. Renseignez si besoin le Nom de fonction (N) (normalement vide) et la Chaîne de personnalisation (S), par ex. le nom de votre application ou protocole.
  5. Choisissez le Format de sortie (hex minuscules, hex majuscules ou Base64), puis cliquez sur Copier.

Exemple

Entrée
Data 00010203 (Hex bytes), N empty, S = "Email Signature", 512 bits
Sortie
d008828e2b80ac9d2218ffee1d070c48b8e4c87bff32c9699d5b6896eee0edd164020e2be0560858d9c00c037e34a96937c561a74c412bb4c746469527281c8c

Exemple n° 3 de cSHAKE dans NIST SP 800-185.

Quand utiliser Générateur de hachage cSHAKE256

Utilisez cSHAKE256 lorsque vous avez besoin d’une séparation de domaine : plusieurs hachages dérivés des mêmes données à des fins différentes (étiquettes de dérivation de clés, transcriptions de protocole, hachages étiquetés). Utilisez SHAKE256 simple si aucune personnalisation n’est nécessaire, et KMAC256 si une clé secrète entre en jeu. N est réservé aux fonctions définies par le NIST ; les applications devraient normalement n’utiliser que S.

Comment fonctionne Générateur de hachage cSHAKE256

cSHAKE256 (NIST SP 800-185) est SHAKE256 avec séparation de domaine. Avant le message, il absorbe bytepad(encode_string(N) || encode_string(S), 136), c’est-à-dire le nom de fonction N et la chaîne de personnalisation S, chacun précédé de sa longueur en bits, puis applique le suffixe de bourrage 00 à la place du 1111 de SHAKE. Si N et S sont tous deux vides, cSHAKE256 est défini comme égal à SHAKE256. Des valeurs différentes de N ou S donnent des fonctions indépendantes. N et S sont saisis sous forme de texte et encodés en UTF-8.

Cas d'utilisation courants

  • Reproduire les vecteurs de test cSHAKE du NIST SP 800-185
  • Dériver des valeurs distinctes pour différents contextes à partir d’une même entrée
  • Implémenter ou déboguer KMAC, TupleHash ou ParallelHash, construits sur cSHAKE
  • Hacher des messages de protocole avec une étiquette propre à l’application

Note de Sécurité

cSHAKE256 offre une sécurité de 256 bits comme SHAKE256. La chaîne de personnalisation est publique, ce n’est pas une clé : utilisez KMAC256 pour l’authentification. Le calcul est local à votre navigateur.

Questions Fréquentes

Que se passe-t-il si N et S sont tous deux vides ?

Par définition, cSHAKE256 est alors égal à SHAKE256 ; pour abc sur 512 bits, vous obtenez 483366601360a877…, comme avec SHAKE256.

Quelle est la différence entre N et S ?

N (nom de fonction) est réservé aux fonctions définies par le NIST, comme « KMAC » ou « TupleHash ». S est la chaîne de personnalisation libre pour les applications. En pratique, on renseigne S et on laisse N vide.

Comment N et S sont-ils encodés ?

En octets UTF-8, précédés de leur longueur en bits (left_encode), puis complétés jusqu’au débit comme le précise SP 800-185.

Explorer d'autres catégories