Générateur de code d’authentification de message KMAC128
Calculez un code d’authentification KMAC128 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 KMAC128 ?
KMAC128 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 KMAC128 d’un texte ou d’octets bruts.
Comment utiliser Générateur KMAC128
- 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) (256 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", 256 bits
3b1fba963cd8b0b59e8c1a6d71888b7143651af8ba0a7070c0979e2811324aa5
Exemple n° 2 de KMAC dans NIST SP 800-185.
Quand utiliser Générateur KMAC128
Utilisez KMAC128 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 KMAC128
KMAC128 (NIST SP 800-185) est cSHAKE128 avec le nom de fonction « KMAC ». Il absorbe bytepad(encode_string(K), 168), 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é
KMAC128 offre jusqu’à 128 bits de sécurité lorsque la clé est aléatoire et longue d’au moins 16 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 KMAC128 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.