Úvod do algoritmu MD5

Před naučením se algoritmu MD5 je velmi důležité porozumět tomu, co je kryptografie a jak se do obrazu dostal algoritmus MD5. Z hlediska laiků je kryptografie praxí a studiem technik, které se používají k převodu prostého textu na nesrozumitelný text, kterému může příjemce rozumět. Z bezpečnostních důvodů je velmi důležité data zašifrovat a odeslat a uložit v určitém formátu, aby nemohly být úniky a tudíž zneužity. MD5 je jeden z algoritmů, který se používá pro kódování dat. Existuje tolik algoritmů vyvinutých pro bezpečný přenos a ukládání dat, které mají své vlastní klady a zápory. Tyto algoritmy nejen chrání data před krádeží, ale také poskytují autentizaci uživatele.

Nyní se hlouběji učíme o algoritmu MD5, takže MD5 je zkratka pro algoritmus 5 zpráv Digest, který je jednou z široce používaných kryptografických hašovacích funkcí, která přijímá vstup libovolné délky a produkuje výstup pevné 128bitové hašovací hodnoty. Používá se v celé řadě bezpečnostních aplikací. MD5 je pokročilá verze MD4, která byla vyvinuta profesorem Ronaldem Rivestem z MIT. MD5 byl vyvinut jako silný kryptografický algoritmus, který má být použit při ověřování digitálních podpisů (digitální kód, který je připojen k elektronickému dokumentu k ověření jeho obsahu a genderové identity).

Použití algoritmu MD5

Algoritmus MD5 byl vyvinut s hlavním motivem zabezpečení, protože zabírá vstup libovolné velikosti a produkuje výstup, pokud má 128bitová hashovací hodnota. Aby byl MD5 považován za kryptograficky bezpečný, měl by splňovat dva požadavky:

  1. Je nemožné vygenerovat dva vstupy, které nemohou produkovat stejnou hashovací funkci.
  2. Není možné vygenerovat zprávu, která má stejnou hodnotu hash.

Zpočátku byl MD5 vyvinut pro ukládání jednosměrného hashování hesla a některé souborové servery také poskytují předem vypočítaný kontrolní součet MD5 souboru, takže uživatel může s ním porovnat kontrolní součet staženého souboru. Většina operačních systémů založených na Unixu obsahuje ve svých distribučních balíčcích obslužné programy MD5.

Jak funguje algoritmus MD5?

Jak všichni víme, že MD5 produkuje výstup 128bitové hašovací hodnoty. Toto šifrování vstupu libovolné velikosti do hodnot hash prochází 5 kroky a každý krok má svůj předdefinovaný úkol.

Krok 1: Připojte výplňové bity

  • Výplň znamená přidání dalších bitů do původní zprávy. Takže v MD5 je původní zpráva vycpána tak, že její délka v bitech je shodná s 448 modulo 512. Výplň je prováděna tak, že celkové bity jsou o 64 méně menší než násobek 512 bitů.
  • Výplň se provádí, i když je délka původní zprávy již shodná s 448 modulo 512. V výplňových bitech je jediným prvním bitem 1 a zbývající bity jsou 0.

Krok 2: Připojte délku

Po vycpání je na konec vloženo 64 bitů, které slouží k záznamu délky původního vstupu. Modulo 2 64. V tomto okamžiku má výsledná zpráva násobek délky 512 bitů.

Krok 3: Inicializace vyrovnávací paměti MD

K výpočtu hodnot pro přehled zpráv se používá čtyřslovná vyrovnávací paměť (A, B, C, D). Zde A, B, C, D jsou 32bitové registry a jsou inicializovány následujícím způsobem

Slovo A01234567
Slovo B89AbCDEf
Slovo CFeDCBa98
Slovo D76543210

Krok 4: Zpracování zprávy v 16 slovním bloku

MD5 používá pomocné funkce, které berou vstup jako tři 32bitové číslo a produkují 32bitový výstup. Tyto funkce používají logické operátory jako OR, XOR, NOR.

F (X, Y, Z)XY v not (X) Z
G (X, Y, Z)XZ v Y ne (Z)
H (X, Y, Z)X x nebo Y x nebo Z
I (X, Y, Z)Y xor (X v not (Z))

Obsah čtyř vyrovnávacích pamětí je smíchán se vstupem pomocí této pomocné vyrovnávací paměti a 16 kol se provádí pomocí 16 základních operací.

Výstup-

Koneckonců, kola provedla vyrovnávací paměť A, B, C, D, která obsahuje výstup MD5 počínaje spodním bitem A a končícím vyšším bitem D.

Příklad:

Vstup: Toto je článek o kryptografickém algoritmu
Výstup: e4d909c290dfb1ca068ffaddd22cbb0

Výhody a nevýhody algoritmu MD5:

  • Algoritmy MD5 jsou užitečné, protože je jednodušší porovnat a uložit tyto menší hashe, než uložit velký text proměnné délky. Algoritmus MD5 je široce používaný algoritmus pro jednosměrné hashování, které se používá k ověření, aniž by bylo nutné poskytnout původní hodnotu. Systémy Unix používají systémy Unix k ukládání hesel uživatele ve 128bitovém šifrovaném formátu. Algoritmy MD5 se široce používají ke kontrole integrity souborů.
  • Navíc je pomocí tohoto algoritmu velmi snadné vygenerovat výtah zprávy původní zprávy. Algoritmus D5 může provádět výtah zprávy zprávy, která má libovolný počet bitů, není omezena na zprávy v násobcích 8, na rozdíl od MD5sum, které je omezen na oktety.
  • Ale od mnoha let má MD5 sklon ke srážce hash, tj. Je možné vytvořit stejnou hashovací funkci pro dva různé vstupy. MD5 neposkytuje žádnou bezpečnost před těmito kolizními útoky. Místo MD5 je nyní v kryptografickém poli pro generování hashovací funkce přijatelné SHA (Secure Hash Algorithm, který produkuje 160bitový výtah zpráv a navržený NSA jako součást algoritmu digitálního podpisu), protože není snadné vytvořit SHA - Kolize a dosud žádná kolize nebyla dosud vytvořena.
  • Navíc je algoritmus MD5 poměrně pomalý než optimalizovaný algoritmus SHA. SHA je mnohem bezpečnější než algoritmus MD5 a navíc může být implementován do stávající technologie s překročení rychlosti, na rozdíl od MD5. V současné době se na trhu objevují nové hashovací algoritmy, které mají na paměti vyšší bezpečnost dat, jako je SHA256 (která generuje 256 bitový podpis textu).

Závěr

V současné době je při ukládání veškerých dat na cloud a internet velmi důležité udržovat bezpečnost těchto dat na nejvyšší prioritě. K šifrování soukromých dat by měl být použit nejbezpečnější algoritmus. Nedávné studie ukazují, že algoritmus SHA by měl mít nad MD5 mimořádný význam, protože MD5 je zranitelnější vůči kolizním útokům. Přestože vědci navrhují nové algoritmy, které jsou bezpečné a nejméně zranitelné vůči útokům, jako je SHA256.

Doporučené články

Toto byl průvodce algoritmem MD5. Zde jsme diskutovali úvod, použití, práci, výhody a nevýhody MD5 algoritmu. Další informace naleznete také v dalších navrhovaných článcích -

  1. Algoritmus šifrování
  2. Co je dešifrování?
  3. Co je kryptografie?
  4. Kryptografie vs. šifrování

Kategorie: