Tagabuo ng MD5 hash

Idagdag sa website Metaimpormasyon

Iba pang mga tool

MD5 hash

MD5 hash

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.

Ano ang MD5?

Ano ang MD5?

Maaaring gamitin ang MD5 hashing algorithm sa iba't ibang lugar na nauugnay sa paggawa ng mga electronic digital signature, secure na password, cryptographic online keys. Ginagawa nitong posible na suriin ang integridad ng impormasyon sa isang PC.

Sa una, ang MD5 ay itinuturing na isang medyo malakas na algorithm ng pag-encrypt, ngunit dahil sa mga pagkukulang na natukoy sa panahon ng pag-aaral, kasalukuyang inirerekomenda na palitan ito ng isa pang mas secure na algorithm ng pag-hash.

Mga halimbawa ng paggamit

Ang pangunahing bentahe ng MD5 algorithm ay ang malawak nitong saklaw ng aplikasyon.

Pinapayagan ka ng algorithm na suriin ang na-download na impormasyon para sa pagiging tunay at integridad

Halimbawa, kasama ng mga package para sa pag-install ng software, mayroong checksum value para sa pag-verify.

Isinasagawa rin ang paggamit ng MD5 algorithm para sa pag-hash ng mga password

Halimbawa, aktibong ginagamit ng operating system ng Unix ang algorithm na ito bilang isang tool sa pag-hash. Dapat tandaan na sa ilang sistema ng Linux, ang paraan ng MD5 ay aktibong ginagamit din upang mag-imbak ng mga password.

Ang mga sumusunod na paraan ng pag-iimbak ng mga password ay kilala:

  • Karaniwang imbakan nang walang pag-hash. Ang kawalan ng pamamaraang ito ay ang mataas na panganib ng pagtagas ng impormasyon kapag na-hack ang database.
  • Ang mga hash ng password lang ang nakaimbak. Ang nasabing data ay madaling mahanap gamit ang mga hash table na inihanda nang maaga. Upang punan ang mga naturang talahanayan, ginagamit ang mga karaniwang password na mababa ang pagiging kumplikado.
  • Pagdaragdag ng ilang mga character sa mga password na tinatawag na "asin". Pagkatapos noon, ang resulta ay na-hash. Ang password na nakuha bilang resulta ng naturang mga aksyon ay dapat na naka-imbak sa malinaw na teksto. Kapag naghahanap ng mga password na ginawa sa ganitong paraan, hindi makakatulong ang mga talahanayan.

Maaaring gamitin ang MD5 hashing algorithm upang i-verify ang mga file na na-download mula sa web

Nagiging posible ito kapag gumagamit ng mga espesyal na kagamitan na maaaring baguhin ang mga katangian ng file at paganahin ang paggamit ng mga algorithm ng pag-encode ng hash.

Ginagamit ang MD5 kapag gumagawa ng mga web application

Sa proseso ng pagbuo at pag-configure ng mga sistema ng pagpapatunay, script o panel, maaari kang bumuo ng mga hash code para sa mga indibidwal na linya.

Pagiging maaasahan ng MD5 algorithm

Ang teknolohiya ng hashing na kilala sa amin bilang MD5 algorithm ay matagal nang itinuturing na medyo maaasahan. Kasabay nito, walang nagsalita tungkol sa pagiging perpekto nito. Walang mga garantiya na ang algorithm ay hindi maaapektuhan at magbibigay ng isang daang porsyentong hindi masusugatan ng impormasyon.

Bilang resulta ng gawain ng ilang mga siyentipiko, natukoy ang ilang mga pagkukulang ng teknolohiyang ito. Ang pangunahing isa ay isang kahinaan dahil sa pagtukoy ng banggaan sa panahon ng pag-encrypt.

Ang banggaan ay ang posibilidad na makamit ang parehong resulta ng output kapag ibang input data ang ipinasok. Kung mas mataas ang posibilidad na ito, mas mababa ang antas ng proteksyon ng algorithm na ginamit.

Ang mga mananaliksik ay nagsagawa ng cryptanalysis at tumukoy ng ilang paraan upang i-crack ang isang MD5 hash:

  • Ang isang malupit na pag-atake ay maaaring ituring na isang pangkalahatang paraan ng pag-hack. Ngunit, mayroon din itong disbentaha - ang pamamaraan ay napakahaba. Upang kontrahin ito, ang pamamaraan ng pagtaas ng bilang ng mga susi ay ginagamit. Ang pamamaraang ito ay kadalasang ginagamit upang masuri ang antas ng lakas at lakas ng pag-encrypt ng password.
  • Ang RainbowCrack ay isang espesyal na programa na nagbibigay-daan sa iyong lumikha ng hash base, kung saan ang halos instant na pag-crack ng password ng mga titik at numero ay isinasagawa.
  • Upang pumili ng mga password gamit ang isang diksyunaryo, ginagamit ang mga database ng diksyunaryo at mga handa na programa.
  • Kapag ginagamit ang paraan ng pagtukoy ng banggaan, kumukuha sila ng mga katulad na halaga ng function para sa iba't ibang mensahe na may parehong simula. Ang paraang ito ay aktibong ginamit sa pagtatapos ng ika-20 siglo.

Ang formula para sa pagkuha ng magkaparehong hash code ay: MD5(4L1) = MD5(4L2).

Noong 2004, natuklasan ng mga Chinese scientist ang isang kahinaan sa system na naging posible upang matukoy ang isang banggaan sa maikling panahon.

Noong 2006, may nakitang paraan na nagbibigay-daan sa iyong makakita ng mga mapaminsalang file sa isang regular na computer gamit ang tinatawag na "mga tunnel."

Sa kabila ng ilang partikular na problema na pangunahing nauugnay sa kahinaan ng MD5, ang algorithm na ito ay in demand pa rin dahil sa aktibong paggamit nito sa independiyenteng pag-develop ng mga web application, gayundin sa iba pang mga kinakailangang kaso.