Ak ste už počuli o algoritme Secure Hash Algorithm alebo SHA v jeho mnohých podobách, musíte vedieť, že algoritmy hash existujú v mnohých formách aspoň od 50. rokov 20. storočia. Algoritmy hash sa predtým obmedzovali na integritu základných údajov a autentifikáciu používateľov, ale s rýchlym nárastom útočníkov, ktorí sa snažia využívať elektronické komunikácie, sa úloha algoritmov hashovania zmenila. Dnes sú algoritmy hash začlenené do iných protokolov, ako sú protokoly VPN, digitálne podpisy, distribúcia softvéru a kontrola licencií, integrita systému databázových súborov, detekcia modifikácie súborov webových stránok, aby sme vymenovali len niektoré z nich. Ako už bolo povedané, SHA-1 a SHA-2 sú bezpečné algoritmy hashovania (SHA), ktoré sa bežne používajú v mnohých operačných systémoch na šifrovanie hesiel..
SHA-1 a SHA-2 sú bezpečné hashovacie algoritmy vyžadované zákonom na použitie v určitých vládnych aplikáciách USA, spolu s použitím v rámci iných kryptografických algoritmov a protokolov na ochranu citlivých neklasifikovaných informácií. SHA-2 je potenciálnym nástupcom SHA-1 a obsahuje významný počet zmien od svojho predchodcu a skladá sa zo štyroch hashovacích funkcií s rôznymi veľkosťami digestu: SHA-224, SHA-256, SHA-384 a SHA-512. Verí sa, že SHA-2 je výrazne silnejší a bezpečný a nepodlieha rovnakým bezpečnostným zraniteľnostiam ako SHA-1. Aj keď SHA-2 má určitú podobnosť s algoritmom SHA-1, vytvára dlhšie hashovanie. Pozrime sa na dva algoritmy hashovania, aby sme zistili, ktorý z nich je bezpečnejší a silnejší.
SHA-1 je najpoužívanejšie z existujúcich hashovacích funkcií SHA a používa sa v niekoľkých široko nasadených bezpečnostných aplikáciách a protokoloch. Je to kryptografický počítačový bezpečnostný algoritmus vytvorený Národnou bezpečnostnou agentúrou (NSA) v roku 1995 a publikovaný spoločnosťou NIST ako federálny štandard pre spracovanie informácií v USA. SHA-1 generuje takmer jedinečnú správu o dĺžke <264 v blokoch po 512 bitoch. To znamená, že pri výpočte súboru správ spracováva bloky s 512 bitmi za sebou. SHA-1 vytvára 160-bitový prehľad správ. Algoritmus je založený na princípoch podobných tým, ktoré použil Ronald L. Rivest z MIT pri navrhovaní algoritmov hashovania MD4 a MD5 na začiatku 90. rokov. SHA-1 sa používa aj v distribuovaných systémoch kontroly revízií, ako sú Git, Monotone a Mercurial.
SHA-2 je sada kryptografických hašovacích funkcií, ktoré nahrádzajú algoritmus SHA-1. Norma NIST SHA-2 bola navrhnutá Národnou bezpečnostnou agentúrou USA a uverejnená v roku 2001. Rodina hashovacích funkcií SHA-2 slúži na rovnaký účel ako SHA-1, má však vyššiu úroveň bezpečnosti ako jej predchodca. Bol navrhnutý tak, aby prekonal bezpečnostné chyby v algoritme SHA-1. SHA-2 je skupina štyroch hašovacích funkcií s rôznymi veľkosťami výluhu: SHA-224, SHA-256, SHA-384 a SHA-512. Rovnako ako SHA-1, všetky funkcie rodiny SHA-2 sledujú konštrukciu MD. SHA-256 a SHA-512 sú dva hlavné prípady rodiny, ktoré pracujú na 32-bitových a 64-bitových slovách, a preto používajú rôzne algoritmy. Všeobecne sa používa na overovanie a podpisovanie digitálnych bezpečnostných certifikátov a dokumentov.
- SHA-1 aj SHA-2 patria do rodiny kryptografických hašovacích funkcií SHA navrhnutých Úradom národnej bezpečnosti USA a publikovaných Národným inštitútom pre normy a technológie (NIST). Obidva sú bezpečné algoritmy hash vyžadované zákonom na použitie v určitých vládnych aplikáciách USA, spolu s použitím v iných kryptografických algoritmoch a protokoloch. SHA-2 je však bezpečnejší algoritmus hashovania a nástupca teraz ukončeného algoritmu hashovania SHA-1. Algoritmus SHA-1 už nie je bezpečný a certifikáty a medziprodukty SHA-1 sa už neuznávajú.
- SHA-1 generuje takmer jedinečnú správu o dĺžke <264 v blokoch po 512 bitoch. Pri výpočte súboru správ spracováva bloky s 512 bitmi postupne, ktoré sa zvyčajne vykresľujú ako 40-ciferné hexadecimálne číslo. A vytvára 160-bitový prehľad správ a snažil sa opraviť bezpečnostné riziká nájdené v SHA-0. SHA-2, na druhej strane, rodina štyroch hashových funkcií s rôznymi veľkosťami digestu: SHA-224, SHA-256, SHA-384 a SHA-512. Spracováva správy v 512-bitových blokoch pre 224, 256 a 384 hash funkcií a 1 024 blokov pre algoritmus SHA-512..
- SHA-1 bol hlavným hashovacím algoritmom v rozsiahlom používaní od roku 2011 do roku 2015, kým bezpečnostné chyby v algoritme nevyvolali prehodnotenie. SHA-2 bol navrhnutý tak, aby prekonal zraniteľné miesta v algoritme SHA-1. Aj keď SHA-2 má určitú podobnosť s algoritmom SHA-1, generuje dlhšie hashovanie a je výrazne silnejšie a bezpečnejšie ako SHA-1. Zatiaľ čo oba algoritmy sú založené na konštrukcii Merkle-Damgard, SHA-2 obsahuje sadu ďalších algoritmov SHA, ktoré zodpovedajú vyšším úrovniam bezpečnosti dlhších kľúčov. Navyše, SHA-2 má oveľa vylepšené a bezpečné certifikáty, ktoré sú špeciálne navrhnuté tak, aby chránili váš systém pred možným narušením.
Hash algoritmy existujú v mnohých formách od 50. rokov 20. storočia. So zvýšenou hodnotou interakcií údajov a zvýšenými kybernetickými útokmi sa požiadavky na algoritmy hashovania zmenili. Akonáhle sa obmedzí na integritu základných údajov a autentifikáciu užívateľa, hash algoritmy sa teraz používajú na vytváranie prehľadov správ a digitálnych podpisov, čím sa sprísňujú putá údajov a pôvodca údajov. Po ohrození bezpečnosti SHA-1 sa digitálny svet presunul na bezpečnejší a silnejší algoritmus hashovania SHA-2. SHA-2 je sada ďalších algoritmov hashovania, ktoré zodpovedajú vyššej úrovni zabezpečenia dlhších kľúčov.