Otisk - hash
Z každého elektronického dokumentu lze vypočítat řetězec znaků, který se nazývá otisk (anglicky hash). Otisk dokument jednoznačně identifikuje. Sebemenší změna v dokumentu způsobí, že nový otisk bude odlišný od původního.
Z otisku nelze zpátky vytvořit původní dokument.
Výpočet otisku je rychlý a výsledkem je řetězec znaků s pevnou délkou.
Příklad:
- Otisk z textového souboru (v kódování ASCII), jehož obsahem je jediné slovo - bonanza:
- 16e7897b133fb5ba3892e48b53758f6cd5aedaf7
- Pokud změníme úvodní písmeno b na B, otisk se změní takto:
- bb98ccafa8df179d596397b37f515d8b60dae0fc
Oba předcházející otisky jsou vytvořeny algoritmem SHA-1.
- Algoritmem SHA-256 získáme pro stejný soubor otisk:
- 6ad3ec3aac9a426dd4364bd41d9f726e1f0f3cf4332d0fb4e23bc788ec1dd99
Použití otisků
Jednoznačné spojení otisku s dokumentem našlo široké využití:
- důkaz integrity (nezměněnosti) dokumentu - dva dokumenty mají stejné otisky (za použití stejné metody výpočtu) jen pokud jsou identické
- v digitálních podpisech (el. podpis je otisk dokumentu šifrovaný soukromým klíčem)
- v časových razítkách (čas. razítko obsahuje otisk dokumentu, nikoliv samotný dokument)
- ověření bezchybnosti přenosu dat v síťové komunikaci
- ochranu citlivých dat před neoprávněným přístupem - třeba přístupových hesel, kdy se do databáze místo hesla v člověku čitelném tvaru uloží jeho otisk a při přihlášení se vypočte otisk získaného hesla a porovná s uloženým, tím je prokázána shoda obou hesel a současně je heslo utajeno i před správci aplikací
Co otisk není
Otisk neříká nic o původci nebo vlastníkovi dokumentu - k tomu slouží digitální podpis.
Otisk žádným způsobem nespojuje dokument s časem - to je úkolem časového razítka.
Limity otisku
Výpočet otisku se provádí podle konkrétního algoritmu (postupu). Na metodu výpočtu jsou kladeny jisté požadavky: výpočet musí být rychlý, počet znaků otisku nesmí být příliš dlouhý a výsledek přitom musí být dostatečně bezpečný, aby nebylo možné v rozumném čase otisk prolomit.
Z toho vyplývá, že s vývojem počítačů se musí vyvíjet i algoritmy výpočtu otisků. Dříve používané algoritmy (např. MD-5 a SHA-1) jsou dnes považovány za slabé a jsou nahrazovány novými (např. SHA-256).
Zvyšující se výkonnost počítačů způsobuje, že existující otisk se s rostoucím časem, který uplynul od jeho vytvoření, stává méně důvěryhodným.