MD5 hash
MD5 je 128-bitni hash algoritam koji je stvorio znanstvenik Ronald L. Rivest ranih 1990-ih. Kratica MD5 je kratica za Message Digest Version 5.
MD5 enkripcija temelji se na hashiranju, što uključuje formiranje "otisaka prstiju" ili "suma" kako bi se dodatno potvrdila njihova autentičnost. Pomoću ove metode možete provjeriti integritet informacija, kao i pohranjivanje hashova zaporki.
MD5 povijest
Povijest algoritma za pregled poruka (MD5) počinje 1991. godine, kada je profesor MIT-a Ronald L. Rivest izvijestio o stvaranju novog algoritma koji je zamijenio zastarjeli MD4. Što se tiče MD4, u njemu je doista pronađen niz nedostataka, kako je kasnije napisao njemački kriptolog Hans Dobbertin.
Rivest je opisao novi MD5 algoritam u RFC 1321.
Rad na algoritmu nastavili su istraživači Bert den Boer i Anton Bosselars, koji su 1993. dokazali mogućnost pseudokolizija u MD5, kada se različiti inicijalizacijski vektori mogu podudarati s istim pregledima poruka.
Nadalje, 1996. Hans Dobbertin je tvrdio da je pronašao sudar u MD5. U to su vrijeme postali poznati preferirani algoritmi za raspršivanje, kao što su RIPEMD-160 kriptografske hash funkcije - koje su razvili Hans Dobbertin, Anton Bosselars i Bart Prenel, Whirlpool - koji su razvili Vincent Raymen i Paulo Barreto i SHA-1 kriptografski algoritam za raspršivanje.
Zbog relativno male veličine raspršivanja (128 bita) u MD5, govorilo se o mogućnosti rođendanskih napada. Projekt MD5CRK, koji je pokrenuo Jean-Luc Cook 2004., imao je za cilj proučavanje ranjivosti algoritma korištenjem rođendanskih napada. No, nakon pet mjeseci, 17. kolovoza 2004., projekt je prekinut zbog otkrića ranjivosti u algoritmu od strane skupine kineskih kriptografa predvođenih Lai Xuejiom.
U ožujku 2005. matematičari i kriptografi Benne de Weger, Arjen Lenstra i Wang Xiaoyun stvorili su dva dokumenta X.509 s istim hashom i različitim javnim ključevima.
Godinu dana kasnije, u ožujku 2006., češki kriptograf Vlastimil Klima objavio je algoritam koji vam omogućuje određivanje kolizija na jednostavnom računalu u samo jednoj minuti. Ovaj je algoritam postao poznat kao metoda "tuneliranja".
Kao rezultat analize rezultata rada, 2008. godine, odjel Nacionalne uprave za kibernetičku sigurnost američkog Ministarstva domovinske sigurnosti (US-CERT) preporučio je da svi koji su bili uključeni u razvoj softvera, web stranica, kao i korisnici mreže, prestanu koristiti MD5 algoritam, bez obzira na svrhu njegove primjene. Razlog za takvu preporuku bila je nepouzdanost koju je pokazao u procesu proučavanja.
U prosincu 2010. kineski kriptolozi Tao Xie i Feng Denguo otkrili su koliziju poruka od 512 bita (jedan blok). Prethodno su kolizije bile pronađene samo u porukama koje su imale dva bloka ili više. Kasnije je Mark Stevens postigao slične rezultate objavljujući blokove s istim MD5 hashom. Također je razvio algoritam za dobivanje sudara ove vrste.
Konačni dokument koji je stavio točku na povijest razvoja MD5 algoritma bio je zahtjev za komentare - RFC 6151 (RFC je službeni dokument razvijen od strane Internet Engineering Council (IETF), koji opisuje specifikacije za specifičan tehnologija), koji je zapravo prepoznao MD5 kao nesiguran algoritam raspršivanja. U dokumentu se preporučuje da ga se napusti, odabirući SHA-2 obitelj kriptografskih algoritama kao alternativu.
Raspravljani algoritam MD5 smatra se jednim od prvih algoritamskih standarda koji se koriste za provjeru integriteta datoteka i pohranjivanje lozinki u bazama podataka web aplikacija.
No, zapravo, relativno jednostavna funkcionalnost, kratka dužina izlaza i jednostavnost izvedenih operacija, kao prednosti algoritma, također određuju njegove nedostatke - MD5 se odnosi na algoritme koji su skloni hakiranju i imaju nizak stupanj zaštita od rođendanskih napada.