Pokud jste již slyšeli o algoritmu Secure Hash Algorithm, nebo SHA, v mnoha podobách, musíte vědět, že algoritmy hash existovaly v mnoha podobách alespoň od 50. let. Dříve byly hashovací algoritmy omezeny na základní integritu dat a autentizaci uživatelů, ale s rychlým nárůstem útočníků usilujících o využití elektronické komunikace se role hashovacích algoritmů změnila. Dnes jsou algoritmy hash začleněny do jiných protokolů, jako jsou protokoly VPN, digitální podpisy, distribuce softwaru a kontrola licencí, integrita systému souborů databází, detekce změny souborů webových stránek, abychom jmenovali jen několik. Jak již bylo řečeno, SHA-1 a SHA-2 jsou algoritmy Secure Hash (SHA), které se běžně používají v mnoha operačních systémech k šifrování hesel.
SHA-1 a SHA-2 jsou bezpečné hashovací algoritmy vyžadované zákonem pro použití v určitých aplikacích vlády USA, spolu s použitím v jiných kryptografických algoritmech a protokolech, pro ochranu citlivých neutajovaných informací. SHA-2 je potenciálním nástupcem SHA-1 a zahrnuje významný počet změn oproti svému předchůdci a skládá se ze čtyř hashovacích funkcí s různými velikostmi výtěžku: SHA-224, SHA-256, SHA-384 a SHA-512. Předpokládá se, že SHA-2 je výrazně silnější a bezpečnější a nepodléhá stejným bezpečnostním zranitelnostem jako SHA-1. Přestože SHA-2 nese určitou podobnost s algoritmem SHA-1, generuje delší hash. Podíváme se na dva hashovací algoritmy, abychom zjistili, který z nich je bezpečnější a silnější.
SHA-1 je nejrozšířenější ze stávajících hashovacích funkcí SHA a je používán v několika široce nasazených bezpečnostních aplikacích a protokolech. Je to kryptografický počítačový bezpečnostní algoritmus vytvořený Národní bezpečnostní agenturou (NSA) v roce 1995 a publikovaný NIST jako federální standard pro zpracování informací USA. SHA-1 generuje téměř unikátní zprávu o délce <264 v blocích po 512 bitech. To znamená, že při výpočtu přehledu zpráv zpracovává bloky 512 bitů v sekvenci. SHA-1 vytváří 160bitový přehled zpráv. Algoritmus je založen na principech podobných těm, které používá Ronald L. Rivest z MIT při návrhu algoritmů hashování MD4 a MD5 na počátku 90. let. SHA-1 se také používá v distribuovaných systémech revize, jako jsou Git, Monotone a Mercurial.
SHA-2 je sada kryptografických hašovacích funkcí, které nahrazují algoritmus SHA-1. Norma NIST SHA-2 byla navržena americkou národní bezpečnostní agenturou a zveřejněna v roce 2001. Rodina hashovacích funkcí SHA-2 slouží stejnému konci jako SHA-1, ale má vyšší úroveň bezpečnosti než její předchůdce. Byl navržen tak, aby překonal bezpečnostní chyby v algoritmu SHA-1. SHA-2 je rodina čtyř hashovacích funkcí s různými velikostmi digestu: SHA-224, SHA-256, SHA-384 a SHA-512. Stejně jako SHA-1, všechny funkce rodiny SHA-2 sledují konstrukci MD. SHA-256 a SHA-512 jsou dva hlavní instance rodiny, které pracují na 32bitových a 64bitových slovech, a proto používají různé algoritmy. Používá se k ověřování a podepisování digitálních bezpečnostních certifikátů a dokumentů.
- Jak SHA-1, tak SHA-2 patří do rodiny kryptografických hašovacích funkcí SHA navržených Úřadem pro národní bezpečnost USA a zveřejněných Národním institutem pro standardy a technologie (NIST). Oba jsou bezpečné hashovací algoritmy vyžadované zákonem pro použití v určitých vládních aplikacích USA, spolu s použitím v jiných kryptografických algoritmech a protokolech. SHA-2 je však bezpečnější hashovací algoritmus a nástupce nyní již zastaralého hashovacího algoritmu SHA-1. Algoritmus SHA-1 již není bezpečný a certifikáty a meziprodukty SHA-1 již nejsou rozpoznávány.
- SHA-1 generuje téměř unikátní zprávu o délce <264 v blocích po 512 bitech. Při výpočtu přehledu zpráv zpracovává bloky 512 bitů v sekvenci, která se obvykle vykresluje jako 40místné šestnáctkové číslo. A vytváří soubor 160bitových zpráv a snažil se opravit bezpečnostní rizika nalezená v SHA-0. SHA-2, na druhé straně, rodina čtyř hashových funkcí s různými velikostmi digestu: SHA-224, SHA-256, SHA-384 a SHA-512. Zpracovává zprávy v 512bitových blocích pro 224, 256 a 384 hash funkcí a 1 024 bloků pro algoritmus SHA-512.
- SHA-1 byl primárním hashovacím algoritmem v rozsáhlém používání od roku 2011 do roku 2015, dokud bezpečnostní chyby v algoritmu nevyvolávaly přehodnocení. SHA-2 byl navržen tak, aby překonal zranitelnosti v algoritmu SHA-1. Přestože SHA-2 nese určitou podobnost s algoritmem SHA-1, generuje delší hash a je výrazně silnější a bezpečnější než SHA-1. Zatímco oba algoritmy jsou založeny na konstrukci Merkle-Damgård, SHA-2 obsahuje sadu dalších algoritmů SHA, které odpovídají vyšší úrovni zabezpečení delších klíčů. Kromě toho má SHA-2 mnohem vylepšené a zabezpečené certifikáty, které jsou speciálně navrženy tak, aby chránily váš systém před možným porušením.
Hašovací algoritmy existují v mnoha podobách od 50. let. Se zvýšenou hodnotou datových interakcí a zvýšenými kybernetickými útoky se požadavky na algoritmy hashování změnily. Jakmile jsou omezeny na základní integritu dat a autentizaci uživatelů, hashovací algoritmy se nyní používají pro vytváření přehledů zpráv a digitálních podpisů, čímž se zpřísňují vazby dat a původce dat. Po ohrožení bezpečnosti SHA-1 se digitální svět posunul k bezpečnějšímu a silnějšímu hashovacímu algoritmu SHA-2. SHA-2 je sada dalších hashovacích algoritmů, které odpovídají vyšší úrovni zabezpečení delších klíčů.