Stahuješ instalačku Linuxu, má 3 GB. Jak poznáš, že ti po cestě nikdo nepodstrčil upravenou verzi s virem? A jak web pozná tvoje heslo, když ho vůbec nemá uložené? Obojí řeší hashovací funkce.
Na ní stojí i digitální podpis, kterým se podepisují smlouvy, aktualizace programů a datové zprávy úřadů.
Hash je jako otisk prstu. Z člověka otisk snadno získáš. Z otisku ale člověka „nevyrobíš“. A dva různí lidé prakticky nemají stejný otisk.
| Vlastnost | Co znamená |
|---|---|
| pevná délka | výstup má vždy stejnou délku, ať jde o jedno písmeno nebo film |
| deterministická | stejná data → vždy stejný hash |
| jednosměrnost | z hashe nejde zpětně spočítat původní data |
| odolnost proti kolizím | prakticky nejde najít dvoje různá data se stejným hashem |
| lavinový efekt | změna jediného bitu vstupu změní výstup k nepoznání |
9f86d0…. Po stažení ti vyjde 3a7bd3…. Co to znamená a co uděláš?Zkus odpovědět dřív, než kartu otočíš.
Šifrování je vratné (s klíčem). Hashování vratné není – proto se hodí na hesla a otisky dat.
Ručně podepsanou smlouvu může někdo po podpisu přepsat a podpis se dá napodobit. Digitální podpis je mnohem silnější: prozradí každou změnu dokumentu a bez soukromého klíče ho nikdo nevytvoří. Projdeme, jak přesně funguje.
| Zaručuje | Nezaručuje |
|---|---|
| integritu – dokument se nezměnil | důvěrnost – dokument zůstává čitelný (na utajení je šifrování) |
| autenticitu – podepsal majitel soukromého klíče | že veřejný klíč opravdu patří tomu, za koho ho považuješ (to řeší certifikáty) |
| nepopiratelnost – autor podpis nezapře | že obsah dokumentu je pravdivý |
Roztřiď úkony podle toho, který klíč se k nim používá.
V EU upravuje elektronické podpisy nařízení eIDAS (č. 910/2014). Rozlišuje mimo jiné kvalifikovaný elektronický podpis, který má stejné právní účinky jako vlastnoruční podpis.
Podpis ověří každý veřejným klíčem a dokument k tomu musí mít čitelný.