A menudo se dice que cuando se utiliza el algoritmo MD5 para firmar información arbitraria, el secreto compartido debe estar al final. ¿Por qué?
hash-function
cr.crypto-security
Hendrik Brummermann
fuente
fuente
Respuestas:
Ver "ataques de extensión" en el construcción Merkle-Damgard . Este problema surge en el uso de funciones hash para la autenticación de mensajes .
En resumen, poner el secreto al principio permite al atacante, dado un mensaje y su hash, falsificar cualquier mensaje que tenga el mensaje dado como prefijo. Este es un problema para los códigos ingenuos, pero es evitado por códigos conocidos como HMAC .
fuente