MD5 este un algoritm hash pe 128 de biți creat de omul de știință Ronald L. Rivest la începutul anilor 1990. Abrevierea MD5 înseamnă Message Digest Version 5.
Criptarea MD5 se bazează pe hashing, care implică formarea de „amprente” sau „sume” pentru a verifica în continuare autenticitatea acestora. Folosind această metodă, puteți verifica integritatea informațiilor, precum și stocarea hash-urilor parolei.
Istoricul MD5
Istoria algoritmului Message Digest (MD5) începe în 1991, când profesorul MIT Ronald L. Rivest a raportat despre crearea unui nou algoritm care l-a înlocuit pe MD4 învechit. În ceea ce privește MD4, s-au găsit într-adevăr o serie de deficiențe în el, după cum a scris ulterior criptologul german Hans Dobbertin.
Rivest a descris noul algoritm MD5 în RFC 1321.
Lucrările asupra algoritmului au fost continuate de cercetătorii Bert den Boer și Anton Bosselars, care în 1993 au demonstrat posibilitatea unor pseudo-coliziuni în MD5, când diferiți vectori de inițializare se pot potrivi cu aceleași rezumate de mesaje.
În plus, în 1996, Hans Dobbertin a susținut că a găsit o coliziune în MD5. În acel moment, au devenit cunoscuți algoritmi de hashing mai preferați, cum ar fi funcțiile hash criptografice RIPEMD-160 - dezvoltate de Hans Dobbertin, Anton Bosselars și Bart Prenel, Whirlpool - dezvoltate de Vincent Raymen și Paulo Barreto și algoritmul de hashing criptografic SHA-1.
Datorită dimensiunii hash relativ mici (128 de biți) în MD5, s-a vorbit despre posibilitatea atacurilor de ziua de naștere. Proiectul MD5CRK, lansat de Jean-Luc Cook în 2004, și-a propus să studieze vulnerabilitatea algoritmului folosind atacuri de naștere. Dar, după cinci luni, pe 17 august 2004, proiectul a fost întrerupt din cauza descoperirii unei vulnerabilități în algoritm de către un grup de criptografi chinezi condus de Lai Xuejia.
În martie 2005, matematicienii și criptografii Benne de Weger, Arjen Lenstra și Wang Xiaoyun au creat două documente X.509 cu același hash și chei publice diferite.
Un an mai târziu, în martie 2006, a fost publicat un algoritm de către criptograful ceh Vlastimil Klima, care vă permite să determinați coliziunile pe un simplu computer în doar un minut. Acest algoritm a devenit cunoscut drept metoda „tunelului”.
Ca urmare a analizei rezultatelor lucrării, în 2008, divizia Administrației Naționale de Securitate Cibernetică a Departamentului de Securitate Internă al SUA (US-CERT) a recomandat tuturor celor care au fost implicați în dezvoltarea de software, site-uri web, precum și utilizatorii rețelei, încetează să mai folosească algoritmul MD5, indiferent de scopul aplicării acestuia. Motivul unei astfel de recomandări a fost lipsa de încredere pe care a demonstrat-o în procesul de studiu.
În decembrie 2010, criptologii chinezi Tao Xie și Feng Denguo au descoperit o coliziune de mesaje de 512 biți (un bloc). Anterior, coliziunile au fost găsite numai în mesajele care aveau două blocuri sau mai mult. Mai târziu, Mark Stevens a obținut rezultate similare publicând blocuri cu același hash MD5. De asemenea, a dezvoltat un algoritm pentru obținerea ciocnirilor de acest tip.
Documentul final care a pus capăt istoriei dezvoltării algoritmului MD5 a fost o solicitare de comentarii - RFC 6151 (RFC este un document oficial dezvoltat de Internet Engineering Council (IETF), care descrie specificațiile pentru un anumit tehnologie), care a recunoscut de fapt MD5 ca un algoritm de hashing nesigur. Documentul recomandă abandonarea acestuia, alegând familia SHA-2 de algoritmi criptografici ca alternativă.
Algoritmul MD5 discutat este considerat a fi unul dintre primele standarde de algoritm utilizate pentru a verifica integritatea fișierelor și a stoca parolele în bazele de date ale aplicațiilor web.
Dar, de fapt, funcționalitatea relativ simplă, lungimea scurtă de ieșire și simplitatea operațiunilor efectuate, fiind avantajele algoritmului, determină și dezavantajele acestuia - MD5 se referă la algoritmi care sunt predispuși la hacking și au un grad scăzut de protecție împotriva atacurilor de ziua de naștere.