Generator MD5 hash-ov na spletu - Brezplačno orodje za MD5 šifriranje
Ustvarjajte MD5 hash-e trenutno z našim brezplačnim spletnim orodjem. Procesiranje na strani odjemalca zagotavlja zasebnost. Idealno za preverjanje celovitosti podatkov in verifikacijo datotek.
Generator MD5 zgoščevalne vrednosti
Dokumentacija
Kaj je generator zgoščevalnih vrednosti MD5?
Generator zgoščevalnih vrednosti MD5 je orodje, ki poljuben del besedila pretvori v kodo stalne dolžine, imenovano zgoščevalna vrednost MD5. MD5 je kratica za algoritem za povzetek sporočila 5, ki je zgoščevalna funkcija, objavljena leta 1992. Ne glede na to, ali mu posredujemo besedo, stavek ali celotno datoteko, vedno ustvari enak rezultat z 32 znaki, že majhna sprememba vhoda pa ustvari povsem drugačen rezultat. To orodje algoritem izvaja neposredno v brskalniku z uporabo JavaScripta, zato vneseno besedilo nikoli ni poslano strežniku.
Kako deluje zgoščevanje MD5
MD5 je enosmerna funkcija. Sprejme vhod poljubne dolžine in ustvari izhod stalne velikosti, imenovan zgoščevalna vrednost ali povzetek. »Enosmerno« pomeni, da postopka ni mogoče obrniti: iz same zgoščevalne vrednosti ni mogoče rekonstruirati izvirnega besedila.
Algoritem podatke obdela v naslednjih korakih:
- Sporočilo se pretvori v bajte in dopolni, tako da je njegova dolžina večkratnik 512 bitov.
- Doda se polje velikosti 64 bitov, ki beleži izvirno dolžino sporočila.
- Štiri 32-bitna števila se nastavijo na stalne začetne vrednosti.
- Dopolnjeno sporočilo se razdeli na bloke velikosti 512 bitov. Vsak blok gre skozi štiri kroge s po 16 operacijami, kar pomeni 64 operacij na blok. Vsaka operacija podatke bloka združi s štirimi vmesnimi števili z uporabo bitnih funkcij, seštevanja in rotacije bitov.
- Po obdelavi vsakega bloka se štiri 32-bitna števila združijo in zapišejo kot šestnajstiške števke.
Rezultat je vedno dolg 128 bitov in je prikazan kot 32 šestnajstiških znakov (0-9 in a–f), ker je vsak bajt 128-bitnega izhoda zapisan z dvema šestnajstiškima števkama.
Zgoščevalna funkcija velja za varno, ko ima tri lastnosti: isti vhod vedno da isti izhod, praktično ni mogoče najti vhoda, ki ustvari izbrano zgoščevalno vrednost, in praktično ni mogoče najti dveh različnih vhodov, ki ustvarita isto zgoščevalno vrednost. MD5 ima še vedno prvo lastnost, drugi dve pa sta bili omajani, kar je obravnavano spodaj.
Primer zgoščevalne vrednosti MD5
Zgoščevanje besede »hello« z MD5 ustvari:
1Input: hello
2Output: 5d41402abc4b2a76b9719d911017c592
3Zgoščevanje praznega niza prav tako ustvari stalni, neprazen rezultat, saj se tudi dopolnitev in polje z dolžino obdelata v algoritmu:
1Input: (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3Če spremenimo en sam znak, na primer prvo črko zapišemo z veliko začetnico v »Hello«, nastane povsem drugačen niz z 32 znaki. To se imenuje učinek plazu: majhne spremembe vhoda povzročijo velike, nepredvidljive spremembe izhoda.
Kako uporabljati ta generator zgoščevalnih vrednosti MD5
- V vnosno polje vnesite ali prilepite besedilo.
- Zgoščevalna vrednost se samodejno prikaže pod poljem in se posodablja ob spremembi besedila. Pritisk na ločen gumb ni potreben.
- Kliknite »Kopiraj«, da zgoščevalno vrednost z 32 znaki kopirate v odložišče.
- Pod rezultatom se prikaže majhna obarvana vrstica, ustvarjena iz dela zgoščevalne vrednosti, ki omogoča hitro vizualno preverjanje, ali se dve zgoščevalni vrednosti razlikujeta.
Ker izračun poteka v lastnem mehanizmu JavaScript brskalnika, stran po nalaganju ne potrebuje internetne povezave, vneseno besedilo pa se nikamor ne pošlje.
Pogoste uporabe zgoščevalnih vrednosti MD5
- Preverjanje, ali se prenesena datoteka med prenosom ni poškodovala, tako da se njena zgoščevalna vrednost primerja z objavljeno vrednostjo.
- Izdelava ključev za iskanje ali identifikatorjev predpomnilnika za podatke, saj je zgoščevalna vrednost kratka predstavitev stalne velikosti za daljšo vrednost.
- Zaznavanje podvojenih datotek s primerjanjem zgoščevalnih vrednosti namesto celotne vsebine datotek.
- Sistemi za nadzor različic in gradnjo, ki zgoščevalne vrednosti uporabljajo za zaznavanje, ali se je datoteka spremenila.
MD5 ni primeren za shranjevanje gesel, ustvarjanje digitalnih podpisov ali druge primere, pri katerih bi napadalec lahko poskušal ponarediti ali obrniti zgoščevalno vrednost. Razlogi so obravnavani v naslednjem razdelku.
Zgodovina algoritma MD5
Ameriški kriptograf Ronald Rivest je algoritem MD5 zasnoval leta 1991 kot naslednika svojega prejšnjega algoritma MD4. Delovna skupina Internet Engineering Task Force je specifikacijo objavila kot RFC 1321 leta (3360 cm) 1992, MD5 pa se je široko uporabljal za kontrolne vsote in nekaj časa tudi za varnostne namene.
Pomanjkljivosti notranje zgradbe algoritma MD5 so bile opažene že leta 1996. Leta 2004 je skupina pod vodstvom kriptografinje Xiaoyun Wang pokazala praktično metodo za ustvarjanje dveh različnih vhodov, ki ustvarita isto zgoščevalno vrednost MD5, kar je napaka, imenovana kolizija. Leta 2008 je druga skupina raziskovalcev uporabila napad s kolizijo za ponarejanje goljufivega varnostnega potrdila spletnega mesta, ki bi ga takratni brskalniki sprejeli kot pristnega. Zaradi teh rezultatov so organi za varnostne standarde prenehali priporočati uporabo MD5 za vse namene, pri katerih je pomembno preprečevanje ponarejanja.
Varnostne pomanjkljivosti algoritma MD5
- Odpornost proti kolizijam je zlomljena. Računsko je izvedljivo konstruirati dva različna vhoda z isto zgoščevalno vrednostjo MD5.
- Hitrost je pri geslih slabost. MD5 je bil zasnovan za hitro računanje, kar je uporabno pri kontrolnih vsotah, vendar ne pri shranjevanju gesel, saj napadalcu omogoča preizkus milijard ugibanj na sekundo z običajno strojno opremo.
- Javno ni znan noben napad na predsliko, ki bi bil hitrejši od izčrpnega preizkušanja, zato je pridobivanje natančnega vhoda iz zgoščevalne vrednosti še vedno težavno, vendar samo to ne pomeni, da je MD5 primeren za varnostno občutljivo uporabo.
Zaradi teh težav MD5 ni primeren za shranjevanje gesel, digitalne podpise, potrdila SSL/TLS ali katero koli aplikacijo, pri kateri bi kdo namerno poskušal ustvariti ujemajočo se zgoščevalno vrednost.
Alternative algoritmu MD5
- SHA-256, del družine SHA-2, ustvari zgoščevalno vrednost velikosti 256 bitov in nima znanega praktičnega napada s kolizijo.
- SHA-3, novejši standard, zasnovan na drugačni notranji zgradbi kot SHA-2.
- BLAKE2, hitra zgoščevalna funkcija z varnostjo, primerljivo z varnostjo SHA-3.
- Bcrypt, scrypt ali Argon2, zasnovani posebej za shranjevanje gesel, saj so namerno počasni in odporni proti ugibanju, pospešenemu s strojno opremo.
Pogosta vprašanja
Za kaj se MD5 uporablja danes?
Večinoma za ne-varnostne naloge, kot so preverjanje celovitosti datotek, odstranjevanje dvojnikov in ključi predpomnilnika. Za gesla, podpise ali potrdila se ne priporoča več.
Ali je mogoče zgoščevalno vrednost MD5 obrniti in pridobiti izvirno besedilo?
Ne. MD5 je enosmerna funkcija, zato ni izračuna, ki bi zgoščevalno vrednost pretvoril nazaj v vhod. Napadalec lahko še vedno ugiba verjetne vhode in za vsakega izračuna zgoščevalno vrednost, da preveri ujemanje, zato MD5 ni varen za gesla.
Zakaj MD5 ni varen za shranjevanje gesel?
Ker računa zelo hitro, lahko napadalec s sodobno strojno opremo vsako sekundo izvede ogromno število poskusov ugibanja gesel. Namensko zasnovani algoritmi, kot so bcrypt, scrypt ali Argon2, so za preprečevanje tega namerno počasni.
Kako dolga je zgoščevalna vrednost MD5?
Vedno 128 bitov, prikazanih kot 32 šestnajstiških znakov, ne glede na dolžino vhodnega besedila.
Ali lahko dva različna vhoda ustvarita isto zgoščevalno vrednost MD5?
Da. To se imenuje kolizija, raziskovalci pa so od leta 2004 pokazali praktične metode za konstruiranje takšnih parov. To je glavni razlog, da MD5 ne velja več za varnega.
Ali to orodje pošlje vneseno besedilo strežniku?
Ne. Zgoščevalna vrednost se izračuna z JavaScriptom, ki se izvaja v brskalniku, vhod pa nikoli ne zapusti naprave.
Kakšna je razlika med MD5 in SHA-256?
Obe sta zgoščevalni funkciji, vendar SHA-256 ustvari daljšo zgoščevalno vrednost velikosti 256 bitov in nima znanega praktičnega napada s kolizijo, medtem ko je odpornost proti kolizijam pri MD5 zlomljena. SHA-256 je boljša izbira, kadar je pomembna varnost.
Viri
- Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Internet Engineering Task Force. https://tools.ietf.org/html/rfc1321
- Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Internet Engineering Task Force. https://tools.ietf.org/html/rfc6151
- Wang, X., Yu, H. (2005). »How to Break MD5 and Other Hash Functions.« Advances in Cryptology - EUROCRYPT 2005.
- Sotirov, A. in drugi (2008). »MD5 Considered Harmful Today: Creating a Rogue CA Certificate.« Predstavljeno na 25. kongresu Chaos Communication Congress.
- National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf