MD5-tiivistysalgoritmi on yksisuuntainen salausfunktio, joka hyväksyy minkä pituisen viestin syötteeksi ja palauttaa tulosteena kiinteän pituisen digest-arvon, jota käytetään alkuperäisen viestin todentamiseen.
MD5-hash-funktio suunniteltiin alun perin käytettäväksi suojattuna kryptografisena hajautusalgoritmina digitaalisten allekirjoitusten todentamiseen. MD5 on vanhentunut muuhun käyttöön kuin ei-salauksen tarkistussummaksi tietojen eheyden tarkistamiseksi ja tahattoman tietojen korruption havaitsemiseksi.
vaikka MD5-tiivistys suunniteltiin alun perin salaussanomien todennuskoodialgoritmiksi käytettäväksi Internetissä, sitä ei enää pidetä luotettavana käytettäväksi salaussummana, koska tutkijat ovat osoittaneet tekniikoita, joilla voidaan helposti luoda MD5-törmäyksiä kaupallisiin off-the-Shell-tietokoneisiin.
Ronald Rivest, RSA Data Securityn perustaja ja MIT: n instituuttiprofessori, suunnitteli MD5: n parannukseksi aiempaan message digest-algoritmiin, MD4: ään. Kuvataan sitä Internet Engineering Task Force RFC 1321, ”MD5 Message-Digest algoritmi,” hän kirjoitti:
algoritmi ottaa syötteeksi mielivaltaisen pituisen viestin ja tuottaa ulostulona syötön 128-bittisen ”sormenjäljen” tai ”viestin Digestin”. On conjectured, että se on laskennallisesti mahdotonta tuottaa kaksi viestiä, joilla on sama viesti digest, tai tuottaa minkä tahansa viestin, jolla on tietty ennalta määritelty kohde viesti digest. MD5-algoritmi on tarkoitettu digitaalisiin allekirjoitussovelluksiin, joissa suuri tiedosto on ”pakattava” suojatulla tavalla ennen kuin se salataan yksityisellä (salaisella) avaimella julkisen avaimen salausjärjestelmän kuten RSA: n alla.
IETF ehdottaa, että MD5-tarkistussummaa voidaan edelleen käyttää eheyden suojaamiseen, ja toteaa, että ”jos MD5-tarkistussummaa käytetään inline-protokollan kanssa AINOASTAAN virheiden suojaamiseksi, MD5-tarkistussumma on edelleen hyväksyttävä käyttö.”Se kuitenkin lisäsi, että” minkä tahansa sovelluksen ja protokollan, joka käyttää MD5: tä mihin tahansa tarkoitukseen, on selkeästi ilmoitettava odotetut turvallisuuspalvelut MD5: n käytöstä.”