En criptografía, un HMAC (a veces se expandió como llave-hash código de autenticación de mensaje o mensajes basado en hash de autenticación de código) es un tipo específico de código de autenticación de mensaje (MAC) que implica una función hash criptográfica y un secreto de la clave de cifrado. Puede ser utilizado para verificar al mismo tiempo la integridad de los datos y la autenticidad de un mensaje, como con cualquier MAC. Cualquier función hash criptográfica, como SHA-256 o SHA-3, pueden ser utilizados en el cálculo de un HMAC; el resultado de MAC algoritmo se denomina HMAC-X, donde X es la función hash utilizada (por ejemplo, HMAC-SHA256 o HMAC-SHA3). La fuerza criptográfica de la HMAC depende de la fuerza criptográfica subyacente de la función de hash, el tamaño de su hash de salida, y la calidad y el tamaño de la clave.
HMAC utiliza dos pases de cálculo del hash. La clave secreta que se utiliza en primer lugar para derivar dos claves – interior y exterior. El primer paso del algoritmo produce un hash interna derivada del mensaje y el interior de la clave. El segundo paso se produce el final de HMAC código derivan de los interiores resultado hash y el exterior de la clave. Así, el algoritmo proporciona una mejor inmunidad contra la longitud de la extensión de los ataques.
Un proceso iterativo, la función de hash se rompe un mensaje en bloques de un tamaño fijo y se itera sobre ellos con una función de compresión. Por ejemplo, SHA-256 opera en 512 bits de bloques. El tamaño de la salida de HMAC es el mismo que el de la subyacente, la función de hash (por ejemplo, 256 y 1600 bits en el caso de SHA-256 y SHA-3, respectivamente), aunque también puede ser trunca si se desea.
HMAC no cifrar el mensaje. En su lugar, el mensaje (cifrada o no) debe ser enviado junto con el hash HMAC. Partes con el secreto de la clave hash de nuevo el mensaje en sí, y si es auténtica, la recibió y se calculan los hash coinciden.
La definición y el análisis de la HMAC construcción fue publicado por primera vez en 1996 en un papel por Mihir Bellare, Corrió Canetti, y Hugo Krawczyk, y también escribió RFC 2104 en 1997. En 1996 el documento también define una variante denominada NMAC. FIPS PUB 198 generaliza y unifica el uso de Hmac. HMAC se utiliza dentro de la IPsec y protocolos TLS y para JSON Web de Fichas.
Simplifíca tu vida con una serie de herramientas de gran alcance.
Firma arriba para un plan final y beneficiarte de todas las funciones de Apps66.com