Hashovacie funkcie
Primárnou úlohou hashovacích funkcií (HF) je transformácia ľubovoľne dlhého reťazca znakov na reťazec konštantnej dĺžky. Základnými požiadavkami, ktoré by mali spĺňať tieto funkcie sú:
- k danému výstupu HF by malo byť nemožné zostrojiť pôvodný dokument. To znamená, aby neexistovala inverzná funkcia k hashovacej funkcií,
- prakticky by nemali existovať dva dokumenty, ktoré majú rovnakú hashovaciu hodnotu,
- zmenou jedného bitu v dokumente, sa hodnota hashovacej funkcie musí zmeniť viac
ako v jednom bite výsledného hashu oproti pôvodnému dokumentu.
Medzi najčastejšie používanú hashovaciu funkciu patrí SHA (Standard Hash Algoritmus). Jej vstupom je reťazec dĺžky maximálne 2^64 bitov a výstupom 160 bitový reťazec. Kryptovaním hodnoty výsledku hashovacej funkcie s privátnym kľúčom vzniká reťazec, ktorý sa nazýva elektronický podpis.
Na podpisovanie dokumentu použije teda autor svoj privátny kľúč (PK), ktorý by mal mať uložený na bezpečnom mieste. Obvykle je to čipová karta, chránená PIN kódom, príp. iné prenosné médium. Keďže digitálny podpis jednoznačne určuje jeho pôvodcu, zaručuje tým nepopierateľnosť toho, že osoba podpísala danú správu.
Integrita dokumentu podpísaného digitálnym podpisom je zaručená tým, že elektronický podpis je funkciou PK a „hashovacej“ funkcie obsahu dokumentu. Vďaka tejto vlastnosti je príjemca schopný pomocou verejného kľúča slúžiaceho na overenie platnosti podpisu (PK) a výsledku hashovacej funkcie prijatého dokumentu zistiť prípadné modifikácie prijatej správy.