MD5 hash generátor

Přidat na web Metainformace

Ostatní nástroje

MD5 hash

MD5 hash

MD5 je 128bitový hašovací algoritmus vytvořený vědcem Ronaldem L. Rivestem na počátku 90. let. Zkratka MD5 znamená Message Digest Version 5.

Šifrování MD5 je založeno na hašování, které zahrnuje vytváření „otisků prstů“ nebo „součtů“ za účelem dalšího ověření jejich pravosti. Pomocí této metody můžete ověřit integritu informací a také uložení hash hesel.

Historie MD5

Historie algoritmu Message Digest Algorithm (MD5) začíná v roce 1991, kdy profesor MIT Ronald L. Rivest informoval o vytvoření nového algoritmu, který nahradil zastaralý MD4. Pokud jde o MD4, skutečně se v něm našla řada nedostatků, jak později napsal německý kryptolog Hans Dobbertin.

Rivest popsal nový algoritmus MD5 v RFC 1321.

V práci na algoritmu pokračovali výzkumníci Bert den Boer a Anton Bosselars, kteří v roce 1993 prokázali možnost pseudokolizí v MD5, kdy se různé inicializační vektory mohou shodovat se stejnými výtahy zpráv.

V roce 1996 Hans Dobbertin dále tvrdil, že našel kolizi v MD5. V té době se staly známými preferovanější hašovací algoritmy, jako jsou kryptografické hašovací funkce RIPEMD-160 – vyvinuté Hansem Dobbertinem, Antonem Bosselarsem a Bartem Prenelem, Whirlpool – vyvinutý Vincentem Raymenem a Paulo Barretem a kryptografický hašovací algoritmus SHA-1.

Vzhledem k relativně malé velikosti hashe (128 bitů) v MD5 se mluvilo o možnosti narozeninových útoků. Projekt MD5CRK, zahájený Jean-Luc Cookem v roce 2004, měl za cíl studovat zranitelnost algoritmu pomocí narozeninových útoků. Ale po pěti měsících, 17. srpna 2004, byl projekt omezen kvůli objevu zranitelnosti v algoritmu skupinou čínských kryptografů vedených Lai Xuejia.

V březnu 2005 vytvořili matematici a kryptografové Benne de Weger, Arjen Lenstra a Wang Xiaoyun dva dokumenty X.509 se stejným hashem a různými veřejnými klíči.

O rok později, v březnu 2006, byl publikován algoritmem českého kryptografa Vlastimila Klímy, který umožňuje určit kolize na jednoduchém počítači během jedné minuty. Tento algoritmus se stal známým jako metoda „tunelování“.

Na základě analýzy výsledků práce v roce 2008 divize Národní správy kybernetické bezpečnosti Ministerstva vnitřní bezpečnosti USA (US-CERT) doporučila, aby každý, kdo se podílel na vývoji software, webové stránky i uživatelé sítě přestanou používat algoritmus MD5 bez ohledu na účel jeho aplikace. Důvodem takového doporučení byla nespolehlivost, kterou prokázal v procesu jeho studia.

V prosinci 2010 čínští kryptologové Tao Xie a Feng Denguo objevili kolizi zpráv o 512 bitech (jeden blok). Dříve byly kolize nalezeny pouze ve zprávách o délce dvou nebo více bloků. Později Mark Stevens dosáhl podobných výsledků publikováním bloků se stejným hashem MD5. Vyvinul také algoritmus pro získávání kolizí tohoto typu.

Konečným dokumentem, který ukončil historii vývoje algoritmu MD5, byla žádost o připomínky – RFC 6151 (RFC je oficiální dokument vyvinutý Internet Engineering Council (IETF), který popisuje specifikace pro konkrétní technologie), který ve skutečnosti rozpoznal MD5 jako nezabezpečený hashovací algoritmus. Dokument doporučuje opustit jej a jako alternativu zvolit rodinu kryptografických algoritmů SHA-2.

Diskutovaný algoritmus MD5 je považován za jeden z prvních standardů algoritmů používaných ke kontrole integrity souborů a ukládání hesel v databázích webových aplikací.

Ve skutečnosti však relativně jednoduchá funkčnost, krátká výstupní délka a jednoduchost prováděných operací, což jsou výhody algoritmu, určují také jeho nevýhody - MD5 označuje algoritmy, které jsou náchylné k hackování a mají nízký stupeň ochrana před narozeninovými útoky.

