MD5 är en 128-bitars hashalgoritm skapad av vetenskapsmannen Ronald L. Rivest i början av 1990-talet. Förkortningen MD5 står för Message Digest Version 5.
MD5-kryptering är baserad på hashing, vilket involverar bildandet av "fingeravtryck" eller "summor" för att ytterligare verifiera deras äkthet. Med den här metoden kan du verifiera informationens integritet, såväl som lagringen av lösenordshashar.
MD5-historik
Historien om Message Digest Algorithm (MD5) börjar 1991, när MIT-professor Ronald L. Rivest rapporterade om skapandet av en ny algoritm som ersatte den föråldrade MD4. När det gäller MD4 hittades verkligen ett antal brister i den, som den tyske kryptologen Hans Dobbertin senare skrev.
Rivest beskrev den nya MD5-algoritmen i RFC 1321.
Arbetet med algoritmen fortsattes av forskarna Bert den Boer och Anton Bosselars, som 1993 bevisade möjligheten till pseudokollisioner i MD5, när olika initialiseringsvektorer kan matcha samma meddelandesammandrag.
Dessutom hävdade Hans Dobbertin 1996 att han hade hittat en kollision i MD5. Vid den tiden blev mer föredragna hashalgoritmer kända, som RIPEMD-160 kryptografiska hashfunktioner – utvecklade av Hans Dobbertin, Anton Bosselars och Bart Prenel, Whirlpool – utvecklade av Vincent Raymen och Paulo Barreto och den kryptografiska hashalgoritmen SHA-1.
På grund av den relativt lilla hashstorleken (128 bitar) i MD5 har det talats om möjligheten för födelsedagsattacker. MD5CRK-projektet, som lanserades av Jean-Luc Cook 2004, syftade till att studera sårbarheten hos algoritmen med hjälp av födelsedagsattacker. Men efter fem månader, den 17 augusti 2004, avbröts projektet på grund av upptäckten av en sårbarhet i algoritmen av en grupp kinesiska kryptografer under ledning av Lai Xueja.
I mars 2005 skapade matematiker och kryptografer Benne de Weger, Arjen Lenstra och Wang Xiaoyun två X.509-dokument med samma hash och olika offentliga nycklar.
Ett år senare, i mars 2006, publicerades en algoritm av den tjeckiske kryptografen Vlastimil Klima, som låter dig fastställa kollisioner på en enkel dator på bara en minut. Denna algoritm blev känd som "tunneling"-metoden.
Som ett resultat av analysen av resultaten av arbetet, 2008, rekommenderade avdelningen för National Cyber Security Administration av US Department of Homeland Security (US-CERT) att alla som var involverade i utvecklingen av programvara, webbplatser, såväl som nätverksanvändare, slutar använda MD5-algoritmen, oavsett syftet med dess tillämpning. Anledningen till en sådan rekommendation var den opålitlighet som han visade när han studerade den.
I december 2010 upptäckte de kinesiska kryptologerna Tao Xie och Feng Denguo en meddelandekollision på 512 bitar (ett block). Tidigare hittades kollisioner endast i meddelanden som var två block eller mer långa. Senare uppnådde Mark Stevens liknande resultat genom att publicera block med samma MD5-hash. Han utvecklade också en algoritm för att få kollisioner av denna typ.
Det slutliga dokumentet som satte stopp för historien om utvecklingen av MD5-algoritmen var en begäran om kommentarer - RFC 6151 (RFC är ett officiellt dokument utvecklat av Internet Engineering Council (IETF), som beskriver specifikationer för en specifik teknologi), som faktiskt kände igen MD5 som en osäker hashalgoritm . Dokumentet rekommenderar att man överger det och väljer SHA-2-familjen av kryptografiska algoritmer som ett alternativ.
Den diskuterade MD5-algoritmen anses vara en av de första algoritmstandarderna som används för att kontrollera filers integritet och lagra lösenord i webbapplikationsdatabaser.
Men i själva verket bestämmer relativt enkel funktionalitet, kort utgångslängd och enkelhet i de utförda operationerna, som är fördelarna med algoritmen, också dess nackdelar - MD5 hänvisar till algoritmer som är benägna att hacka och har en låg grad av skydd mot födelsedagsattacker.