MD5 és un algorisme hash de 128 bits creat pel científic Ronald L. Rivest a principis de la dècada de 1990. L'abreviatura MD5 significa Message Digest Version 5.
L'encriptació MD5 es basa en l'hashing, que implica la formació d'"empremtes dactilars" o "sums" per tal de verificar-ne encara més l'autenticitat. Amb aquest mètode, podeu verificar la integritat de la informació, així com l'emmagatzematge dels hash de contrasenyes.
Historial de MD5
La història del Message Digest Algorithm (MD5) comença l'any 1991, quan el professor del MIT Ronald L. Rivest va informar sobre la creació d'un nou algorisme que va substituir l'obsolet MD4. Pel que fa a MD4, s'hi van trobar una sèrie de deficiències, tal com va escriure més tard el criptòleg alemany Hans Dobbertin.
Rivest va descriure el nou algorisme MD5 a RFC 1321.
El treball sobre l'algorisme va ser continuat pels investigadors Bert den Boer i Anton Bosselars, que el 1993 van demostrar la possibilitat de pseudo-col·lisions a MD5, quan diferents vectors d'inicialització poden coincidir amb els mateixos resums de missatges.
A més, l'any 1996 Hans Dobbertin va afirmar haver trobat una col·lisió a l'MD5. Aleshores, es van conèixer algorismes de hash més preferits, com ara les funcions hash criptogràfiques RIPEMD-160 -desenvolupats per Hans Dobbertin, Anton Bosselars i Bart Prenel, Whirlpool- desenvolupades per Vincent Raymen i Paulo Barreto i l'algoritme de hash criptogràfic SHA-1.
A causa de la mida hash relativament petita (128 bits) a MD5, s'ha parlat de la possibilitat d'atacs d'aniversari. El projecte MD5CRK, llançat per Jean-Luc Cook el 2004, tenia com a objectiu estudiar la vulnerabilitat de l'algorisme mitjançant atacs d'aniversari. Però, després de cinc mesos, el 17 d'agost de 2004, el projecte es va reduir a causa del descobriment d'una vulnerabilitat a l'algorisme per part d'un grup de criptògrafs xinesos liderats per Lai Xuejia.
El març de 2005, els matemàtics i criptògrafs Benne de Weger, Arjen Lenstra i Wang Xiaoyun van crear dos documents X.509 amb el mateix hash i claus públiques diferents.
Un any més tard, el març de 2006, el criptògraf txec Vlastimil Klima va publicar un algorisme que permet determinar les col·lisions en un ordinador senzill en només un minut. Aquest algorisme es va conèixer com a mètode de "túnel".
Com a resultat de l'anàlisi dels resultats del treball, l'any 2008, la divisió de l'Administració Nacional de Seguretat Cibernètica del Departament de Seguretat Nacional dels Estats Units (US-CERT) va recomanar que tothom qui participés en el desenvolupament del programari, els llocs web, així com els usuaris de la xarxa, deixen d'utilitzar l'algoritme MD5, independentment de la finalitat de la seva aplicació. El motiu d'aquesta recomanació va ser la falta de fiabilitat que va demostrar en el procés d'estudiar-la.
El desembre de 2010, els criptòlegs xinesos Tao Xie i Feng Denguo van descobrir una col·lisió de missatges de 512 bits (un bloc). Anteriorment, només es trobaven col·lisions en missatges de dos blocs o més de longitud. Més tard, Mark Stevens va aconseguir resultats similars mitjançant la publicació de blocs amb el mateix hash MD5. També va desenvolupar un algorisme per obtenir col·lisions d'aquest tipus.
El document final que va posar fi a la història del desenvolupament de l'algorisme MD5 va ser una sol·licitud de comentaris - RFC 6151 (RFC és un document oficial desenvolupat per l'Internet Engineering Council (IETF), que descriu les especificacions per a un determinat tecnologia), que en realitat reconeixia MD5 com un algorisme hashing insegur. El document recomana abandonar-lo i escollir la família SHA-2 d'algoritmes criptogràfics com a alternativa.
L'algorisme MD5 comentat es considera un dels primers estàndards d'algorisme utilitzats per comprovar la integritat dels fitxers i emmagatzemar contrasenyes a les bases de dades d'aplicacions web.
Però, de fet, la funcionalitat relativament senzilla, la curta durada de sortida i la senzillesa de les operacions realitzades, sent els avantatges de l'algoritme, també determinen els seus inconvenients: MD5 es refereix a algorismes que són propensos a la pirateria i tenen un baix grau de pirateria. protecció contra els atacs d'aniversari.