Kryptosystémy - základní přehled
Kryptosystém je ucelený soubor algoritmů a pravidel, které zajišťují bezpečnou komunikaci.
Neřeší jen samotné šifrování, ale i to, jak se generují a vyměňují klíče, jak se ověřuje identita a jak se kontroluje, že data nikdo cestou neupravil.
Typickým příkladem, kde se zapojuje všechno najednou, je komunikace klient-server (např. ty a tvé internetové bankovnictví).
Hashovací funkce a Digitální otisk (Fingerprint)
Hashování není šifrování, protože nejde vrátit zpět. Je to matematický "mlýnek na maso". Hodíš do něj jakákoliv data (slovo, celou knihu, 4GB film) a on ti vyplivne digitální otisk (hash).
Základní vlastnosti hashe:
- Jednosměrnost: Z hashe nikdy nedostaneš zpět původní data.
- Fixní délka: Ať tam vložíš cokoliv, výsledek (hash) je vždy stejně dlouhý řetězec znaků.
- Lavinový efekt: Sebemenší změna na vstupu (změníš jediné písmenko v knize) způsobí, že výsledný hash bude úplně, ale úplně jiný.
K čemu se hash používá:
- Checksum (Kontrola integrity): Stáhneš si velký soubor a k němu dostaneš od autora jeho hash. Ty si soubor u sebe proženeš hashovací funkcí a výsledky porovnáš. Sedí? Soubor se stáhl v pořádku a nikdo ho cestou nezaviroval. Nesedí? Soubor je poškozený nebo pozměněný.
- Ukládání hesel: Databáze nesmí ukládat hesla v čistém textu. Uloží se jen jejich hash. Když se přihlašuješ, systém zahashuje to, co jsi napsal, a porovná to s hashem v databázi.
Digitální podpis
Digitální podpis slouží k tomu, abys prokázal, že jsi dokument opravdu poslal ty (autenticita) a že ho nikdo cestou nezměnil (integrita). Využívá se k tomu kombinace hashe a asymetrické kryptografie.
Jak to funguje krok za krokem:
- Napíšeš dokument (smlouvu).
- Pomocí hashovací funkce z něj vytvoříš otisk (hash).
- Tento hash zašifruješ svým PRIVÁTNÍM klíčem. A přesně tohle zašifrované smítko dat je tvůj digitální podpis!
- Pošleš dokument i s podpisem.