# Auditor de construcciones MAC: HMAC + BLAKE3 + SHA-3/Keccak + Poly1305 + BLAKE2 con clave

Calcula y audita MACs en HMAC-SHA-2/SHA-3, BLAKE2 con clave, BLAKE3, KMAC y Poly1305 con autopruebas oficiales de respuesta conocida, análisis de longitudes de clave/etiqueta y una matriz de compatibilidad entre construcciones.

> Página canónica: https://elysiatools.com/es/tools/hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter

- **Categoría:** Cryptography

- **Palabras clave:** auditor hmac, construcción mac, blake2 con clave, blake3 hash con clave, kmac, cshake, poly1305 de una vez, sha3 keccak, vectores rfc 4231, truncado de etiqueta

## Descripción general

Cada etiqueta la produce una implementación verificada: HMAC usa OpenSSL vía node:crypto; BLAKE2/BLAKE3/KMAC/Poly1305 son TypeScript puro contrastado con el KAT oficial de BLAKE2, los vectores oficiales de BLAKE3, las muestras KMAC de NIST SP 800-185, RFC 8439 §2.5.2 y FIPS 202. Los niveles de seguridad siguen NIST SP 800-107 (fuerza HMAC = min(bits de clave, bits de salida del hash), límite de falsificación 2^(t/2)) y SP 800-185 (KMAC = min(clave, 2·etiqueta, c/2) bits).

## Entradas

- **Mensaje** (textarea): Payload to authenticate (e.g. webhook body, JWT signing input)
- **Codificación del mensaje** (select)
- **Clave (hexadecimal)** (text): e.g. 0b0b0b... (20 bytes) or 000102...1f (32 bytes)
- **Longitud de etiqueta conservada (bytes)** (number)
- **Etiqueta de separación de dominio (KMAC custom / contexto BLAKE3)** (text): e.g. myapi/v1/webhook

## Cuándo usarlo

- Al implementar o verificar firmas criptográficas en webhooks, tokens de autenticación o interfaces API.
- Al auditar el impacto en seguridad del truncado de etiquetas MAC o de claves de longitud no estándar.
- Al comparar la compatibilidad de salida y el rendimiento teórico entre construcciones HMAC, KMAC, BLAKE2, BLAKE3 y Poly1305.

## Cómo funciona

- Recibe el mensaje en texto UTF-8 o bytes hexadecimales junto con la clave simétrica en formato hexadecimal.
- Aplica opcionalmente etiquetas de separación de dominio (para KMAC y contexto BLAKE3) y el límite de bytes a conservar en la etiqueta de salida.
- Calcula en paralelo las etiquetas mediante implementaciones verificadas frente a vectores oficiales (KAT de BLAKE2, NIST SP 800-185, RFC 4231 y RFC 8439).
- Genera un reporte en HTML con las etiquetas resultantes, advertencias de truncamiento, bits de seguridad calculados y el estado de las autopruebas oficiales.

## Casos de uso

- Validación de firmas de webhooks para pasarelas de pago y servicios externos.
- Auditoría criptográfica previa al despliegue de esquemas de autenticación con KMAC o BLAKE3.
- Generación de vectores de prueba para suites de tests unitarios en proyectos de software.

## Preguntas frecuentes

### ¿Por qué se omiten BLAKE3 o Poly1305 al usar ciertas claves?

BLAKE3 en modo con clave y Poly1305 exigen estrictamente claves de 32 bytes (256 bits); si la clave ingresada tiene otra longitud, estas construcciones se omiten.

### ¿Cómo se calcula la fuerza de seguridad de un HMAC?

Según NIST SP 800-107, la fuerza equivale al mínimo entre la longitud de la clave en bits y el tamaño de salida del hash base.

### ¿Qué riesgo tiene truncar la etiqueta MAC a pocos bytes?

Reduce la resistencia frente a ataques de falsificación en línea; para una etiqueta conservada de t bits, el límite de seguridad contra falsificación es 2^(t/2).

### ¿Qué función cumple la etiqueta de separación de dominio?

Configura la cadena de personalización en KMAC (NIST SP 800-185) o el contexto de derivación en BLAKE3 para evitar colisiones entre distintos contextos de la aplicación.

### ¿El cálculo de los hashes se valida contra estándares oficiales?

Sí, el motor ejecuta autopruebas de respuesta conocida (KAT) basadas en RFC 4231, FIPS 202, NIST SP 800-185 y RFC 8439.

## Herramientas relacionadas