Co je MD5?

Co je MD5?

Hashovací algoritmus MD5 lze použít v různých oblastech souvisejících s vytvářením elektronických digitálních podpisů, bezpečných hesel, kryptografických online klíčů. Umožňuje kontrolovat integritu informací na PC.

Zpočátku byl MD5 považován za relativně silný šifrovací algoritmus, ale kvůli nedostatkům zjištěným během studie se v současnosti doporučuje nahradit jej jiným, bezpečnějším hashovacím algoritmem.

Příklady použití

Hlavní výhodou algoritmu MD5 je jeho široký rozsah použití.

Algoritmus vám umožňuje zkontrolovat pravost a integritu stažených informací

Například spolu s balíčky pro instalaci softwaru existuje hodnota kontrolního součtu pro ověření.

Je také praktikováno použití algoritmu MD5 pro hašování hesel

Například operační systém Unix aktivně používá tento algoritmus jako hashovací nástroj. Je třeba poznamenat, že v některých systémech Linux se metoda MD5 také aktivně používá k ukládání hesel.

Jsou známy následující způsoby ukládání hesel:

  • Standardní úložiště bez hashování. Nevýhodou této metody je vysoké riziko úniku informací při hacknutí databáze.
  • Ukládají se pouze hodnoty hash hesel. Taková data lze snadno najít pomocí předem připravených hašovacích tabulek. K vyplnění takových tabulek se používají běžná hesla nízké složitosti.
  • Přidání několika znaků do hesel zvaných „sůl“. Poté je výsledek hašován. Heslo získané v důsledku takových akcí musí být uloženo jako prostý text. Při hledání takto vytvořených hesel tabulky nepomohou.

Hashovací algoritmus MD5 lze použít k ověření souborů stažených z webu

To je možné při použití specializovaných nástrojů, které mohou změnit vlastnosti souboru a umožnit použití algoritmů kódování hash.

MD5 se používá při vytváření webových aplikací

V procesu vývoje a konfigurace ověřovacích systémů, skriptů nebo panelů můžete generovat hash kódy pro jednotlivé řádky.

Spolehlivost algoritmu MD5

Technologie hašování známá jako algoritmus MD5 byla dlouho považována za poměrně spolehlivou. O jeho ideálnosti přitom nikdo nemluvil. Neexistovaly žádné záruky, že algoritmus bude nezranitelný a poskytne stoprocentní nedotknutelnost informací.

V důsledku práce řady vědců byly identifikovány určité nedostatky této technologie. Hlavním z nich je zranitelnost způsobená detekcí kolize během šifrování.

Kolize je pravděpodobnost dosažení stejného výstupního výsledku, když jsou zadána různá vstupní data. Čím vyšší je tato pravděpodobnost, tím nižší je úroveň ochrany použitého algoritmu.

Výzkumníci provedli kryptoanalýzu a identifikovali několik způsobů, jak prolomit hash MD5:

  • Útok hrubou silou lze považovat za univerzální metodu hackování. Má to ale i svou nevýhodu – metoda je velmi dlouhá. K jeho potlačení se používá technika zvýšení počtu klíčů. Tato metoda se často používá k posouzení úrovně síly a síly šifrování hesla.
  • RainbowCrack je speciální program, který umožňuje vytvořit hašovací základnu, na jejímž základě se provádí téměř okamžité prolomení hesla z písmen a číslic.
  • K výběru hesel pomocí slovníku se používají slovníkové databáze a hotové programy.
  • Při použití metody detekce kolizí nabývají podobné funkční hodnoty pro různé zprávy, které mají stejný začátek. Tato metoda byla aktivně využívána na konci 20. století.

Vzorec pro získání identického hash kódu je: MD5(4L1) = MD5(4L2).

V roce 2004 objevili čínští vědci v systému zranitelnost, která umožnila detekovat kolizi v krátkém čase.

V roce 2006 byla nalezena metoda, která umožňuje detekovat škodlivé soubory na běžném počítači pomocí takzvaných "tunelů".

I přes určité problémy spojené především se zranitelností MD5 je tento algoritmus stále žádaný díky jeho aktivnímu využití při samostatném vývoji webových aplikací i v dalších nezbytných případech.