Jeśli słyszałeś już o Bezpiecznym algorytmie skrótu, czyli SHA, w wielu jego formach, musisz wiedzieć, że algorytmy mieszające istniały w wielu formach przynajmniej od lat 50. XX wieku. Wcześniej algorytmy mieszające ograniczały się do podstawowej integralności danych i uwierzytelniania użytkowników, ale wraz z szybkim wzrostem liczby atakujących próbujących wykorzystać komunikację elektroniczną zmieniła się rola algorytmów mieszających. Obecnie algorytmy mieszające są wbudowane w inne protokoły, takie jak protokoły VPN, podpisy cyfrowe, dystrybucja oprogramowania i kontrola licencji, integralność systemu plików bazy danych, wykrywanie modyfikacji pliku strony internetowej, aby wymienić tylko kilka. To powiedziawszy, SHA-1 i SHA-2 są Bezpiecznymi Algorytmami Hash (SHA) powszechnie stosowanymi przez wiele systemów operacyjnych do szyfrowania haseł.
SHA-1 i SHA-2 są bezpiecznymi algorytmami skrótu wymaganymi przez prawo do stosowania w niektórych aplikacjach rządowych USA, wraz z użyciem w innych algorytmach i protokołach kryptograficznych, do ochrony wrażliwych niesklasyfikowanych informacji. SHA-2 jest potencjalnym następcą SHA-1 i zawiera znaczną liczbę zmian w stosunku do swojego poprzednika i składa się z czterech funkcji skrótu o różnych rozmiarach skrótu: SHA-224, SHA-256, SHA-384 i SHA-512. Uważa się, że SHA-2 jest znacznie silniejszy i bezpieczny, i nie podlega takim samym lukom bezpieczeństwa jak SHA-1. Chociaż SHA-2 wykazuje pewne podobieństwo do algorytmu SHA-1, generuje dłuższy skrót. Przyjrzymy się dwóm algorytmom mieszającym, aby zobaczyć, który z nich jest bezpieczniejszy i silniejszy.
SHA-1 jest najczęściej używaną z istniejących funkcji skrótu SHA i jest wykorzystywany w wielu szeroko rozpowszechnionych aplikacjach i protokołach bezpieczeństwa. Jest to kryptograficzny algorytm bezpieczeństwa komputerowego stworzony przez Narodową Agencję Bezpieczeństwa (NSA) w 1995 r. I opublikowany przez NIST jako Federalny Standard Przetwarzania Informacji USA. SHA-1 generuje prawie unikalny komunikat długości <264 w blokach po 512 bitów. Oznacza to, że przetwarza bloki 512 bitów w sekwencji podczas obliczania skrótu wiadomości. SHA-1 tworzy 160-bitowy skrót wiadomości. Algorytm oparty jest na zasadach podobnych do tych stosowanych przez Ronalda L. Rivesta z MIT przy projektowaniu algorytmów mieszających MD4 i MD5 na początku lat 90. SHA-1 jest również stosowany w rozproszonych systemach kontroli wersji, takich jak Git, Monotone i Mercurial.
SHA-2 to zestaw kryptograficznych funkcji mieszających, które zastępują algorytm SHA-1. Standard SHA-2 NIST został zaprojektowany przez Narodową Agencję Bezpieczeństwa USA i opublikowany w 2001 roku. Rodzina funkcji skrótu SHA-2 służy do tego samego celu co SHA-1, ale oferuje wyższy poziom bezpieczeństwa niż jego poprzednik. Został zaprojektowany w celu przezwyciężenia luk bezpieczeństwa w algorytmie SHA-1. SHA-2 to rodzina czterech funkcji skrótu o różnych rozmiarach skrótu: SHA-224, SHA-256, SHA-384 i SHA-512. Podobnie jak SHA-1, wszystkie funkcje rodziny SHA-2 są zgodne z konstrukcją MD. SHA-256 i SHA-512 to dwa główne wystąpienia rodziny, które działają odpowiednio na 32-bitowych i 64-bitowych słowach i dlatego używają różnych algorytmów. Jest szeroko stosowany do sprawdzania i podpisywania cyfrowych certyfikatów bezpieczeństwa i dokumentów.
- Zarówno SHA-1, jak i SHA-2 należą do rodziny SHA kryptograficznych funkcji mieszających zaprojektowanych przez Narodową Agencję Bezpieczeństwa USA i opublikowanych przez National Institute of Standards and Technology (NIST). Oba są bezpiecznymi algorytmami skrótu wymaganymi przez prawo do stosowania w niektórych aplikacjach rządowych USA, a także do stosowania w innych algorytmach i protokołach kryptograficznych. SHA-2 jest jednak bardziej bezpiecznym algorytmem mieszającym i następcą przestarzałego algorytmu mieszającego SHA-1. Algorytm SHA-1 nie jest już bezpieczny, a certyfikaty SHA-1 i półprodukty nie są już rozpoznawane.
- SHA-1 generuje prawie unikalny komunikat długości <264 w blokach po 512 bitów. Przetwarza bloki 512 bitów w sekwencji podczas obliczania skrótu wiadomości, który jest zwykle renderowany jako 40-cyfrowa liczba szesnastkowa. I generuje 160-bitowy skrót wiadomości i starał się naprawić zagrożenia bezpieczeństwa wykryte w SHA-0. Z drugiej strony, SHA-2 to rodzina czterech funkcji skrótu o różnych rozmiarach skrótu: SHA-224, SHA-256, SHA-384 i SHA-512. Przetwarza wiadomości w 512-bitowych blokach dla funkcji skrótu 224, 256 i 384 oraz 1024 bloków dla algorytmu SHA-512.
- SHA-1 był głównym algorytmem mieszającym szeroko rozpowszechnionym w latach 2011–2015, dopóki luki w zabezpieczeniach algorytmu nie spowodowały ponownej wyceny. SHA-2 został zaprojektowany w celu przezwyciężenia luk w algorytmie SHA-1. Chociaż SHA-2 wykazuje pewne podobieństwo do algorytmu SHA-1, generuje dłuższy skrót i jest znacznie silniejszy i bezpieczny niż SHA-1. Podczas gdy oba algorytmy są oparte na konstrukcji Merkle-Damgård, SHA-2 zawiera zestaw dodatkowych algorytmów SHA, aby dopasować wyższy poziom bezpieczeństwa dłuższych kluczy. Ponadto SHA-2 ma znacznie ulepszone i bezpieczne certyfikaty, które zostały zaprojektowane specjalnie w celu ochrony systemu przed potencjalnymi naruszeniami.
Algorytmy Hash istnieją w wielu formach od lat 50. XX wieku. Wraz ze wzrostem wartości interakcji danych i zwiększonymi cyberatakami zmieniły się wymagania dotyczące algorytmów mieszających. Niegdyś ograniczone do podstawowej integralności danych i uwierzytelnień użytkownika, algorytmy mieszające są obecnie używane do tworzenia skrótów wiadomości i podpisów cyfrowych, a tym samym zacieśniania więzi danych i źródła danych. Po naruszeniu bezpieczeństwa SHA-1 świat cyfrowy przeszedł na bezpieczniejszy i silniejszy algorytm mieszania SHA-2. SHA-2 to zestaw dodatkowych algorytmów mieszających, które pasują do wyższego poziomu bezpieczeństwa dłuższych kluczy.