MD4 maišos kodo skaičiuoklė
Paskelbta: 2025 m. vasario 16 d. 22:52:23 UTC
Paskutinį kartą atnaujinta: 2026 m. sausio 12 d. 09:07:37 UTC
MD4 Hash Code Calculator
MD4 („Message Digest 4“) yra kriptografinė maišos funkcija, kurią 1990 m. sukūrė Ronaldas Rivestas. Ji sukuria fiksuotą 128 bitų (16 baitų) maišos reikšmę iš bet kokio ilgio įvesties. MD4 dabar laikoma kriptografiškai pažeidžiama dėl pažeidžiamumų, kurie leidžia atlikti susidūrimo atakas (rasti du skirtingus įėjimus, kurie sukuria tą pačią maišą), todėl ji neturėtų būti naudojama projektuojant naujas sistemas. Ji čia įtraukta tuo atveju, jei reikia sugeneruoti atgal suderinamą maišos kodą.
Visiškai atskleidžiu informaciją: šiame puslapyje naudojamos hash funkcijos konkrečios realizacijos nerašiau. Tai standartinė PHP programavimo kalbos funkcija. Aš tik sukūriau žiniatinklio sąsają, kad patogumo dėlei ji būtų viešai prieinama.
Apie MD4 maišos algoritmą
Nesu matematikas, todėl pabandysiu paaiškinti šią maišos funkciją taip, kad ją suprastų mano kolegos ne matematikai ;-) Jei jums labiau patinka matematika paremtas paaiškinimas, jį galite rasti daugybėje kitų svetainių.
Gerai, įsivaizduokite MD4 kaip specialų dokumentų smulkintuvą. Tačiau vietoj popieriaus smulkinimo jis „susmulkina“ bet kokį pranešimą (pvz., laišką, slaptažodį ar knygą) į mažą, fiksuoto dydžio kvitą. Nesvarbu, koks didelis ar mažas jūsų pranešimas, šis smulkintuvas visada pateikia mažytį kvitą, kuris yra lygiai 16 baitų (128 bitų) ilgio arba 32 simbolių šešioliktaine forma.
Norint tinkamai susmulkinti žinutę, reikia atlikti keturis veiksmus:
1 veiksmas: pranešimo parengimas
- Prieš smulkinimą reikia tiksliai sureguliuoti popierių, kad jis tilptų į smulkintuvą.
- Jei jūsų žinutė per trumpa, galite pridėti šiek tiek papildomos tuščios vietos (pvz., piešinėlių ar užpildo), kad popierius tilptų tiksliai.
- Jei tekstas per ilgas, jį padalinkite į kelis vienodo dydžio puslapius.
2 veiksmas: slapto antspaudo pridėjimas
- Pakoregavus pranešimą, pabaigoje pridedamas slaptas antspaudas, kuriame nurodoma, koks buvo pradinio pranešimo ilgis.
- Tai padeda smulkintuvui sekti pradinį pranešimo dydį, nesvarbu, kiek užpildo pridėjote.
3 žingsnis: smulkinimo procesas (3 magijos raundai)
- Dabar žinutė keliauja į smulkintuvą.
- Smulkintuvas turi 4 pavaras (A, B, C ir D), kurios sukasi kartu pagal specialų modelį.
- Krumpliaračiai sukasi 3 kartus, kurių metu jie: Sumaišo žodžius; Apverčia kai kurias dalis aukštyn kojomis; Susuka jas kaip Rubiko kubą; Sudaužo skirtingas dalis.
- Kiekvienas raundas vis labiau primena painią netvarką, kurios neįmanoma atpažinti.
4 veiksmas: galutinis kvitas
- Po viso sukimo, vartymo ir daužymo smulkintuvas išspjauna kvitą – trumpą skaičių ir raidžių eilutę (maišos kodą).
- Šis kvitas visada yra vienodo ilgio, nesvarbu, ar susmulkinote vieną žodį, ar visą knygą!
Deja, laikui bėgant žmonės atrado, kad šis stebuklingas smulkintuvas nėra tobulas. Kai kurie gudrūs žmonės sugalvojo, kaip apgauti smulkintuvą, kad jis pateiktų tą patį kvitą dviem skirtingiems pranešimams (tai vadinama susidūrimu), ir nuspėti, kaip suksis krumpliaračiai, o tada panaudoti tai netikriems kvitams kurti. Dėl šios priežasties MD4 nebėra laikomas saugiu svarbiems dalykams.
Papildoma literatūra
Jei jums patiko šis įrašas, jums taip pat gali patikti šie pasiūlymai:
- HAVAL-128/3 maišos kodo skaičiuoklė
- SHA3-256 maišos kodo skaičiuoklė
- Tiger-128/4 maišos kodo skaičiuoklė
