Wprowadzenie do algorytmu MD5

Przed nauczeniem się algorytmu MD5 bardzo ważne jest zrozumienie, czym jest kryptografia i jak pojawił się algorytm MD5. Mówiąc najprościej, kryptografia to praktyka i badanie technik, które są używane do przekształcania zwykłego tekstu w niezrozumiały tekst, który może zrozumieć tylko odbiorca. Ze względów bezpieczeństwa bardzo ważne jest szyfrowanie danych oraz wysyłanie i przechowywanie ich w określonym formacie, aby uniemożliwić wyciek, a tym samym niewłaściwe użycie. MD5 jest jednym z algorytmów używanych do kodowania danych. Opracowano tak wiele algorytmów do bezpiecznego przesyłania i przechowywania danych, które mają swoje zalety i wady. Algorytmy te nie tylko chronią dane przed kradzieżą, ale także zapewniają uwierzytelnianie użytkowników.

Teraz ucząc się dogłębnie o algorytmie MD5, więc MD5 oznacza algorytm Message Digest 5, który jest jedną z powszechnie stosowanych funkcji skrótu kryptograficznego, która przyjmuje dane wejściowe o dowolnej długości i daje wynik o ustalonej 128-bitowej wartości skrótu. Jest stosowany w wielu różnych aplikacjach bezpieczeństwa. MD5 to zaawansowana wersja MD4 opracowana przez profesora Ronalda Rivesta z MIT. MD5 został opracowany jako silny algorytm kryptograficzny do uwierzytelniania podpisów cyfrowych (kod cyfrowy dołączany do dokumentu elektronicznego w celu weryfikacji jego zawartości i tożsamości płciowej).

Zastosowanie algorytmu MD5

Algorytm MD5 został opracowany z głównym motywem bezpieczeństwa, ponieważ pobiera dane wejściowe o dowolnej wielkości i generuje dane wyjściowe, jeśli 128-bitowa wartość skrótu. Aby zostać uznanym za kryptograficznie bezpieczny MD5, należy spełnić dwa wymagania:

  1. Nie można wygenerować dwóch danych wejściowych, które nie mogą wygenerować tej samej funkcji skrótu.
  2. Nie można wygenerować komunikatu o tej samej wartości skrótu.

Początkowo MD5 został opracowany do przechowywania jednokierunkowego skrótu hasła, a niektóre serwery plików zapewniają również wstępnie obliczoną sumę kontrolną MD5 pliku, aby użytkownik mógł porównać z nią sumę kontrolną pobranego pliku. Większość systemów operacyjnych opartych na Uniksie zawiera narzędzia sum kontrolnych MD5 w swoich pakietach dystrybucyjnych.

Jak działa algorytm MD5?

Jak wszyscy wiemy, MD5 generuje wyjście o wartości 128-bitowej wartości skrótu. To szyfrowanie danych wejściowych dowolnego rozmiaru w wartościach skrótu przechodzi 5 kroków, a każdy krok ma swoje predefiniowane zadanie.

Krok 1: Dołącz bity wypełniające

  • Wypełnienie oznacza dodanie dodatkowych bitów do oryginalnej wiadomości. Tak więc w MD5 oryginalny komunikat jest wypełniony tak, że jego długość w bitach jest zgodna z 448 modulo 512. Wypełnienie jest wykonywane w taki sposób, że całkowita liczba bitów wynosi 64 mniej, co stanowi wielokrotność długości 512 bitów.
  • Wypełnianie jest wykonywane, nawet jeśli długość oryginalnego komunikatu jest już zgodna z 448 modulo 512. W bitach dopełniania jedynym pierwszym bitem jest 1, a pozostałe bity mają wartość 0.

Krok 2: Dołącz długość

Po wypełnieniu na końcu wstawiane są 64 bity, które służą do rejestrowania długości oryginalnego wejścia. Modulo 2 64. W tym momencie wynikowy komunikat ma długość wielokrotności 512 bitów.

Krok 3: Zainicjuj bufor MD

Czterosłowowy bufor (A, B, C, D) służy do obliczania wartości skrótu wiadomości. Tutaj A, B, C, D są rejestrami 32-bitowymi i są inicjowane w następujący sposób

Słowo A.01234567
Słowo B.89AbPłyta CDEf
Słowo C.FeDCBa98
Słowo D.76543210

