uniforme tipos online huella hashing funciones encriptacion criptografía algoritmo security hmac message-digest

security - tipos - ¿Cuál es la diferencia entre Message Digest, Message Authentication Code y HMAC?



huella hash (2)

Mi comprensión del resumen de un mensaje es que se trata de un hash cifrado de algunos datos enviados junto con los datos cifrados para que pueda verificar que los datos no se hayan manipulado. ¿Cuál es la diferencia entre esto y los códigos de autenticación de mensajes (MAC) y los MAC de hash (HMAC)?


  • Un mensaje resumen es simplemente un hash de un mensaje. Es el resultado de una función de hash criptográfica aplicada a los datos de entrada, que se conoce como un mensaje .
  • Un Código de autenticación de mensaje (MAC) es una información que demuestra la integridad de un mensaje y no se puede falsificar fácilmente.
  • Un HMAC es un tipo específico de MAC definido por RFC 2104 .

Wikipedia tiene buenos artículos que cubren todos estos términos: ver Message Digest , Message Authentication Code y HMAC .


  • Un algoritmo de resumen de mensaje toma una sola entrada, un mensaje, y produce un "resumen de mensaje" (también conocido como hash) que le permite verificar la integridad del mensaje: Cualquier cambio en el mensaje (idealmente) dará como resultado un hash diferente. siendo generado Un atacante que puede reemplazar el mensaje y el resumen es completamente capaz de reemplazar el mensaje y digerirlo con un nuevo par válido.
  • Un algoritmo MAC toma dos entradas, un mensaje y una clave secreta, y produce un MAC que le permite verificar la integridad y la autenticidad del mensaje: cualquier cambio en el mensaje o la clave secreta (idealmente) dará como resultado un diferente MAC que se genera. Nadie sin acceso al secreto debe poder generar un cálculo MAC que verifique; en otras palabras, se puede usar un MAC para verificar que el MAC haya sido generado por una parte que tenga acceso a la clave secreta.
  • Un algoritmo HMAC es simplemente un tipo específico de algoritmo MAC que utiliza un algoritmo hash internamente (en lugar de, por ejemplo, un algoritmo de cifrado) para generar el MAC.