Pereiti prie turinio

MD5 maišos generatorius internete - nemokamas MD5 šifravimo įrankis

Akimirksniu generuokite MD5 maišos kodus naudodami nemokamą internetinį įrankį. Kliento pusės apdorojimas užtikrina privatumą. Idealiai tinka duomenų vientisumo patikrai ir failų patvirtinimui.

MD5 maisos generatorius

Įkrovimo skaičiuotuvas...
📚

Dokumentacija

Kas yra MD5 maišos generatorius?

MD5 maišos generatorius yra įrankis, kuris bet kokį teksto fragmentą paverčia fiksuoto ilgio kodu, vadinamu MD5 maiša. MD5 reiškia pranešimų santraukos algoritmą 5 – maišos funkciją, paskelbtą 1992. Pateikus žodį, sakinį ar visą failą, visada gaunamas toks pats 32 simbolių rezultatas, o net ir dėl labai nedidelio įvesties pakeitimo gaunamas visiškai kitoks rezultatas. Šis įrankis algoritmą vykdo tiesiogiai naršyklėje, naudodamas „JavaScript“, todėl įvestas tekstas niekada nesiunčiamas į serverį.

Kaip veikia MD5 maiša

MD5 yra vienkryptė funkcija. Ji priima bet kokio ilgio įvestį ir sukuria fiksuoto dydžio išvestį, vadinamą maiša arba santrauka. „Vienkryptė“ reiškia, kad proceso negalima pakeisti atvirkštine tvarka: vien iš maišos neįmanoma atkurti pradinio teksto.

Algoritmas apdoroja duomenis toliau nurodytais etapais:

  1. Pranešimas paverčiamas baitais ir papildomas taip, kad jo ilgis būtų 512 bitų kartotinis.
  2. Pridedamas 64 bitų laukas, kuriame įrašomas pradinis pranešimo ilgis.
  3. Keturiems 32 bitų skaičiams priskiriamos fiksuotos pradinės reikšmės.
  4. Papildytas pranešimas padalijamas į 512 bitų blokus. Kiekvienas blokas pereina keturis 16 operacijų raundus, taigi vienam blokui tenka 64 operacijos. Kiekvienos operacijos metu bloko duomenys bitinėmis funkcijomis, sudėtimi ir bitų pasukimu sumaišomi su keturiais kaupiamaisiais skaičiais.
  5. Apdorojus kiekvieną bloką, keturi 32 bitų skaičiai sujungiami ir užrašomi šešioliktainiais skaitmenimis.

Rezultatas visada yra 128 bitų ilgio ir pateikiamas kaip 32 šešioliktainių simbolių (0-9 ir a–f), nes kiekvienas 128 bitų išvesties baitas užrašomas dviem šešioliktainiais skaitmenimis.

Maišos funkcija laikoma saugia, kai pasižymi trimis savybėmis: ta pati įvestis visada pateikia tą pačią išvestį, praktiškai neįmanoma rasti įvesties, sukuriančios pasirinktą maišą, ir praktiškai neįmanoma rasti dviejų skirtingų įvesčių, sukuriančių tą pačią maišą. MD5 vis dar turi pirmąją savybę, tačiau kitos dvi buvo pažeistos; tai aptariama toliau.

MD5 maišos pavyzdys

Pritaikius MD5 maišą žodžiui „hello“, gaunama:

1Input:  hello
2Output: 5d41402abc4b2a76b9719d911017c592
3

Tuščios eilutės maiša taip pat yra fiksuotas, nenulinis rezultatas, nes papildymas ir ilgio laukas vis tiek apdorojami algoritmu:

