MD5 er en 128-biters hash-algoritme laget av forskeren Ronald L. Rivest på begynnelsen av 1990-tallet. Forkortelsen MD5 står for Message Digest Version 5.
MD5-kryptering er basert på hashing, som involverer dannelse av "fingeravtrykk" eller "summer" for ytterligere å verifisere deres autentisitet. Ved å bruke denne metoden kan du verifisere integriteten til informasjonen, samt lagring av passordhasher.
MD5-historikk
Historien til Message Digest Algorithm (MD5) begynner i 1991, da MIT-professor Ronald L. Rivest rapporterte om etableringen av en ny algoritme som erstattet den utdaterte MD4. Når det gjelder MD4, ble det faktisk funnet en rekke mangler i den, som den tyske kryptologen Hans Dobbertin senere skrev.
Rivest beskrev den nye MD5-algoritmen i RFC 1321.
Arbeidet med algoritmen ble videreført av forskerne Bert den Boer og Anton Bosselars, som i 1993 beviste muligheten for pseudokollisjoner i MD5, når forskjellige initialiseringsvektorer kan matche med samme meldingssammendrag.
I tillegg hevdet Hans Dobbertin i 1996 å ha funnet en kollisjon i MD5. På den tiden ble mer foretrukne hashing-algoritmer kjent, slik som RIPEMD-160 kryptografiske hash-funksjoner – utviklet av Hans Dobbertin, Anton Bosselars og Bart Prenel, Whirlpool – utviklet av Vincent Raymen og Paulo Barreto og den kryptografiske hashingalgoritmen SHA-1.
På grunn av den relativt lille hash-størrelsen (128 biter) i MD5, har det vært snakk om muligheten for bursdagsangrep. MD5CRK-prosjektet, lansert av Jean-Luc Cook i 2004, hadde som mål å studere sårbarheten til algoritmen ved å bruke bursdagsangrep. Men etter fem måneder, 17. august 2004, ble prosjektet innskrenket på grunn av oppdagelsen av en sårbarhet i algoritmen av en gruppe kinesiske kryptografer ledet av Lai Xueja.
I mars 2005 opprettet matematikere og kryptografer Benne de Weger, Arjen Lenstra og Wang Xiaoyun to X.509-dokumenter med samme hash og forskjellige offentlige nøkler.
Et år senere, i mars 2006, ble en algoritme publisert av den tsjekkiske kryptografen Vlastimil Klima, som lar deg bestemme kollisjoner på en enkel datamaskin på bare ett minutt. Denne algoritmen ble kjent som "tunneleringsmetoden".
Som et resultat av analysen av resultatene av arbeidet, i 2008, anbefalte avdelingen av National Cyber Security Administration av US Department of Homeland Security (US-CERT) at alle som var involvert i utviklingen programvare, nettsteder, så vel som nettverksbrukere, slutter å bruke MD5-algoritmen, uavhengig av formålet med applikasjonen. Årsaken til en slik anbefaling var upåliteligheten som han viste i prosessen med å studere den.
I desember 2010 oppdaget de kinesiske kryptologene Tao Xie og Feng Denguo en meldingskollisjon på 512 biter (én blokk). Tidligere ble kollisjoner bare funnet i meldinger som var to blokker eller mer lange. Senere oppnådde Mark Stevens lignende resultater ved å publisere blokker med samme MD5-hash. Han utviklet også en algoritme for å oppnå kollisjoner av denne typen.
Det endelige dokumentet som satte en stopper for historien om utviklingen av MD5-algoritmen var en forespørsel om kommentarer - RFC 6151 (RFC er et offisielt dokument utviklet av Internet Engineering Council (IETF), som beskriver spesifikasjoner for en spesifikk teknologi), som faktisk anerkjente MD5 som en usikker hashing-algoritme . Dokumentet anbefaler å forlate det, og velge SHA-2-familien av kryptografiske algoritmer som et alternativ.
Den omtalte MD5-algoritmen anses å være en av de første algoritmestandardene som brukes til å sjekke integriteten til filer og lagre passord i webapplikasjonsdatabaser.
Men faktisk, den relativt enkle funksjonaliteten, korte utdatalengden og enkelheten til operasjonene som utføres, som er fordelene med algoritmen, bestemmer også dens ulemper - MD5 refererer til algoritmer som er utsatt for hacking og har en lav grad av beskyttelse mot bursdagsangrep.