MD5,Message-Digest algorithm 5, är en kryptografiskhashfunktion som skapar ett 128bitar stort hashvärde av valfri data. MD5 utvecklades 1991 avRonald Rivest för att ersätta den äldre rutinenMD4. Funktionen är beskriven i bland annatRFC 1321.
MD5 används för att skapakontrollsummor, bland annat vidfilöverföring,digital signering ochlösenordsverifiering. Den anses sedan 2005 inte vara en kryptografisk säker funktion, men kan fortfarande användas för att upptäcka fel som har uppstått av misstag.
Mycket arbete har lagts ner på att hitta svagheter i MD5 som kan användas för att till exempel skapa olika filer eller signaturer med samma hashvärde, och för att från ett hashvärde finna ettlösenord iklartext. 2005 lyckades forskare skapa tvåPostscript-filer med samma hashvärde, och även tvåX.509-certifikat med samma hashvärde. På Chaos Communication Congress 2008 presenterade en forskargrupp ett falsktCA-certifikat som såg legitimt ut när dess MD5-hashvärde kontrollerades.[1] Med ett sådant certifikat kan enman-in-the-middle-attack utföras.[2]
Flera projekt har arbetat medregnbågstabeller för MD5, som kan användas för att från ett hashvärde finna ett eller flera potentiella lösenord. Dessa tabeller är dock närmast värdelösa om lösenordensaltas före hashning.