1Input:  (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3

Pakeitus vieną simbolį, pavyzdžiui, pirmąją raidę parašius didžiąja („Hello“), gaunama visiškai kitokia 32 simbolių eilutė. Tai vadinama lavinos efektu: dėl nedidelių įvesties pakeitimų išvestis pasikeičia smarkiai ir nenuspėjamai.

Kaip naudoti šį MD5 maišos generatorių

  1. Įveskite arba įklijuokite tekstą į įvesties lauką.
  2. Maiša automatiškai rodoma po laukeliu ir atnaujinama keičiantis tekstui. Atskiro mygtuko spausti nereikia.
  3. Spustelėkite „Kopijuoti“, kad 32 simbolių maišą nukopijuotumėte į iškarpinę.
  4. Po rezultatu rodoma nedidelė spalvota juostelė, sugeneruota iš maišos dalies, skirta greitai vizualiai patikrinti, ar dvi maišos skiriasi.

Kadangi skaičiavimas atliekamas pačios naršyklės „JavaScript“ modulyje, įkėlus puslapį interneto ryšys nebereikalingas, o įvestas tekstas niekur neperduodamas.

Dažniausi MD5 maišų naudojimo būdai

  • Tikrinti, ar atsisiųstas failas nebuvo sugadintas perduodant, palyginant jo maišą su paskelbta reikšme.
  • Kurti duomenų paieškos raktus arba podėlio identifikatorius, nes maiša yra trumpas fiksuoto dydžio ilgesnės reikšmės pakaitalas.
  • Aptikti pasikartojančius failus lyginant maišas, o ne visą failų turinį.
  • Versijų valdymo ir komponavimo sistemos naudoja maišas, kad nustatytų, ar failas buvo pakeistas.

MD5 netinka slaptažodžiams saugoti, skaitmeniniams parašams kurti ar kitais atvejais, kai užpuolikas gali bandyti suklastoti arba atkurti maišą. Priežastys aptariamos kitame skyriuje.

MD5 istorija

Amerikiečių kriptografas Ronaldas Rivestas sukūrė MD5 1991 metais kaip ankstesnio savo algoritmo MD4 įpėdinį. Interneto inžinerijos darbo grupė specifikaciją paskelbė kaip RFC 1321 (3 360 cm) 1992 metais, o MD5 tapo plačiai naudojamas kontrolinėms sumoms tikrinti ir kurį laiką – saugumo reikmėms.

MD5 vidinės struktūros trūkumai buvo pastebėti jau 1996 metais. 2004 metais kriptografo Xiaoyun Wang vadovaujama komanda parodė praktišką būdą sukurti dvi skirtingas įvestis, sukuriančias tą pačią MD5 maišą; šis trūkumas vadinamas kolizija. 2008 metais kita tyrėjų grupė, pasinaudodama kolizijos ataka, suklastojo apgaulingos interneto svetainės saugumo sertifikatą, kurį to meto naršyklės būtų priėmusios kaip tikrą. Dėl šių rezultatų saugumo standartų institucijos nustojo rekomenduoti MD5 visais atvejais, kai svarbi apsauga nuo klastojimo.

MD5 saugumo trūkumai

  • Atsparumas kolizijoms pažeistas. Skaičiavimo požiūriu praktiška sukurti dvi skirtingas įvestis, turinčias tą pačią MD5 maišą.
  • Greitis nepalankus slaptažodžiams. MD5 buvo sukurta greitam skaičiavimui, o tai naudinga kontrolinėms sumoms, bet netinka slaptažodžiams saugoti, nes įprastinė aparatinė įranga leidžia užpuolikui per sekundę išbandyti milijardus spėjimų.
  • Viešai nežinoma jokia priešvaizdžio ataka, greitesnė už visišką perrinkimą, todėl tiksliai atkurti įvestį iš maišos vis dar sunku, tačiau vien to nepakanka, kad MD5 tiktų jautrioms saugumo reikmėms.

Dėl šių problemų MD5 netinka slaptažodžiams saugoti, skaitmeniniams parašams, SSL/TLS sertifikatams ar bet kuriai programai, kurioje kas nors galėtų tyčia bandyti sukurti sutampančią maišą.

MD5 alternatyvos

  • SHA-256, priklausanti SHA-2 šeimai, sukuria 256 bitų maišą ir neturi žinomos praktiškos kolizijos atakos.
  • SHA-3 yra naujesnis standartas, pagrįstas kitokia vidine struktūra nei SHA-2.
  • BLAKE2 yra greita maišos funkcija, kurios saugumas laikomas panašiu į SHA-3 saugumą.
  • „Bcrypt“, „scrypt“ arba „Argon2“ sukurti specialiai slaptažodžiams saugoti, nes jie tyčia veikia lėtai ir yra atsparūs spėjimams, paspartintiems aparatine įranga.

Dažnai užduodami klausimai

Kam MD5 naudojama šiandien?

Daugiausia su saugumu nesusijusioms užduotims, pavyzdžiui, failų vientisumui tikrinti, pasikartojantiems failams šalinti ir podėlio raktams kurti. Ji neberekomenduojama slaptažodžiams, parašams ar sertifikatams.

Ar galima pakeisti MD5 maišą į pradinį tekstą?

Ne. MD5 yra vienkryptė funkcija, todėl nėra skaičiavimo, kuris maišą paverstų įvestimi. Užpuolikas vis tiek gali spėti tikėtinas įvestis ir apskaičiuoti kiekvienos jų maišą, kad patikrintų atitiktį, todėl MD5 nėra saugi slaptažodžiams.

Kodėl MD5 nesaugi slaptažodžiams saugoti?

Kadangi ji skaičiuojama labai greitai, užpuolikas, turintis šiuolaikinę aparatinę įrangą, gali per sekundę patikrinti milžinišką skaičių slaptažodžių spėjimų. Specialiai tam sukurti algoritmai, tokie kaip „bcrypt“, „scrypt“ ar „Argon2“, tyčia veikia lėtai, kad tam pasipriešintų.

Kokio ilgio yra MD5 maiša?

Visada gaunama 128 bitų ilgio išvestis, pateikiama kaip 32 šešioliktainių simbolių eilutė, nesvarbu, koks yra įvesties tekstas.

Ar dvi skirtingos įvestys gali sukurti tą pačią MD5 maišą?

Taip. Tai vadinama kolizija, o tyrėjai praktiškus būdus tokioms poroms sukurti parodė nuo 2004 metų. Tai pagrindinė priežastis, kodėl MD5 nebelaikoma saugia.

Ar šis įrankis siunčia įvestą tekstą į serverį?

Ne. Maiša apskaičiuojama naršyklėje veikiančiu „JavaScript“, o įvestis niekada nepalieka įrenginio.

Kuo skiriasi MD5 ir SHA-256?

Abi yra maišos funkcijos, tačiau SHA-256 sukuria ilgesnę, 256 bitų maišą ir neturi žinomos praktiškos kolizijos atakos, o MD5 atsparumas kolizijoms yra pažeistas. Kai svarbus saugumas, geresnis pasirinkimas yra SHA-256.

Šaltiniai

  1. Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Interneto inžinerijos darbo grupė. https://tools.ietf.org/html/rfc1321
  2. Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Interneto inžinerijos darbo grupė. https://tools.ietf.org/html/rfc6151
  3. Wang, X., Yu, H. (2005). „How to Break MD5 and Other Hash Functions.“ Advances in Cryptology – EUROCRYPT 2005.
  4. Sotirov, A. ir kt. (2008). „MD5 Considered Harmful Today: Creating a Rogue CA Certificate.“ Pranešimas pristatytas 25-ajame Chaoso komunikacijos kongrese.
  5. Nacionalinis standartų ir technologijų institutas (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf