HMAC
HMAC (código de autenticación de mensajes basado en hash) es un MAC que combina una función hash con una clave secreta, proporcionando integridad y autenticidad.
Propósito
Construye un MAC seguro a partir de una función hash existente, sin necesidad de diseño dedicado.
Mecanismo
HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m)), donde ipad/opad son rellenos fijos. Las claves más largas que el bloque del hash se hashean primero. Debe usarse con un hash seguro (SHA-256); aunque MD5/SHA-1 están rotos como hashes, HMAC-MD5/SHA1 siguen siendo comparativamente seguros.
Casos de uso
- Firmado de peticiones API (p. ej. AWS SigV4)
- Firmado JWT HS256
- MAC de registros TLS
- Protección de cookies contra manipulación
Ejemplos
- entrada
key + messageOutputHMAC-SHA256 tag32-byte authentication tag
Errores comunes
- Using the bare hash H(key||msg) as a MAC (vulnerable to length-extension attacks)
- Always use the HMAC construction
Términos relacionados
SHA-256
SHA-256 es el miembro de la familia SHA-2 con salida de 256 bits, muy usado en TLS, blockchains y aplicaciones criptográficas, sin ataques prácticos conocidos. GLOSARIO
SHA-512
SHA-512 es el miembro de la familia SHA-2 con salida de 512 bits; más rápido que SHA-256 en plataformas de 64 bits, ofrece un margen de seguridad mayor. GLOSARIO
MD5
MD5 es una función hash criptográfica de 128 bits diseñada por Ronald Rivest; demostrada insegura por ataques de colisión, hoy solo se usa para fines no de seguridad como checksums. GLOSARIO
JWT
JWT (JSON Web Token) es un token compacto y autocontenido que transmite claims de forma segura como objeto JSON, ampliamente usado para autenticación sin estado e intercambio de información. GLOSARIO
Herramientas relacionadas
Generador de HMAC
Generate HMAC (Keyed-Hash Message Authentication Code) with SHA-1/256/512. Gratis, privado y 100% del lado del cliente. HERRAMIENTA
Calculadora de hash
Compute MD5, SHA-1, SHA-256, or SHA-512 hashes with hex or Base64 output. Gratis, privado y 100% del lado del cliente. HERRAMIENTA