|
Neoddeliteľnou súčasťou tvorby digitálneho
podpisu sú hashovacie funkcie, ktoré ľubovoľne
dlhý reťazec znakov transformujú na reťazec
pevnej dĺžky, nazývaný tiež odtlačok prsta -
fingerprint. Hashovacie funkcie pôvodne boli
vyvinuté na ukladanie a vyhľadávanie údajov
veľkých databánk a na základe dosiahnutých
výsledkov ich s obľubou využíva aj kryptografia.
Na hashovacie funkcie sú kladené nasledujúce
požiadavky:
-
Prakticky nie je možné k danému výstupu zostrojiť
dokument t.j. matematicky vyjadrené
neexistuje inverzná funkcia k hashovacej
funkcie.
-
Prakticky neexistujú dva dokumenty, ktoré majú
rovnakú hashovaciu hodnotu t.j. matematicky
vyjadrené funkcia je takmer.
-
Ak zmením jeden bit v dokumente, hashovacia
hodnota sa musí zmeniť viac ako v jednom
bite oproti pôvodnému dokumentu.
Týmto podmienkam vyhovuje najčastejšie používaná
hashovacia funkcia SHA (Standard Hash
Algoritmus). Jej vstupom je reťazec dĺžky
maximálne 2^64 bitov a výstupom 160 bitový
string (hash hodnota = message digest). Často sa
používa na výpočet hash hodnoty metóda MD4 a jej
modifikácia MD5, ako 32 bitový CRC algoritmus
doporučený s CCITT. Kryptovaním hodnoty
fingerprintu s privátnym kľúčom vzniká reťazec,
ktorý sa nazýva
elektronický
podpis. V porovnaní s ručným
podpisom, ktorý nám zaručuje len autentitu
podpísanej osoby, elektronický podpis nás
ubezpečí aj o integrite, neporušenosti
dokumentu. Viac sa o tom môžete dočítať v časti
"Bezpečná komunikácia".
|