Az MD5 egy 128 bites hash algoritmus, amelyet Ronald L. Rivest tudós hozott létre az 1990-es évek elején. Az MD5 rövidítés a Message Digest Version 5 rövidítése.
Az MD5-titkosítás a kivonatoláson alapul, amely "ujjlenyomatok" vagy "összegek" képzését foglalja magában a hitelességük további ellenőrzése érdekében. Ezzel a módszerrel ellenőrizheti az információk sértetlenségét, valamint a jelszókivonatok tárolását.
MD5 előzmények
A Message Digest Algorithm (MD5) története 1991-ben kezdődik, amikor Ronald L. Rivest, az MIT professzora egy új algoritmus létrehozásáról számolt be, amely felváltotta az elavult MD4-et. Ami az MD4-et illeti, valóban számos hiányosságot találtak benne, ahogy Hans Dobbertin német kriptológus később megírta.
A Rivest leírta az új MD5 algoritmust az RFC 1321-ben.
Az algoritmuson végzett munkát Bert den Boer és Anton Bosselars kutatók folytatták, akik 1993-ban bebizonyították, hogy az MD5-ben pszeudoütközések lehetségesek, amikor a különböző inicializálási vektorok megegyezhetnek ugyanazon üzenetkivonatokkal.
Továbbá 1996-ban Hans Dobbertin azt állította, hogy ütközést talált az MD5-ben. Ekkor váltak ismertté az előnyben részesített kivonatoló algoritmusok, mint például a RIPEMD-160 kriptográfiai hash függvények - Hans Dobbertin, Anton Bosselars és Bart Prenel, Whirlpool által kifejlesztett - Vincent Raymen és Paulo Barreto, valamint az SHA-1 kriptográfiai kivonatoló algoritmus.
Az MD5 viszonylag kis hash mérete (128 bit) miatt szóba került a születésnapi támadások lehetősége. A Jean-Luc Cook által 2004-ben elindított MD5CRK projekt célja az algoritmus sebezhetőségének tanulmányozása volt születésnapi támadások segítségével. Öt hónap elteltével, 2004. augusztus 17-én azonban a projektet lefaragták, mivel a Lai Xuejia vezette kínai kriptográfusok egy csoportja egy sebezhetőséget fedezett fel az algoritmusban.
2005 márciusában Benne de Weger, Arjen Lenstra és Wang Xiaoyun matematikusok és kriptográfusok két X.509-es dokumentumot hoztak létre ugyanazzal a hash-szel és különböző nyilvános kulcsokkal.
Egy évvel később, 2006 márciusában Vlastimil Klima cseh kriptográfus kiadott egy algoritmust, amely lehetővé teszi az ütközések meghatározását egy egyszerű számítógépen, mindössze egy perc alatt. Ez az algoritmus „tunneling” módszerként vált ismertté.
A munka eredményeinek elemzése eredményeként 2008-ban az Amerikai Egyesült Államok Belbiztonsági Minisztériumának Nemzeti Kiberbiztonsági Hivatalának (US-CERT) részlege azt javasolta mindenkinek, aki részt vett a fejlesztésben. szoftverek, webhelyek, valamint a hálózati felhasználók nem használják az MD5 algoritmust, függetlenül annak alkalmazási céljától. Az ilyen ajánlás oka a megbízhatatlanság volt, amelyet a tanulmányozása során tanúsított.
2010 decemberében Tao Xie és Feng Denguo kínai kriptológusok 512 bites üzenetütközést fedeztek fel (egy blokk). Korábban csak két blokknyi vagy annál hosszabb üzenetekben találtak ütközést. Később Mark Stevens hasonló eredményeket ért el azzal, hogy blokkokat publikált ugyanazzal az MD5 hash-sel. Kidolgozott egy algoritmust is az ilyen típusú ütközések megszerzésére.
A végső dokumentum, amely véget vetett az MD5 algoritmus fejlesztésének történetének, egy megjegyzéskérés volt – az RFC 6151 (az RFC az Internet Engineering Council (IETF) által kifejlesztett hivatalos dokumentum, amely egy adott specifikációt ír le. technológia), amely valójában az MD5-öt nem biztonságos kivonatoló algoritmusként ismerte fel. A dokumentum azt javasolja, hogy hagyjuk fel, alternatívaként válasszuk az SHA-2 kriptográfiai algoritmuscsaládot.
A tárgyalt MD5 algoritmus az egyik első algoritmusszabvány, amelyet a fájlok integritásának ellenőrzésére és a jelszavak webalkalmazás-adatbázisokban való tárolására használnak.
Valójában azonban a viszonylag egyszerű funkcionalitás, a rövid kimeneti hossz és a végrehajtott műveletek egyszerűsége, mint az algoritmus előnyei, meghatározza annak hátrányait is – az MD5 olyan algoritmusokra vonatkozik, amelyek hajlamosak a hackelésre és alacsony a terhelési szintjük. születésnapi támadások elleni védelem.