SHA-256 je kryptografická hashovací funkce, která z libovolně velkého vstupu vytvoří unikátní digitální otisk o fixní délce 256 bitů. Tento otisk se obvykle zapisuje jako řetězec 64 šestnáctkových znaků.
Na rozdíl od svého předchůdce MD5 nebo SHA-1 nebyl algoritmus SHA-256 dosud úspěšně prolomen a je považován za bezpečný standard pro ochranu nejcitlivějších dat.
Typický SHA-256 hash vypadá takto:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA-256 je srdcem Bitcoinu. Používá se v procesu zvaném „těžba“ (Mining) k vytváření důkazů o práci (Proof of Work) a k propojení jednotlivých bloků v blockchainu. Každý blok v sobě nese hash předchozího bloku, což zajišťuje neměnnost celé historie.
Většina webových stránek používá protokoly HTTPS, kde digitální certifikáty využívají SHA-256 k potvrzení pravosti identity serveru. Váš prohlížeč si tak může být jistý, že komunikuje se správnou bankou nebo e-shopem.
Vývojáři velkých projektů (např. distribucí Linuxu) poskytují SHA-256 otisky ke staženým obrazům disků. Je to modernější a bezpečnější náhrada za zastaralé MD5.
| Vlastnost | MD5 | SHA-256 |
|---|---|---|
| Rok vydání | 1991 | 2001 |
| Délka otisku | 128 bitů | 256 bitů |
| Odolnost proti kolizím | Prolomena (velmi slabá) | Vysoká (dosud neprolomena) |
| Rychlost výpočtu | Extrémně vysoká (slabina) | Vysoká, ale náročnější než MD5 |
| Vhodné pro hesla | Ne (příliš snadno se prolamuje) | Ano (v kombinaci se „solí“) |
Ačkoliv je SHA-256 dnes považována za bezpečnou, kryptografové již připravili standard SHA-3, který využívá úplně jinou vnitřní strukturu. To je pojistka pro případ, že by byla v matematickém principu SHA-2 nalezena skrytá slabina.
Rovněž se spekuluje o vlivu kvantových počítačů. Očekává se, že SHA-256 bude vůči nim relativně odolná (na rozdíl od asymetrického šifrování RSA), pouze bude nutné časem přejít na ještě delší variantu, například SHA-512.
Související pojmy: Hashování, MD5, Blockchain, Bitcoin, RSA, Digitální podpis, SSL/TLS.