MD5 ir 128 bitu jaukšanas algoritms, ko deviņdesmito gadu sākumā izveidoja zinātnieks Ronalds L. Rivests. Saīsinājums MD5 apzīmē Message Digest Version 5.
MD5 šifrēšanas pamatā ir jaukšana, kas ietver "pirkstu nospiedumu" vai "summas" veidošanu, lai vēl vairāk pārbaudītu to autentiskumu. Izmantojot šo metodi, varat pārbaudīt informācijas integritāti, kā arī paroļu jaucējkodu glabāšanu.
MD5 vēsture
Ziņojuma apkopojuma algoritma (MD5) vēsture aizsākās 1991. gadā, kad MIT profesors Ronalds L. Rivests ziņoja par jauna algoritma izveidi, kas aizstāja novecojušo MD4. Kas attiecas uz MD4, tajā patiešām tika konstatētas vairākas nepilnības, kā vēlāk rakstīja vācu kriptologs Hanss Dobertins.
Rivest aprakstīja jauno MD5 algoritmu RFC 1321.
Darbu pie algoritma turpināja pētnieki Bērts den Būrs un Antons Boselārs, kuri 1993. gadā pierādīja pseido-sadursmju iespējamību MD5, kad dažādi inicializācijas vektori var sakrist ar vienādiem ziņojumu īssavilkumiem.
Turklāt 1996. gadā Hanss Dobbertins apgalvoja, ka ir atradis sadursmi MD5. Tajā laikā kļuva zināmi vēlamāki jaukšanas algoritmi, piemēram, RIPEMD-160 kriptogrāfiskās jaukšanas funkcijas, ko izstrādāja Hanss Dobbertins, Antons Boselārs un Barts Prenels, Whirlpool, ko izstrādāja Vincents Reimens un Paulo Barreto, un SHA-1 kriptogrāfijas jaukšanas algoritms.
Tā kā MD5 ir salīdzinoši mazs hash lielums (128 biti), ir runāts par dzimšanas dienas uzbrukumu iespējamību. Projekta MD5CRK, ko 2004. gadā uzsāka Žans Liks Kuks, mērķis bija izpētīt algoritma ievainojamību, izmantojot dzimšanas dienas uzbrukumus. Taču pēc pieciem mēnešiem, 2004. gada 17. augustā, projekts tika ierobežots, jo ķīniešu kriptogrāfu grupa, kuru vadīja Lai Xuejia, atklāja algoritma ievainojamību.
2005. gada martā matemātiķi un kriptogrāfi Benne de Vēgers, Arjens Lenstra un Vans Sjaojuns izveidoja divus X.509 dokumentus ar vienādu jaucējfunkciju un atšķirīgām publiskajām atslēgām.
Gadu vēlāk, 2006. gada martā, čehu kriptogrāfs Vlastimils Klima publicēja algoritmu, kas ļauj vienkāršā datorā noteikt sadursmes tikai vienas minūtes laikā. Šis algoritms kļuva pazīstams kā "tunelēšanas" metode.
Darba rezultātu analīzes rezultātā 2008. gadā ASV Iekšzemes drošības departamenta Nacionālās kiberdrošības pārvaldes (US-CERT) nodaļa ieteica visiem, kas bija iesaistīti izstrādē. programmatūra, tīmekļa vietnes, kā arī tīkla lietotāji pārtrauc MD5 algoritma izmantošanu neatkarīgi no tā lietošanas mērķa. Iemesls šādam ieteikumam bija neuzticamība, ko viņš demonstrēja tā izpētes procesā.
2010. gada decembrī ķīniešu kriptologi Tao Sji un Fens Denguo atklāja 512 bitu (viena bloka) ziņojumu sadursmi. Iepriekš sadursmes tika konstatētas tikai ziņojumos, kuru garums bija divi vai vairāk bloki. Vēlāk Marks Stīvenss sasniedza līdzīgus rezultātus, publicējot blokus ar to pašu MD5 hash. Viņš arī izstrādāja algoritmu šāda veida sadursmju iegūšanai.
Pēdējais dokuments, kas pielika punktu MD5 algoritma izstrādes vēsturei, bija komentāru pieprasījums — RFC 6151 (RFC ir oficiāls Interneta inženieru padomes (IETF) izstrādāts dokuments, kurā aprakstītas konkrētas specifikācijas. tehnoloģija), kas faktiski atzina MD5 kā nedrošu jaukšanas algoritmu . Dokumentā ieteikts no tā atteikties, kā alternatīvu izvēlēties kriptogrāfijas algoritmu saimi SHA-2.
Apskatītais MD5 algoritms tiek uzskatīts par vienu no pirmajiem algoritmu standartiem, ko izmanto, lai pārbaudītu failu integritāti un saglabātu paroles tīmekļa lietojumprogrammu datu bāzēs.
Bet patiesībā salīdzinoši vienkāršā funkcionalitāte, īss izvades garums un veikto darbību vienkāršība, kas ir algoritma priekšrocības, nosaka arī tā trūkumus - MD5 attiecas uz algoritmiem, kas ir pakļauti uzlaušanai un kuriem ir zema slodzes pakāpe. aizsardzība pret dzimšanas dienas uzbrukumiem.