Générateur de code d’authentification de message KMAC256
Calculez un code d’authentification KMAC256 avec votre clé (texte ou hex), une chaîne de personnalisation et la longueur de sortie voulue. Conforme à NIST SP 800-185.
Un multiple de 8, de 8 à 16384 bits.
Étiquette facultative de séparation de domaine, par ex. le nom de votre application. Des chaînes différentes donnent des sorties sans rapport.
La clé est vide. Sans clé secrète, KMAC n’authentifie rien.
S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.
Qu'est-ce que Générateur KMAC256 ?
KMAC256 est le code d’authentification de message basé sur Keccak défini dans NIST SP 800-185, l’équivalent SHA-3 de HMAC. À partir d’une clé secrète, d’une chaîne de personnalisation facultative et d’une longueur de sortie, il produit une étiquette que seuls les détenteurs de la clé peuvent calculer. Cet outil calcule le KMAC256 d’un texte ou d’octets bruts.
Comment utiliser Générateur KMAC256
- Saisissez les données dans Message ; choisissez Octets en hexadécimal ou Base64 comme encodage d’entrée pour des données binaires.
- Entrez la Clé secrète et sélectionnez son Encodage de la clé (Texte (UTF-8) ou Octets en hexadécimal).
- Saisissez si besoin une Chaîne de personnalisation (S) et modifiez la Longueur de sortie (bits) (512 par défaut).
- Choisissez le Format de sortie, puis cliquez sur Copier pour utiliser l’étiquette.
Exemple
Message 00010203 (Hex bytes), key 404142…5E5F (32 bytes, hex), S = "My Tagged Application", 512 bits
20c570c31346f703c9ac36c61c03cb64c3970d0cfc787e9b79599d273a68d2f7f69d4cc3de9d104a351689f27cf6f5951f0103f33f4f24871024d9c27773a8dd
Exemple n° 4 de KMAC dans NIST SP 800-185.
Quand utiliser Générateur KMAC256
Utilisez KMAC256 pour authentifier des messages ou dériver des clés dans des systèmes bâtis sur SHA-3, ou pour vérifier des étiquettes KMAC issues d’une spécification ou d’une autre implémentation. Si l’autre partie attend du HMAC-SHA256, KMAC ne sera pas interopérable : utilisez alors HMAC. N’utilisez pas de clé vide ou devinable ; un MAC n’est jamais plus solide que sa clé.
Comment fonctionne Générateur KMAC256
KMAC256 (NIST SP 800-185) est cSHAKE256 avec le nom de fonction « KMAC ». Il absorbe bytepad(encode_string(K), 136), c’est-à-dire la clé complétée jusqu’à un bloc entier, puis le message, puis right_encode(L) avec la longueur de sortie demandée L, et essore L bits. Comme L fait partie de l’entrée, un KMAC de 256 bits et un KMAC de 512 bits des mêmes données n’ont aucun rapport (contrairement à SHAKE). La conception en éponge rend sûre la construction simple par préfixe de clé : KMAC n’a donc pas besoin de la structure imbriquée de HMAC.
Cas d'utilisation courants
- Vérifier les vecteurs de test KMAC du NIST SP 800-185
- Déboguer une implémentation KMAC dans un autre langage
- Générer une étiquette d’authentification pour une API ou un message dans un protocole basé sur SHA-3
- Dériver une clé avec KMAC comme KDF (style SP 800-108) à des fins de test
Note de Sécurité
KMAC256 offre jusqu’à 256 bits de sécurité lorsque la clé est aléatoire et longue d’au moins 32 octets. Utilisez une clé secrète neuve et comparez les étiquettes en temps constant dans votre propre code. Ne collez jamais de clés de production dans des outils auxquels vous ne faites pas confiance ; celui-ci s’exécute localement et n’envoie rien.
Questions Fréquentes
En quoi KMAC256 diffère-t-il de HMAC ?
HMAC enveloppe deux fois le hachage pour éviter les problèmes d’extension de longueur de SHA-2. Keccak n’y est pas vulnérable : KMAC se contente donc de préfixer la clé complétée. Les résultats ne sont pas interchangeables.
Pourquoi modifier la longueur de sortie change-t-il tous les bits ?
La longueur de sortie L est encodée dans l’entrée : KMAC en 256 et en 512 bits sont des valeurs indépendantes, la plus courte n’est pas un préfixe de la plus longue.
Comment saisir une clé binaire ?
Réglez Encodage de la clé sur Octets en hexadécimal et collez la clé en hex (espaces autorisés). Avec Texte (UTF-8), ce sont les caractères eux-mêmes qui servent d’octets de clé.
Ma clé est-elle envoyée quelque part ?
Non. La clé et le message sont traités uniquement dans votre navigateur.