- [Comparador de algoritmos hash](https://elysiatools.com/es/tools/hash-algorithm-comparator): Aplica MD5, SHA-1, SHA-256, SHA-512, BLAKE2b y BLAKE3 a la misma entrada y compáralos lado a lado: longitud de salida, digest hex/Base64, estado de seguridad (roto/moderno) y benchmark de velocidad relativa. Útil para enseñanza, elegir algoritmo o verificar checksums.
- [Generador de hash de texto](https://elysiatools.com/es/tools/text-hash-generator): Calcula MD5, SHA-1, SHA-256, SHA-512 y CRC-32 de cualquier texto de una vez. Devuelve hex y Base64 sobre la codificación UTF-8.
- [Simulador de firmas de umbral BLS (Boneh–Lynn–Shacham) + generación distribuida de claves](https://elysiatools.com/es/tools/bls-boneh-lynn-shacham-threshold-signature-aggregation-distributed-key-gen-simulator): Simula firmas BLS12-381 de extremo a extremo: ceremonias Joint-Feldman DKG, firmas de umbral t-de-n con interpolación de Lagrange, el ataque de clave perversa y su defensa por prueba de posesión, y la agregación de atestaciones de Ethereum 2.
- [Visualizador del flujo OAuth 2.0 / OIDC con código de autorización y PKCE](https://elysiatools.com/es/tools/oauth-oidc-authorization-code-pkce-flow-visualizer): Simula de extremo a extremo el flujo de código de autorización con PKCE: generación de verifier/challenge, URL de autorización, intercambio de tokens, lista de validación del ID Token y demostración de ataque de interceptación.
- [Generador de PKCE Code Verifier y Challenge](https://elysiatools.com/es/tools/pkce-code-verifier-generator): Genera, valida y verifica pares code_verifier / code_challenge PKCE (RFC 7636) de OAuth2 / OIDC. Tres modos: (1) generar un par nuevo a partir de bytes aleatorios criptográficos (256/384/512/768 bits), (2) auditar un verifier existente frente al RFC — longitud (43–128), charset \[A-Za-z0-9-._~\] y ≥256 bits de entropía, y (3) verificar un par recomputando BASE64URL(SHA256(verifier)). Opcionalmente construye la URL completa de autorización y el cuerpo del intercambio de token. Complementa al nonce-genérico (que solo emite el par) con auditoría de cumplimiento RFC y verificación de pares.
- [Cifrado / Descifrado RSA](https://elysiatools.com/es/tools/rsa-encrypt-decrypt): Cifra texto con una clave pública RSA o descifra el texto cifrado con la clave privada correspondiente, usando padding OAEP (SHA-1 o SHA-256). Maneja mensajes largos por bloques. Las claves y datos se quedan en local. No se ofrece PKCS#1 v1.5 (Node lo deshabilita para descifrar por ataques Bleichenbacher).
- [Codificador de Web Push: petición RFC 8030 + VAPID + cifrado RFC 8291](https://elysiatools.com/es/tools/web-push-rfc8030-vapid-rfc8291-payload-encrypted-content-encoder): Codifica un envío completo de Web Push: cifrado aes128gcm del RFC 8291, JWT ES256 VAPID del RFC 8292, cabeceras RFC 8030, correspondencia con APNs/FCM y verificación por descifrado de ida y vuelta.
- [Suma de comprobación CRC32](https://elysiatools.com/es/tools/crc32-checksum): Calcula la suma CRC32 (polinomio IEEE 802.3) de cualquier texto o bytes. Salida en hex, decimal o binario. Acepta texto plano (UTF-8) o bytes vía hex/base64.

## Ejemplos

- [Ejemplos de Direcciones MAC](https://elysiatools.com/es/samples/mac-address): Colección de direcciones MAC en varios formatos para pruebas de validación
- [Muestras MP3 Sin Derechos de Autor](https://elysiatools.com/es/samples/mp3-samples): Colección de muestras de audio sin derechos de autor para pruebas y desarrollo, incluyendo sonidos de la naturaleza, música de meditación y audio ambiental
- [Ejemplos de Procesamiento de Imágenes Android Java](https://elysiatools.com/es/samples/android-image-processing-java): Ejemplos de procesamiento de imágenes Android Java incluyendo lectura/escritura, escalado y conversión de formato
- [Ejemplos de Procesamiento de Imágenes Android Kotlin](https://elysiatools.com/es/samples/android-image-processing-kotlin): Ejemplos de procesamiento de imágenes Android Kotlin incluyendo lectura/escritura, escalado y conversión de formato
