MD5 er en 128-bit hash-algoritme skabt af videnskabsmanden Ronald L. Rivest i begyndelsen af 1990'erne. Forkortelsen MD5 står for Message Digest Version 5.
MD5-kryptering er baseret på hashing, hvilket involverer dannelsen af "fingeraftryk" eller "summer" for yderligere at verificere deres ægthed. Ved at bruge denne metode kan du verificere integriteten af oplysningerne samt lagringen af kodeords-hash.
MD5-historik
Historien om Message Digest Algorithm (MD5) begynder i 1991, da MIT-professor Ronald L. Rivest rapporterede om oprettelsen af en ny algoritme, der erstattede den forældede MD4. Hvad angår MD4, blev der faktisk fundet en række mangler i den, som den tyske kryptolog Hans Dobbertin senere skrev.
Rivest beskrev den nye MD5-algoritme i RFC 1321.
Arbejdet med algoritmen blev videreført af forskerne Bert den Boer og Anton Bosselars, som i 1993 beviste muligheden for pseudo-kollisioner i MD5, når forskellige initialiseringsvektorer kan matche med de samme meddelelsessammensætninger.
Yderligere hævdede Hans Dobbertin i 1996 at have fundet en kollision i MD5. På det tidspunkt blev mere foretrukne hashing-algoritmer kendt, såsom RIPEMD-160 kryptografiske hash-funktioner – udviklet af Hans Dobbertin, Anton Bosselars og Bart Prenel, Whirlpool – udviklet af Vincent Raymen og Paulo Barreto og den kryptografiske hashing-algoritme SHA-1.
På grund af den relativt lille hash-størrelse (128 bit) i MD5, har der været talt om muligheden for fødselsdagsangreb. MD5CRK-projektet, lanceret af Jean-Luc Cook i 2004, havde til formål at studere sårbarheden af algoritmen ved hjælp af fødselsdagsangreb. Men efter fem måneder, den 17. august 2004, blev projektet indskrænket på grund af opdagelsen af en sårbarhed i algoritmen af en gruppe kinesiske kryptografer ledet af Lai Xueja.
I marts 2005 oprettede matematikere og kryptografer Benne de Weger, Arjen Lenstra og Wang Xiaoyun to X.509-dokumenter med den samme hash og forskellige offentlige nøgler.
Et år senere, i marts 2006, blev en algoritme udgivet af den tjekkiske kryptograf Vlastimil Klima, som giver dig mulighed for at bestemme kollisioner på en simpel computer på blot et minut. Denne algoritme blev kendt som "tunneling"-metoden.
Som et resultat af analysen af resultaterne af arbejdet anbefalede afdelingen af National Cyber Security Administration i US Department of Homeland Security (US-CERT) i 2008, at alle, der var involveret i udviklingen af software, websteder, samt netværksbrugere, holder op med at bruge MD5-algoritmen, uanset formålet med dens anvendelse. Årsagen til en sådan anbefaling var den upålidelighed, som han udviste i processen med at studere den.
I december 2010 opdagede de kinesiske kryptologer Tao Xie og Feng Denguo en beskedkollision på 512 bit (én blok). Tidligere blev kollisioner kun fundet i beskeder, der var to blokke eller mere lange. Senere opnåede Mark Stevens lignende resultater ved at udgive blokke med den samme MD5-hash. Han udviklede også en algoritme til at opnå kollisioner af denne type.
Det endelige dokument, der satte en stopper for historien om udviklingen af MD5-algoritmen, var en anmodning om kommentarer - RFC 6151 (RFC er et officielt dokument udviklet af Internet Engineering Council (IETF), som beskriver specifikationer for en specifik teknologi), som faktisk anerkendte MD5 som en usikker hashing-algoritme. Dokumentet anbefaler at opgive det og vælge SHA-2-familien af kryptografiske algoritmer som et alternativ.
Den omtalte MD5-algoritme anses for at være en af de første algoritmestandarder, der bruges til at kontrollere integriteten af filer og gemme adgangskoder i webapplikationsdatabaser.
Men faktisk bestemmer den relativt enkle funktionalitet, korte outputlængde og enkelhed af de udførte operationer, som er fordelene ved algoritmen, også dens ulemper - MD5 refererer til algoritmer, der er tilbøjelige til at hacke og har en lav grad af beskyttelse mod fødselsdagsangreb.