MD5 on 128-bittinen hash-algoritmi, jonka loi tutkija Ronald L. Rivest 1990-luvun alussa. Lyhenne MD5 tarkoittaa Message Digest -versiota 5.
MD5-salaus perustuu tiivistykseen, joka sisältää "sormenjälkien" tai "summien" muodostamisen niiden aitouden lisäämiseksi. Tällä menetelmällä voit varmistaa tietojen eheyden sekä salasanahajautusten tallennuksen.
MD5-historia
Message Digest Algorithmin (MD5) historia alkaa vuonna 1991, jolloin MIT:n professori Ronald L. Rivest raportoi uuden algoritmin luomisesta, joka korvasi vanhentuneen MD4:n. Mitä tulee MD4:ään, siinä todellakin löydettiin useita puutteita, kuten saksalainen kryptologi Hans Dobbertin myöhemmin kirjoitti.
Rivest kuvasi uuden MD5-algoritmin RFC 1321:ssä.
Algoritmin työskentelyä jatkoivat tutkijat Bert den Boer ja Anton Bosselars, jotka vuonna 1993 osoittivat pseudotörmäysten mahdollisuuden MD5:ssä, kun eri alustusvektorit voivat sopia samojen viestitiivistelmien kanssa.
Lisäksi vuonna 1996 Hans Dobbertin väitti löytäneensä törmäyksen MD5:ssä. Tuolloin tunnettiin suositeltavimmat hajautusalgoritmit, kuten RIPEMD-160 kryptografiset hajautusfunktiot - Hans Dobbertinin, Anton Bosselarsin ja Bart Prenelin kehittämä Whirlpool - Vincent Raymenin ja Paulo Barreton kehittämä sekä SHA-1 kryptografinen hajautusalgoritmi.
MD5:n suhteellisen pienen hash-koon (128 bittiä) vuoksi on puhuttu syntymäpäivähyökkäysten mahdollisuudesta. Jean-Luc Cookin vuonna 2004 käynnistämässä MD5CRK-projektissa pyrittiin tutkimaan algoritmin haavoittuvuutta syntymäpäivähyökkäyksillä. Mutta viiden kuukauden kuluttua, 17. elokuuta 2004, projektia rajoitettiin, koska Lai Xuejian johtama kiinalaisten kryptografien ryhmä löysi algoritmissa haavoittuvuuden.
Maaliskuussa 2005 matemaatikot ja kryptografit Benne de Weger, Arjen Lenstra ja Wang Xiaoyun loivat kaksi X.509-dokumenttia, joissa oli sama tiiviste ja erilaiset julkiset avaimet.
Vuotta myöhemmin, maaliskuussa 2006, tšekkiläinen kryptografi Vlastimil Klima julkaisi algoritmin, jonka avulla voit määrittää törmäykset yksinkertaisella tietokoneella vain minuutissa. Tämä algoritmi tunnettiin tunnelointimenetelmänä.
Työn tulosten analysoinnin tuloksena vuonna 2008 Yhdysvaltain sisäisen turvallisuuden ministeriön National Cyber Security Administration (US-CERT) -osasto suositteli kaikille, jotka olivat mukana kehityksessä. ohjelmistojen, verkkosivustojen ja verkon käyttäjien lopettaa MD5-algoritmin käyttö sen sovelluksen tarkoituksesta riippumatta. Syynä tällaiseen suositukseen oli epäluotettavuus, jonka hän osoitti tutkiessaan sitä.
Joulukuussa 2010 kiinalaiset kryptologit Tao Xie ja Feng Denguo löysivät 512 bitin (yksi lohko) viestien törmäyksen. Aikaisemmin törmäyksiä löydettiin vain viesteistä, jotka olivat vähintään kahden lohkon pituisia. Myöhemmin Mark Stevens saavutti samanlaisia tuloksia julkaisemalla lohkoja samalla MD5-tiivisteellä. Hän kehitti myös algoritmin tämäntyyppisten törmäysten saamiseksi.
Viimeinen asiakirja, joka päätti MD5-algoritmin kehityshistorian, oli kommenttipyyntö - RFC 6151 (RFC on Internet Engineering Councilin (IETF) kehittämä virallinen asiakirja, joka kuvaa tietyn tietyn tekniikka), joka itse asiassa tunnisti MD5:n turvattomaksi hajautusalgoritmiksi . Asiakirjassa suositellaan sen luopumista ja SHA-2-salausalgoritmien valintaa vaihtoehtona.
Keskusteltua MD5-algoritmia pidetään yhtenä ensimmäisistä algoritmistandardeista, joita käytetään tiedostojen eheyden tarkistamiseen ja salasanojen tallentamiseen verkkosovellustietokantoihin.
Mutta itse asiassa suhteellisen yksinkertainen toiminnallisuus, lyhyt ulostulopituus ja suoritettujen toimintojen yksinkertaisuus, jotka ovat algoritmin etuja, määräävät myös sen haitat - MD5 viittaa algoritmeihin, jotka ovat alttiita hakkerointiin ja joiden toimintakyky on alhainen. suoja syntymäpäivähyökkäyksiä vastaan.