SHA, skratka pre algoritmus Secure Hash Algorithm, je skupina kryptografických algoritmov hashovania publikovaných Národným inštitútom pre normy a technológie (NIST), aby boli vaše údaje v bezpečí. V roku 1995 NIST schválil štandard Secure Hash, FIPS PUB 180-1, ktorý obsahoval jeden algoritmus bezpečného hashovania, SHA-1. V roku 2003 bol schválený nový štandard Secure Sash Signature Standard (SHS), FIPS PUB 180-2, ktorý pridal tri hashovacie algoritmy schopné produkovať väčšie správy, ktoré prekonali štandardy FIPS 180-1. FIPS PUB 180-2 špecifikuje štyri algoritmy bezpečného hashovania, SHA-1, SHA-256, SHA-384 a SHA-512 - z ktorých všetky sú iteratívne, tj jednosmerné hashovacie funkcie, ktoré môžu spracovávať správu v kondenzovanom stave reprezentácia nazývaná prehľad správ. Hlavne kvôli ich účinnosti sú kryptografické hašovacie funkcie pre kryptografické algoritmy a protokoly zásadné.
Tento článok sa zameriava hlavne na dve populárne kryptografické hašovacie funkcie, ktoré sa dnes používajú - SHA-1 a SHA-256. Ako súčasť štandardu Secure Hash (SHS) bol SHA-1 jedným z prvých algoritmov hashovania, ktoré certifikačné autority SSL často používajú na podpisovanie certifikátov. Bolo uverejnené v roku 1993 ako SHA, ale kvôli bezpečnostnej chybe bolo neskôr nahradené bezpečnejším SHA-1. Je to zďaleka jedna z najbežnejšie používaných a nasadených kryptografických hašovacích funkcií. SHA-256 má rovnakú základnú štruktúru a používa rovnaký typ modulárnych aritmetických a logických binárnych operácií ako SHA-1. SHA-256 patrí do rodiny SHA-2 s podobnými hashovacími funkciami s rôznou veľkosťou bloku, druhým je SHA-512. Je to hashova funkcia, ktorá sa bežne používa v Blockchain.
SHA-1 je jednou z najčastejšie používaných a nasadených kryptografických hašovacích funkcií, ktoré certifikačné autority SSL často používajú na podpisovanie certifikátov. Bol to jeden z najstarších hašovacích algoritmov určených na použitie federálnou vládou USA. To bolo vyvinuté NIST a NSA. SHA-1 bol publikovaný ako federálny vládny štandard v roku 1995 ako aktualizácia SHA, ktorá bola uverejnená v roku 1993. Berie vstup a produkuje 160-bitovú (20-bajtovú) hash hodnotu známu ako súhrn správ, typicky reprezentovaný 40-miestnym hexadecimálnym reťazcom. SHA-1 je navrhnutý tak, aby bolo výpočtovo nemožné nájsť správu, ktorá zodpovedá danému súboru správ, alebo nájsť dve rôzne správy, ktoré produkujú rovnaký súbor správ..
SHA-256 je novšia, bezpečnejšia kryptografická hašovacia funkcia, ktorá bola navrhnutá v roku 2000 ako nová generácia funkcií SHA a bola prijatá ako štandard FIPS v roku 2002. Algoritmus SHA-256 generuje 256-bitovú hašovaciu hodnotu z čalúnenej 512-bitovej blokov správ a pôvodná veľkosť správy je až 264-1 bit. SHA-256 vždy počíta 256-bitové hash interne kvôli bezpečnosti, ale výsledný výsledok môže byť skrátený na tlač a ukladanie 196 alebo 128 bitov. Skrátený SHA-256 tak poskytuje podstatnú výhodu pre ľudskú použiteľnosť v tlačených citáciách a významne zvyšuje bezpečnosť za cenu malého zníženia výkonu súvisiaceho s MD5. Na rozdiel od algoritmu MD5 nepodlieha skrátená SHA-256 žiadnym známym útokom.
- SHA-1 je jednou z najčastejšie používaných a nasadených kryptografických hašovacích funkcií, ktoré certifikačné autority SSL často používajú na podpisovanie certifikátov. Bol to jeden z najstarších hašovacích algoritmov určených na použitie federálnou vládou USA. SHA-256 je novšia, bezpečnejšia kryptografická hašovacia funkcia, ktorá bola navrhnutá v roku 2000 ako nová generácia funkcií SHA a bola prijatá ako štandard FIPS v roku 2002. SHA-256 patrí do skupiny kryptografických hasiacich algoritmov SHA-2 s podobnými hashmi funkcie, ale rôzna veľkosť bloku, iné sú SHA-384 a SHA-512.
- SHA-1 je 160-bitový hash, ktorý prijíma vstup a vytvára 160-bitovú (20-bajtovú) hashovaciu hodnotu známu ako súhrn správ, zvyčajne predstavovanú 40-miestnym hexadecimálnym reťazcom. SHA-1 je navrhnutý tak, aby bolo výpočtovo nemožné nájsť správu, ktorá zodpovedá danému súboru správ, alebo nájsť dve rôzne správy, ktoré produkujú rovnaký súbor správ. Algoritmus SHA-256 generuje 256-bitovú hašovaciu hodnotu z polstrovaných 512-bitových blokov správ a pôvodná veľkosť správy je až 264-1 bit.
- So zvyšujúcim sa výpočtovým výkonom sa zvýšila aj pravdepodobnosť prerušenia SHA-1. Bol to jeden z najstarších hašovacích algoritmov určených na použitie federálnou vládou USA a vzhľadom na jeho malú bitovú veľkosť je viac náchylný na útoky. Aj keď SHA-256 má rovnakú základnú štruktúru a používa rovnaké typy modulárnych aritmetických a logických binárnych operácií ako SHA-1, stala sa neoddeliteľnou súčasťou mnohých aplikácií. SHA-256 vždy počíta 256-bitové hash interne pre bezpečnosť, čo výrazne zvyšuje bezpečnosť, za cenu malého zníženia výkonu súvisiaceho s MD5.
V skratke je SHA-256 spoľahlivejšia a bezpečnejšia ako SHA-1. SHA-256 patrí do rodiny kryptografických hašovacích funkcií SHA-2 navrhnutých NSA a bežne sa používa v Blockchain. SHA-1 bola jednou z prvých kryptografických hašovacích funkcií, ktoré certifikačné autority SSL často používajú na podpisovanie certifikátov. Kvôli svojej menšej bitovej veľkosti a slabým miestam v oblasti bezpečnosti sa však časom stal viac náchylným na útoky, ktoré nakoniec viedli k jeho znehodnoteniu od vydavateľov certifikátov SSL..