16 noviembre 2022

Que son los algoritmos HASH y HMAC

HMAC (Código de autenticación de mensajes basado en hash) es una técnica para asegurar la integridad de un mensaje y su autenticidad. Está descrito en el RFC2104.

Para comprender HMAC debemos conocer que es un algoritmo HASH

HASH es un algoritmo matemático que transforma un texto o mensaje del cualquier tamaño en una longitud alfanumérica fija de caracteres irrepetible. Esto significa que cada mensaje tiene un hash único, salvo que dos mensajes sean totalmente iguales.

Los algoritmos utilizados son MD5 y SHA-X en diferentes versiones

Por ejemplo, el mensaje “https://ellisensiado.blogspot.com/” tendría la salida hash sha-256:

f10d48e2dcdac272b82ee40113bd6398f1d27c48fe95707a12142f21ff04ac17

Desde ciertas webs podemos generarlo online, a parte de herramientas que traen los propios sistemas operativos, por ejemplo en Windows 10, con Powershell podremos lanzar el comando Get-FileHash para poder validar un hash de un fichero.

Pero a lo que íbamos, esta técnica HMAC junta la clave con el mensaje y le aplica la función hash, con lo que para poder verificar que el mensaje no ha cambiado debemos conocer la clave y aplicarle la función hash, verificando que el resultado es el mismo.

Los usos son múltiples siempre que queramos que solo los que conozcan una clave puedan verificar que el mensaje es correcto.

No hay comentarios: