Bajecny svet elektronickeho podpisu | online podpora stejnojmenne knihy z Edice CZ.NIC

2.5        Hašování a hašovací funkce

Abychom si mohli vysvětlit, co jsou kolizní dokumenty, musíme si znovu poopravit naši představu o vzniku elektronického podpisu, a to zmínkou o tzv. hašování (anglicky hashing) a hašovacích funkcích.

V češtině bychom mohli hovořit také o vytváření otisků, ale sloveso „otiskování“ by nebylo až tak přirozené. A tak se raději podržíme oficiálního termínu hašování.

Podstatu hašování si můžeme zjednodušeně představit jako inteligentní zmenšování. Jako vytvoření „něčeho menšího, z něčeho většího“.

Pro obrázek ve větší kvalitě klikněte na odkaz pod číslem obrázku v legendě

Představa hašování (s hašovací funkcí SHA-1)

Obrázek 2 - 8: Představa hašování (s hašovací funkcí SHA-1)

Důvodem pro potřebu hašování je to, že při podepisování (ale i při označování, neboli při vytváření elektronických značek, stejně jako při vytváření časových razítek, při šifrování apod.) potřebujeme pracovat s bloky dat o pevné velikosti. Metody a algoritmy, které se k podepisování používají, to zkrátka vyžadují. Navíc je vhodné i to, aby ony bloky pevné velikosti byly dostatečně malé. „Dostatečně“ na to, aby jejich zpracování (nejen v rámci elektronického podepisování, ale třeba i šifrování), mohlo být dostatečně rychlé.

Ještě v roce 2009 se i v oblasti elektronického podpisu nejčastěji používala hašovací funkce SHA-1. Ta vytváří otisky (hash-e) o velikosti 160 bitů. Jinými slovy: z podepisovaného dokumentu, který mohl mít například několik megabytů, se hašováním nejprve vytvoří otisk (hash) o velikosti 160 bitů (a teprve ten se pak podepisuje).

Od počátku roku 2010 je doporučeno používat propracovanější hašovací funkce z rodiny SHA-2, které již pracují s většími otisky: velikosti 224, 256, 384, nebo 512 bitů.

Na druhou stranu jako uživatelé chceme mít možnost podepisovat libovolně velké dokumenty. Takže hašování, coby převodu z „libovolně velkého“ na „pevně danou velikost“ (či spíše „pevně danou malost“), se tak jako tak nevyhneme.

Naštěstí je ale vše zařízeno tak, abychom se jako uživatelé při podepisování nemuseli o nic starat a mohli podepisovat skutečně libovolně velké dokumenty. Potřebné hašování je totiž zabudováno do procesu vzniku elektronického podpisu.

To ale znamená, že si opět musíme poněkud poupravit naši představu toho, jak elektronický podpis vlastně vzniká: nejprve je z podepisovaného dokumentu vytvořen jeho otisk (hash), a teprve ten je pak podepsán. Představu opět ukazuje obrázek.

Pro obrázek ve větší kvalitě klikněte na odkaz pod číslem obrázku v legendě

Představa hašování při vytváření elektronického podpisu

Obrázek 2 - 9: Představa hašování při vytváření elektronického podpisu



© Jiří Peterka, 2011, profil na Google+
Valid HTML 4.01 Transitional Ověřit CSS!
3A2E
5665
6E6F
7661
6E69
2E3A
0D0A
5475
746F
206B
6E69
6875
2076
656E
756A
6920
7376
6520
7A65
6E65
2049
7265
6E65
2C20
7379
6E6F
7669
204A
6972
696D
7520
6120
6463
6572
6920
4576
652E
0D0A
5620
5072
617A
652C
204C
5032
3031
3020
4A69
7269
2050
6574
6572
6B61