m0wly escribió:si encuentras la funcion que desencripta la hash seras un crack (en teoria no hay funcion para desencriptarla), y entonces dejara de ser una funcion hash
El caso es que HMAC y MD5, NO son reversibles, porque no han sido desarrolladas con el objetivo de cifrar una información para que luego esta sea descifrada. Su misión es la de realizar un resumen (una firma para mantener la integridad) de la información. La firma MD5 no contiene la información cifradada del archivo.
La salida del MD5 es de tamaño constante, es decir que si realizas un MD5 de 1Gb el tamaño de la respuesta va ser igual que el de 1Kb y al vez que el contenido es único para cada archivo (dejando atras los problemas de colisiones para no liar la manta), como una huella dactilar, de hecho se suele llamar también fingerprint a la firma MD5
Ejemplo de un archivo de 40kb
MD5 = 4e2da2e07907fbcaa9df1668c522d31e
Ejemplo de un archivo de 11,3 MB
MD5 = cc4db951b86fa57797a6a0fa7e701f0a
(Es un poco dificil que la info de 11,3 mb este ahi cifrada, de lo contrario lo utilizaría como compresor más bien jejejee)
Ejemplo práctico 1: se utiliza MD5 para cifrar los password en el achivo /etc/shadow de linux, pero cuando un usuario introduce la contraseña para iniciar sesión, el sistema no descifra la contraseña almacenada, simplemente le aplicaca otra vez el algorithmo MD5 y lo compara con el del archivo /etc/shadow. Por la contraseña no es reversible, además este método es más rápido y eficaz para dicho cometido. Sólo un ataque de fuerza bruta sería eficaz
Ejemplo práctico 2: El caso es que puedes hacer un MD5 de cualquier tipo de fichero, por ejemplo, si te bajas la ISO de Sarge (última versión de la distribución de linux de Debian) tienes en la página los MD5 de los archivos para que una vez que te los bajes puedas hacer la comprobación sobre el archivo bajado, comprobado la firma MD5 de tu fichero con la que ellos tienen el la web.
Es posible que Sony, utiliza HMAC por que MD5 y SHA-1 son vulnerables a las colisiones.