Krok 4: Przetwarzanie wiadomości w bloku 16 słów

MD5 korzysta z funkcji pomocniczych, które przyjmują dane wejściowe jako trzy liczby 32-bitowe i generują sygnał 32-bitowy. Funkcje te używają operatorów logicznych, takich jak OR, XOR, NOR.

F (X, Y, Z)XY v not (X) Z
G (X, Y, Z)XZ przeciwko Y nie (Z)
H (X, Y, Z)X xor Y xor Z
I (X, Y, Z)Y xor (X v not (Z))

Zawartość czterech buforów jest mieszana z danymi wejściowymi za pomocą tego bufora pomocniczego, a 16 rund wykonuje się przy użyciu 16 podstawowych operacji.

Wynik-

W końcu rundy wykonały bufor A, B, C, D zawierający wyjście MD5 zaczynające się od niższego bitu A i kończące się wyższym bitem D.

Przykład:

Dane wejściowe: jest to artykuł na temat algorytmu kryptograficznego
Wyjście: e4d909c290dfb1ca068ffaddd22cbb0

Zalety i wady algorytmu MD5:

  • Algorytmy MD5 są przydatne, ponieważ łatwiej jest porównywać i przechowywać te mniejsze skróty niż przechowywać duży tekst o zmiennej długości. Algorytm MD5 jest szeroko stosowanym algorytmem dla skrótów jednokierunkowych, które są używane do weryfikacji bez konieczności podawania oryginalnej wartości. Algorytm MD5 jest używany przez systemy uniksowe do przechowywania haseł użytkownika w 128-bitowym formacie zaszyfrowanym. Algorytmy MD5 są szeroko stosowane do sprawdzania integralności plików.
  • Co więcej, bardzo łatwo jest wygenerować podsumowanie wiadomości oryginalnej wiadomości za pomocą tego algorytmu. Algorytm MD5 może wykonać podsumowanie wiadomości zawierającej dowolną liczbę bitów, nie jest to ograniczone do wielokrotności liczby 8, w przeciwieństwie do sumy MD5, która jest ograniczony do oktetów.
  • Ale od wielu lat MD5 ma skłonność do słabości kolizji skrótu, tzn. Możliwe jest utworzenie tej samej funkcji skrótu dla dwóch różnych danych wejściowych. MD5 nie zapewnia bezpieczeństwa przed tymi atakami kolizyjnymi. Zamiast MD5 SHA (Bezpieczny algorytm skrótu, który generuje 160-bitowe podsumowanie wiadomości i zaprojektowany przez NSA jako część algorytmu podpisu cyfrowego) jest teraz akceptowalny w polu kryptograficznym do generowania funkcji skrótu, ponieważ nie jest łatwo wytworzyć SHA -Kolizję i do tej pory nie doszło do kolizji.
  • Co więcej, algorytm MD5 jest dość powolny niż zoptymalizowany algorytm SHA.SHA jest znacznie bezpieczniejszy niż algorytm MD5, a ponadto można go wdrożyć w istniejącej technologii z przekroczeniem prędkości, w przeciwieństwie do MD5. Obecnie na rynku pojawiają się nowe algorytmy mieszające, mając na uwadze wyższe bezpieczeństwo danych, takie jak SHA256 (który generuje 256-bitową sygnaturę tekstu).

Wniosek

Obecnie przy przechowywaniu wszystkich danych w chmurze i Internecie bardzo ważne jest utrzymanie bezpieczeństwa tych danych na najwyższym poziomie. Należy zastosować najbezpieczniejszy algorytm do szyfrowania danych prywatnych. Ostatnie badania pokazują, że algorytm SHA powinien mieć nadrzędne znaczenie w stosunku do MD5, ponieważ MD5 jest bardziej podatny na ataki zderzeniowe. Chociaż badacze proponują nowe algorytmy, które są bezpieczne i najmniej podatne na ataki, takie jak SHA256.

Polecane artykuły

To był przewodnik po algorytmie MD5. Tutaj omówiliśmy wprowadzenie, zastosowania, działanie, zalety i wady algorytmu MD5. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Algorytm szyfrowania
  2. Co to jest deszyfrowanie?
  3. Co to jest kryptografia?
  4. Kryptografia a szyfrowanie