Hash, elektronický podpis a certifikáty
3. SHA
SHA
MD5, který předcházel tomuto aloritmu, jsme si již zmínili. Teď se podíváme na rodinu SHA.
Algoritmus SHA-1 byl poprvé uveden v roce 2001. Jako standard byl uznán o rok později.
SHA (Secure Hash Algorithm) je hashovací algoritmus, jenž transformuje vstupní text na text výstupní. Přičemž používá operace a hashovací funkce. Hash či otisk je vytvořen a připojen ke zprávě.
SHA je nadstavba algoritmů SHA-1, SHA-224, SHA-256, SHA-384 a SHA-512. Algoritmus SHA-1 má výstupní text dlouhý 160 bitů, číselné označení dalších algoritmů pak znamená délku výstupního textu při jejich použití (pokud použijeme SHA-384, délka výstupního textu pak bude 384 bitů). Algoritmy SHA-224, SHA-256, SHA-384 a SHA-512 jsou souhrnně nazývány také SHA-2 obr. 1.
Obr. 1 Rodina SHA

Princip
Principiálně jsou algoritmy podobné, my se blíže podíváme na algoritmus SHA-1 obr. 2.
Obr. 2 Runda SHA-1

- do algoritmu vstupuje 512 bitů dlouhý vstupní text
- ten se rozdělí na šestnáct bloků (označení blok 1...blok 16)
- takto rozdělené bloky se zkopírují do schránky pro pozdější použití
- vstupní bloky vstoupí do hashovací funkce
- proběhnou operace cyklický posun vlevo o x pozic, či modulární součet
- výstup z hashovací funkce se sečte (232) s uloženými nezměněnými vstupními bloky
- sečtené bloky (označené blok u1...blok u16) jsou pak výstupen z rundy algoritmu SHA-1
- výstup z rundy má 160 bitů
Při aplikaci algoritmů se setkáváme s pojmem integrita souboru, či integrita dat? Zkusili byste formulovat, co je to integrita a co je její hlavní myšlenkou?
- pokud je integrita dat v pořádku, znamená to, že data dešifrovaná jsou totožná s daty šifrovanými a tudíž během transportu nedošlo k manipulaci
- integrita zároveň zajištuje kompletnost přeneseného souboru či dat; (k čemu nám bude, že budeme znát jméno osoby, když její rodné číslo nepůjde rozeznat)
Použití
SHA a jeho modifikace jsou hojně využívány u protokolu SSL, či ochrany PGP, nebo jako součástí aplikací. Začleněny jsou také do programů kontrolující právě integritu přenesených dat, či aplikací pro kontrolu a ukládání hesel.
Bezpečnost
Bezpečnost algoritmu je opět dána nemožností zpětného zjištění původních dat. Jednou z možností je řešení diskrétního logaritmu, který, jak víme, řešení má, ale je velmi obtížné se k němu dopracovat.
Shrnutí
Mezi další hashovací algoritmy patří nástupce MD5, kterým je rodina algoritmů SHA.
Zdroje
JIROUŠEK, Radim. Principy digitální komunikace. Vyd. 1. Voznice: Leda, 2006, 309 s. ISBN 80-733-5084-X.
