Standardowy limit konwersji dla MD5 to 128 bitów. Ma to zastosowanie do wiadomości wejściowych o dowolnej długości. Jednak dla SHA jest to dość zróżnicowane. SHA może konwertować wiadomość wejściową o maksymalnej długości 264 – do – 2128 bitów do 160-512-bitowego skrótu komunikatu wyjściowego. Ta zasadnicza różnica między tymi dwoma algorytmami uwydatnia kolejne szczeliny między nimi.
SHA kontra MD5
Różnica między SHA i MD5 polega na tym, że SHA został wynaleziony przez Narodowy Instytut Standardów i Technologii (NIST) w Stanach Zjednoczonych w celu tworzenia skondensowanych skrótów wiadomości, podczas gdy MD5 został wymyślony przez Rona Rivesta w celu skondensowania plików do jednego 128-bitowa wartość skrótu.
Tabela porównawcza między SHA i MD5
Parametry porównania | SHA | MD5 |
Definicja | SHA to algorytm funkcji skrótu kryptograficznego stworzony przez NIST w celu ułatwienia tworzenia skrótów wiadomości. | MD5 został stworzony przez Rona Rivesta i służy do konwertowania wiadomości o nieograniczonej długości na 128-bitowe skróty wiadomości. |
Pełna forma | Skrót SHA oznacza Secure Hash Algorithm. | Skrót MD5 oznacza Message Digest. |
Maksymalna długość wiadomości | SHA może przekonwertować wiadomość 264 – do – 2128 bity tworzące 160-512-bitowy skrót wiadomości. | MD5 może konwertować wiadomości o dowolnej długości na 128-bitowy skrót wiadomości. |
Bezpieczeństwo | Jako kryptograficzny algorytm skrótu SHA jest bardziej bezpieczny niż MD5. | MD5 jest mniej zabezpieczony niż SHA i jego ulepszona wersja SHA-1. |
Prędkość | Oryginalna wersja algorytmu jest wolniejsza niż MD5. Jednak jego kolejne odsłony, takie jak SHA-1, oferują znacznie większe prędkości. | MD5 jest szybszy niż oryginalna wersja SHA. |
Słaby punkt | Mniej podatny na cyberzagrożenia i ataki hakerów. | Bardziej podatny na cyberzagrożenia i ataki hakerów. |
Liczba ataków | Mniej ataków było w stanie złamać algorytm. | Zgłoszono kilka poważnych ataków. |
Używa dzisiaj | Używany w aplikacjach takich jak SSH, SSL itp. | Użycie MD5 ogranicza się głównie do weryfikacji integralności plików ze względu na słabe protokoły bezpieczeństwa. |
Co to jest SHA?
SHA to skrót od Secure Hash Algorithm. Został pierwotnie opracowany i skonstruowany przez amerykański Narodowy Instytut Standardów i Technologii (NIST). SHA oznacza konglomerat zabezpieczonych kryptograficznych funkcji skrótu, które zostały określone w standardzie Secure Hash Standard (SHS).
Różne wersje algorytmu obejmują zaawansowane modele SHA-1, SHA-256 i SHA-384 oraz SHA-512. Oryginalna wersja została wyposażona w 10-bitową funkcję skrótu. Wkrótce został zastąpiony nową, ulepszoną wersją SHA-1. Późniejsze wersje algorytmu udostępniają również jednokierunkowe funkcje mieszające, które przetwarzają wiadomość o maksymalnej długości 264 – do – 2128 bity. Jest to skondensowane do postaci 160-512-bitowego skrótu wiadomości.
Protokoły bezpieczeństwa tego algorytmu i jego ulepszone warianty są znacznie bardziej wszechstronne i groźne niż u innych konkurentów na rynku. Ochrona podatności zapewniana przez algorytm jest niezrównana.
Co to jest MD5?
MD5 kojarzy się z algorytmem mieszającym znanym jako Message Digest. Został stworzony jako kryptograficzny algorytm mieszający przez Rona Rivesta. Wersja MD5 została stworzona jako ulepszenie oferty swojego poprzednika – MD4.
Sedno algorytmu opiera się na funkcji kompresji, która z kolei działa na blokach. MD5 działa, pobierając wiadomości wejściowe o różnej długości, a następnie konwertując je na 128-bitowy „odcisk palca” lub „podsumowanie wiadomości”. W ten sposób algorytm jest w stanie wytworzyć 128-bitową wartość skrótu z kapryśnej długości ciągu.
Chociaż wersja MD5 jest ulepszeniem w stosunku do kwestii bezpieczeństwa swojego poprzednika, nie zawiera niezwykle potężnych protokołów bezpieczeństwa. MD5 było szeroko krytykowane za poważne problemy z lukami w zabezpieczeniach. Algorytm nie zapewnia użytkownikowi dużego bezpieczeństwa. Obecnie jest często używany do określania integralności plików, a nie głównie do funkcji mieszających.
Główne różnice między SHA a MD5
- Główna różnica między SHA i MD5 polega na tym, że SHA oznacza kryptograficzną funkcję skrótu opracowaną przez NIST, podczas gdy MD5 jest powszechnie używaną funkcją skrótu, która generuje 128-bitową wartość skrótu z pliku o różnej długości ciągu.
- Każdy skrót reprezentuje inną pełną formę. SHA oznacza Secure Hash Algorithm, a MD5 oznacza Message Digest Algorithm.
- Maksymalna długość kondensacji dla każdego algorytmu jest inna. SHA może przetworzyć wiadomość wejściową o maksymalnej długości 264 – do – 2128 bity. Jest to skondensowane do postaci 160-512-bitowego skrótu wiadomości. MD5 może przyjąć wiadomość o dowolnej długości i skondensować ją w 128-bitowy skrót wiadomości.
- SHA jest stosunkowo bardziej zabezpieczony jako kryptograficzny algorytm mieszający niż MD5.
- Algorytm MD5 jest znacznie szybszy niż wersja SHA. Jednak zoptymalizowana wersja SHA1 została opracowana jako ulepszenie w stosunku do początkowego algorytmu i jest znacznie szybsza niż MD5.
- Kilka poważnych ataków zostało zgłoszonych w związku z algorytmem MD5, podczas gdy wersja SHA – zwłaszcza ulepszone warianty – zgłasza mniej ataków.
- Algorytm MD5 jest bardziej podatny na cyberzagrożenia i ataki hakerów, ponieważ jego interfejs jest łatwiejszy do złamania w porównaniu z bardziej ulepszonymi wersjami SHA, takimi jak SHA-1.
Wniosek
Zarówno SHA, jak i MD5 to algorytmy mieszające. Oba mają kilka podobieństw, jednak różnice między nimi są równie wymowne w analizie porównawczej ich indywidualnych występów.
Secure Hash Algorithm lub SHA został stworzony przez NIST w celu stworzenia algorytmu skrótu, który byłby kryptograficzny, bezpieczny i skuteczny. Następcy oryginalnej wersji SHA zostali uznani przez Federalny Standard Przetwarzania Informacji za 4 najbardziej bezpieczne algorytmy mieszające na rynku.
I odwrotnie, MD5 został stworzony przez Rona Rivesta jako kryptograficzny algorytm mieszający, który jest zdolny do kondensowania wiadomości wejściowych o różnej długości w standardowy 128-bitowy skrót wiadomości. Podczas gdy SHA może konwertować wiadomość o maksymalnej długości 264 – do – 2128 bitów do 160-512-bitowego skrótu wiadomości, MD5 umożliwia konwersję wiadomości o dowolnej długości do standardowego „odcisku palca” lub skrótu wyjściowego.
Istnieje kilka innych znaczących różnic między nimi pod względem bezpieczeństwa, zastosowań, podatności na cyberataki i innych. Wybierając między dwoma algorytmami mieszającymi, SHA zdecydowanie zapewnia niezaprzeczalną przewagę nad MD5.
Bibliografia
- https://ieeexplore.ieee.org/abstract/document/6632545/