Generador de códigos de autenticación KMAC128

Calcula un código de autenticación de mensajes KMAC128 con tu clave (texto o hex), cadena de personalización y longitud de salida. Coincide con NIST SP 800-185.

Un múltiplo de 8, de 8 a 16384 bits.

Etiqueta opcional de separación de dominio, p. ej. el nombre de tu aplicación. Cadenas distintas producen salidas sin relación.

La clave está vacía. Sin una clave secreta, KMAC no autentica nada.

KMAC128

Se ejecuta completamente en tu navegador. Tus datos nunca se suben.

¿Qué es Generador KMAC128?

KMAC128 es el código de autenticación de mensajes basado en Keccak de NIST SP 800-185, el equivalente de HMAC en SHA-3. A partir de una clave secreta, una cadena de personalización opcional y una longitud de salida, produce una etiqueta que solo pueden calcular quienes tienen la clave. Esta herramienta calcula KMAC128 de texto o bytes sin procesar.

Cómo usar Generador KMAC128

  1. Escribe los datos en Mensaje; para datos binarios elige Bytes en hexadecimal o Base64 como codificación de entrada.
  2. Introduce la Clave secreta y selecciona su Codificación de la clave (Texto (UTF-8) o Bytes en hexadecimal).
  3. Opcionalmente introduce una Cadena de personalización (S) y cambia la Longitud de salida (bits) (por defecto 256).
  4. Elige el Formato de salida y haz clic en Copiar para usar la etiqueta.

Ejemplo

Entrada
Message 00010203 (Hex bytes), key 404142…5E5F (32 bytes, hex), S = "My Tagged Application", 256 bits
Salida
3b1fba963cd8b0b59e8c1a6d71888b7143651af8ba0a7070c0979e2811324aa5

Ejemplo n.º 2 de KMAC de NIST SP 800-185.

Cuándo usar Generador KMAC128

Usa KMAC128 para autenticar mensajes o derivar claves en sistemas basados en SHA-3, o para verificar etiquetas KMAC de una especificación o de otra implementación. Si el otro lado espera HMAC-SHA256, KMAC no será compatible: usa HMAC en ese caso. No uses una clave vacía o fácil de adivinar; un MAC es tan fuerte como su clave.

Cómo funciona Generador KMAC128

KMAC128 (NIST SP 800-185) es cSHAKE128 con el nombre de función "KMAC". Absorbe bytepad(encode_string(K), 168) —la clave rellenada hasta un bloque completo—, después el mensaje y luego right_encode(L) con la longitud de salida L solicitada, y exprime L bits. Como L forma parte de la entrada, un KMAC de 256 bits y otro de 512 bits de los mismos datos no tienen relación (a diferencia de SHAKE). El diseño de esponja hace que la simple construcción con la clave como prefijo sea segura, por lo que KMAC no necesita la estructura anidada de HMAC.

Casos de Uso Comunes

  • Verificar los vectores de prueba KMAC de NIST SP 800-185
  • Depurar una implementación de KMAC en otro lenguaje
  • Generar una etiqueta de autenticación para una API o un mensaje en un protocolo basado en SHA-3
  • Derivar una clave con KMAC como KDF (al estilo SP 800-108) para pruebas

Nota de Seguridad

KMAC128 ofrece hasta 128 bits de seguridad cuando la clave es aleatoria y tiene al menos 16 bytes. Usa una clave nueva y secreta y compara las etiquetas en tiempo constante en tu propio código. Nunca pegues claves de producción en herramientas en las que no confíes; esta se ejecuta localmente y no envía nada.

Preguntas Frecuentes

¿En qué se diferencia KMAC128 de HMAC?

HMAC envuelve un hash dos veces para evitar los problemas de extensión de longitud de SHA-2. Keccak no es vulnerable a la extensión de longitud, así que KMAC simplemente antepone la clave rellenada. Los resultados no son intercambiables.

¿Por qué al cambiar la longitud de salida cambian todos los bits?

La longitud de salida L se codifica en la entrada, así que KMAC con 256 y con 512 bits son valores independientes: el más corto no es prefijo del más largo.

¿Cómo introduzco una clave binaria?

Pon la Codificación de la clave en Bytes en hexadecimal y pega la clave en hex (se permiten espacios). Con Texto (UTF-8) se usan los propios caracteres como bytes de la clave.

¿Se envía mi clave a algún sitio?

No. La clave y el mensaje se procesan solo en tu navegador.

Explora más categorías