MD5 es un algoritmo hash de 128 bits creado por el científico Ronald L. Rivest a principios de la década de 1990. La abreviatura MD5 significa Message Digest Version 5.
El cifrado MD5 se basa en hash, que implica la formación de "huellas dactilares" o "sumas" para verificar aún más su autenticidad. Con este método, puede verificar la integridad de la información, así como el almacenamiento de hash de contraseñas.
Historial de MD5
La historia del Message Digest Algorithm (MD5) comienza en 1991, cuando el profesor del MIT Ronald L. Rivest informó sobre la creación de un nuevo algoritmo que reemplazó al obsoleto MD4. En cuanto a MD4, se encontraron una serie de deficiencias en él, como escribió más tarde el criptólogo alemán Hans Dobbertin.
Rivest describió el nuevo algoritmo MD5 en RFC 1321.
El trabajo en el algoritmo fue continuado por los investigadores Bert den Boer y Anton Bosselars, quienes en 1993 demostraron la posibilidad de pseudo-colisiones en MD5, cuando diferentes vectores de inicialización pueden coincidir con los mismos resúmenes de mensajes.
Además, en 1996 Hans Dobbertin afirmó haber encontrado una colisión en MD5. En ese momento, se conocieron los algoritmos hash más preferidos, como las funciones hash criptográficas RIPEMD-160, desarrolladas por Hans Dobbertin, Anton Bosselars y Bart Prenel, Whirlpool, desarrolladas por Vincent Raymen y Paulo Barreto y el algoritmo hash criptográfico SHA-1.
Debido al tamaño de hash relativamente pequeño (128 bits) en MD5, se ha hablado de la posibilidad de ataques de cumpleaños. El proyecto MD5CRK, lanzado por Jean-Luc Cook en 2004, tenía como objetivo estudiar la vulnerabilidad del algoritmo mediante ataques de cumpleaños. Pero, después de cinco meses, el 17 de agosto de 2004, el proyecto se vio truncado debido al descubrimiento de una vulnerabilidad en el algoritmo por parte de un grupo de criptógrafos chinos liderados por Lai Xuejia.
En marzo de 2005, los matemáticos y criptógrafos Benne de Weger, Arjen Lenstra y Wang Xiaoyun crearon dos documentos X.509 con el mismo hash y diferentes claves públicas.
Un año después, en marzo de 2006, el criptógrafo checo Vlastimil Klima publicó un algoritmo que le permite determinar colisiones en una computadora simple en solo un minuto. Este algoritmo se conoció como el método de "tunelización".
Como resultado del análisis de los resultados del trabajo, en 2008, la división de la Administración Nacional de Seguridad Cibernética del Departamento de Seguridad Nacional de EE. UU. (US-CERT) recomendó que todos los involucrados en el desarrollo de software, sitios web, así como los usuarios de la red, dejan de utilizar el algoritmo MD5, independientemente de la finalidad de su aplicación. El motivo de tal recomendación fue la falta de confiabilidad que demostró en el proceso de estudiarlo.
En diciembre de 2010, los criptólogos chinos Tao Xie y Feng Denguo descubrieron una colisión de mensajes de 512 bits (un bloque). Anteriormente, las colisiones solo se encontraban en mensajes de dos bloques o más de longitud. Más tarde, Mark Stevens logró resultados similares al publicar bloques con el mismo hash MD5. También desarrolló un algoritmo para obtener colisiones de este tipo.
El documento final que puso fin a la historia del desarrollo del algoritmo MD5 fue una solicitud de comentarios: RFC 6151 (RFC es un documento oficial desarrollado por el Internet Engineering Council (IETF), que describe las especificaciones para un tecnología), que en realidad reconoció MD5 como un algoritmo hash inseguro. El documento recomienda abandonarlo, eligiendo como alternativa la familia de algoritmos criptográficos SHA-2.
El algoritmo MD5 discutido se considera uno de los primeros estándares de algoritmos utilizados para verificar la integridad de los archivos y almacenar contraseñas en bases de datos de aplicaciones web.
Pero, de hecho, la funcionalidad relativamente simple, la longitud de salida corta y la simplicidad de las operaciones realizadas, siendo las ventajas del algoritmo, también determinan sus desventajas: MD5 se refiere a algoritmos que son propensos a la piratería y tienen un bajo grado de Protección contra ataques de cumpleaños.