MD5 është një algoritëm hash 128-bit i krijuar nga shkencëtari Ronald L. Rivest në fillim të viteve 1990. Shkurtesa MD5 qëndron për Message Digest Version 5.
Kriptimi MD5 bazohet në hashing, i cili përfshin formimin e "gjurmëve të gishtërinjve" ose "shumave" për të verifikuar më tej vërtetësinë e tyre. Duke përdorur këtë metodë, mund të verifikoni integritetin e informacionit, si dhe ruajtjen e hasheve të fjalëkalimeve.
Historia e MD5
Historia e Algoritmit të Përmbledhjes së Mesazheve (MD5) fillon në vitin 1991, kur profesori i MIT Ronald L. Rivest raportoi për krijimin e një algoritmi të ri që zëvendësoi MD4-në e vjetëruar. Sa i përket MD4, një sërë mangësish u gjetën në të, siç shkroi më vonë kriptologu gjerman Hans Dobbertin.
Rivest përshkroi algoritmin e ri MD5 në RFC 1321.
Puna mbi algoritmin u vazhdua nga studiuesit Bert den Boer dhe Anton Bosselars, të cilët në vitin 1993 vërtetuan mundësinë e pseudo-përplasjeve në MD5, kur vektorë të ndryshëm inicializimi mund të përputhen me të njëjtat përmbledhje mesazhesh.
Më tej, në 1996, Hans Dobbertin pretendoi se kishte gjetur një përplasje në MD5. Në atë kohë, u bënë të njohur algoritmet më të preferuar hashing, të tilla si funksionet hash kriptografike RIPEMD-160 - të zhvilluara nga Hans Dobbertin, Anton Bosselars dhe Bart Prenel, Whirlpool - të zhvilluara nga Vincent Raymen dhe Paulo Barreto dhe algoritmi i hash kriptografik SHA-1.
Për shkak të madhësisë relativisht të vogël të hash-it (128 bit) në MD5, është folur për mundësinë e sulmeve të ditëlindjes. Projekti MD5CRK, i nisur nga Jean-Luc Cook në 2004, synonte të studionte cenueshmërinë e algoritmit duke përdorur sulmet e ditëlindjes. Por, pas pesë muajsh, më 17 gusht 2004, projekti u kufizua për shkak të zbulimit të një dobësie në algoritëm nga një grup kriptografësh kinezë të udhëhequr nga Lai Xuejia.
Në mars 2005, matematikanët dhe kriptografët Benne de Weger, Arjen Lenstra dhe Wang Xiaoyun krijuan dy dokumente X.509 me të njëjtin hash dhe çelësa publikë të ndryshëm.
Një vit më vonë, në mars 2006, një algoritëm u publikua nga kriptografi çek Vlastimil Klima, i cili ju lejon të përcaktoni përplasjet në një kompjuter të thjeshtë në vetëm një minutë. Ky algoritëm u bë i njohur si metoda "tuneling".
Si rezultat i analizës së rezultateve të punës, në vitin 2008, ndarja e Administratës Kombëtare të Sigurisë Kibernetike të Departamentit të Sigurisë Kombëtare të SHBA (US-CERT) rekomandoi që të gjithë ata që ishin të përfshirë në zhvillim i softuerit, faqeve të internetit, si dhe përdoruesve të rrjetit, ndalojnë përdorimin e algoritmit MD5, pavarësisht nga qëllimi i aplikimit të tij. Arsyeja për një rekomandim të tillë ishte mosbesueshmëria që ai tregoi në procesin e studimit të tij.
Në dhjetor 2010, kriptologët kinezë Tao Xie dhe Feng Denguo zbuluan një përplasje mesazhi prej 512 bitësh (një bllok). Më parë, përplasjet u gjetën vetëm në mesazhe që ishin dy blloqe ose më shumë në gjatësi. Më vonë, Mark Stevens arriti rezultate të ngjashme duke publikuar blloqe me të njëjtin hash MD5. Ai gjithashtu zhvilloi një algoritëm për marrjen e përplasjeve të këtij lloji.
Dokumenti përfundimtar që i dha fund historisë së zhvillimit të algoritmit MD5 ishte një kërkesë për komente - RFC 6151 (RFC është një dokument zyrtar i zhvilluar nga Këshilli i Inxhinierisë së Internetit (IETF), i cili përshkruan specifikimet për një specifikë teknologji), e cila në fakt e njohu MD5 si një algoritëm hashing të pasigurt. Dokumenti rekomandon braktisjen e tij, duke zgjedhur si alternativë familjen e algoritmeve kriptografike SHA-2.
Algoritmi i diskutuar MD5 konsiderohet të jetë një nga standardet e para të algoritmit të përdorur për të kontrolluar integritetin e skedarëve dhe ruajtjen e fjalëkalimeve në bazat e të dhënave të aplikacioneve në ueb.
Por, në fakt, funksionaliteti relativisht i thjeshtë, gjatësia e shkurtër e daljes dhe thjeshtësia e operacioneve të kryera, duke qenë avantazhet e algoritmit, përcaktojnë edhe disavantazhet e tij - MD5 i referohet algoritmeve që janë të prirur për hakerim dhe kanë një shkallë të ulët mbrojtje kundër sulmeve të ditëlindjes.