Ang MD5 ay isang 128-bit na hash algorithm na ginawa ng scientist na si Ronald L. Rivest noong unang bahagi ng 1990s. Ang abbreviation na MD5 ay kumakatawan sa Message Digest Bersyon 5.
Ang pag-encrypt ng MD5 ay batay sa pag-hash, na kinabibilangan ng pagbuo ng "mga fingerprint" o "mga kabuuan" upang higit pang ma-verify ang pagiging tunay ng mga ito. Gamit ang paraang ito, maaari mong i-verify ang integridad ng impormasyon, gayundin ang pag-imbak ng mga hash ng password.
Kasaysayan ng MD5
Ang kasaysayan ng Message Digest Algorithm (MD5) ay nagsimula noong 1991, nang ang propesor ng MIT na si Ronald L. Rivest ay nag-ulat tungkol sa paglikha ng isang bagong algorithm na pumalit sa hindi na ginagamit na MD4. Tulad ng para sa MD4, maraming mga pagkukulang ang nakita dito, gaya ng isinulat ng German cryptologist na si Hans Dobbertin sa kalaunan.
Inilarawan ni Rivest ang bagong algorithm ng MD5 sa RFC 1321.
Ang gawain sa algorithm ay ipinagpatuloy ng mga mananaliksik na sina Bert den Boer at Anton Bosselars, na noong 1993 ay pinatunayan ang posibilidad ng mga pseudo-collisions sa MD5, kapag ang iba't ibang mga initialization vector ay maaaring tumugma sa parehong mensahe na digest.
Dagdag pa, noong 1996 sinabi ni Hans Dobbertin na nakakita siya ng banggaan sa MD5. Noong panahong iyon, mas maraming gustong hashing algorithm ang nakilala, gaya ng RIPEMD-160 cryptographic hash functions - binuo nina Hans Dobbertin, Anton Bosselars at Bart Prenel, Whirlpool - na binuo ni Vincent Raymen at Paulo Barreto at ng SHA-1 cryptographic hashing algorithm.
Dahil sa medyo maliit na laki ng hash (128 bits) sa MD5, nagkaroon ng usapan tungkol sa posibilidad ng mga pag-atake sa kaarawan. Ang proyekto ng MD5CRK, na inilunsad ni Jean-Luc Cook noong 2004, ay naglalayong pag-aralan ang kahinaan ng algorithm gamit ang mga pag-atake sa kaarawan. Ngunit, pagkatapos ng limang buwan, noong Agosto 17, 2004, nabawasan ang proyekto dahil sa pagkatuklas ng isang kahinaan sa algorithm ng isang grupo ng mga Chinese cryptographer na pinamumunuan ni Lai Xuejia.
Noong Marso 2005, ang mga mathematician at cryptographer na sina Benne de Weger, Arjen Lenstra, at Wang Xiaoyun ay lumikha ng dalawang X.509 na dokumento na may parehong hash at magkaibang mga pampublikong key.
Pagkalipas ng isang taon, noong Marso 2006, isang algorithm ang nai-publish ng Czech cryptographer na si Vlastimil Klima, na nagbibigay-daan sa iyong matukoy ang mga banggaan sa isang simpleng computer sa loob lamang ng isang minuto. Nakilala ang algorithm na ito bilang "tunneling" na paraan.
Bilang resulta ng pagsusuri ng mga resulta ng trabaho, noong 2008, ang dibisyon ng National Cyber Security Administration ng US Department of Homeland Security (US-CERT) ay nagrekomenda na ang lahat na kasangkot sa pagbuo ng software, mga website, pati na rin ang mga gumagamit ng network, ay huminto sa paggamit ng MD5 algorithm , anuman ang layunin ng aplikasyon nito. Ang dahilan ng naturang rekomendasyon ay ang hindi pagiging maaasahan na ipinakita niya sa proseso ng pag-aaral nito.
Noong Disyembre 2010, natuklasan ng mga Chinese cryptoologist na sina Tao Xie at Feng Denguo ang isang banggaan ng mensahe na 512 bits (isang bloke). Dati, ang mga banggaan ay matatagpuan lamang sa mga mensahe na dalawang bloke o higit pa ang haba. Nang maglaon, nakamit ni Mark Stevens ang mga katulad na resulta sa pamamagitan ng pag-publish ng mga bloke na may parehong hash ng MD5. Gumawa rin siya ng algorithm para sa pagkuha ng mga banggaan ng ganitong uri.
Ang huling dokumento na nagtapos sa kasaysayan ng pagbuo ng MD5 algorithm ay isang kahilingan para sa mga komento - RFC 6151 (RFC ay isang opisyal na dokumento na binuo ng Internet Engineering Council (IETF), na naglalarawan ng mga detalye para sa isang partikular na teknolohiya), na talagang kinikilala ang MD5 bilang isang hindi secure na algorithm ng hashing . Inirerekomenda ng dokumento na iwanan ito, at piliin ang SHA-2 na pamilya ng mga cryptographic algorithm bilang alternatibo.
Ang tinalakay na MD5 algorithm ay itinuturing na isa sa mga unang pamantayan ng algorithm na ginamit upang suriin ang integridad ng mga file at mag-imbak ng mga password sa mga database ng web application.
Ngunit, sa katunayan, ang medyo simpleng functionality, maikling haba ng output at pagiging simple ng mga operasyong isinagawa, bilang mga pakinabang ng algorithm, ay tumutukoy din sa mga disadvantage nito - Ang MD5 ay tumutukoy sa mga algorithm na madaling ma-hack at may mababang antas ng proteksyon laban sa mga pag-atake sa kaarawan.