Co je kryptografie a proč je klíčová v digitálním světě
Kryptografie je věda o návrhu a analýze metod, které chrání důvěrnost, integritu a autenticitu informací. V praxi zajišťuje šifrovanou komunikaci, bezpečné přihlašování, elektronické podpisy, anonymitu i odolnost proti manipulaci. Moderní kryptografie stojí na pevných matematických základech (teorie čísel, kombinatorika, algebra) a realizuje se pomocí protokolů a knihoven nasazených v operačních systémech, prohlížečích, serverech i vestavěných zařízeních.
Historie v kostce: od Caesarovy šifry k postkvantovým schématům
- Klasická éra: substituční a transpoziční šifry (Caesar, Vigenère). Bez formální bezpečnostní definice, prolomitelné frekvenční analýzou.
- Kryptoanalýza 20. století: Enigma, Turingovy stroje, Shannonova teorie („perfektní tajemství“ u Vernamovy jednorázové podložky).
- Moderní éra: veřejné klíče (Diffie–Hellman, RSA), symetrické blokové šifry (DES, AES), hashovací funkce (MD5, SHA-2, SHA-3).
- Dnes: křivkové kryptosystémy (ECC), autentizované šifrování (AEAD), protokoly 0-knowledge a kandidáti postkvantové kryptografie.
Bezpečnostní cíle a hrozby
- Důvěrnost: útočník nesmí zjistit obsah. Typická obrana: šifrování se správným režimem a správně generovanými nelineárními vektory.
- Integrita: data nesmí být nepozorovaně změněna. Obrana: MAC, digitální podpisy, AEAD.
- Autenticita: příjemce si ověří původ dat. Obrana: podpisy, certifikáty, klíčové otisky.
- Neodmítnutelnost: odesílatel nemůže popřít svou akci (eIDAS kvalifikované podpisy).
- Dostupnost: kryptografie nesmí bránit dostupnosti (odolnost proti DoS, škálování).
Stavební kameny: primitiva moderní kryptografie
- Symetrické šifrování: sdílený klíč K. Blokové šifry (AES) a proudové šifry (ChaCha20). Režimy: CBC (historický), CTR (stream), GCM (AEAD), XTS (disky).
- Hashovací funkce: jednosměrné, odolné vůči kolizím a preimage (SHA-256, SHA-3/Keccak). Použití: otisky, hesla (s salt a work factor), protokoly.
- MAC: ověřování integrity se sdíleným klíčem (HMAC, Poly1305). Součást AEAD (AES-GCM, ChaCha20-Poly1305).
- Asymetrická kryptografie: dvojice klíčů (privátní, veřejný). RSA, DSA/ECDSA, EdDSA (Ed25519), výměna klíčů DH/ECDH.
- PRNG/DRBG: kryptograficky silná náhodnost (osrand, /dev/urandom, systémové DRBG). Slabá entropie je častý kořen kompromitací.
Teorie čísel a algebra v pozadí
Bezpečnost mnoha schémat (RSA, DH, ECC) vychází z obtížnosti problémů jako faktorizace velkých čísel, výpočet diskrétního logaritmu ve skupinách nad modulo prvočíslem či eliptickou křivkou. ECC nabízí kratší klíče při stejné úrovni bezpečnosti (např. 256bitová křivka ≈ 3072bit RSA), což je zásadní pro výkon a paměť v mobilních a IoT zařízeních.
Srovnání běžných voleb algoritmů
| Účel | Doporučené algoritmy | Poznámka |
|---|---|---|
| Šifrování dat | AES-GCM, ChaCha20-Poly1305 | AEAD (integrita + důvěrnost), ChaCha pro zařízení bez AES-NI |
| Digitální podpis | Ed25519, ECDSA P-256, RSA-PSS (≥2048) | Ed25519 preferována pro výkon a jednoduchost |
| Výměna klíčů | X25519, ECDH P-256 | Perfektní dopředná bezpečnost při použití ephemerálních klíčů (ECDHE) |
| Hashování | SHA-256/512, SHA-3 | Pro hesla PBKDF2, scrypt, Argon2id (paměťově náročné) |
| Postkvantové (KEM/podpisy) | Kyber (ML-KEM), Dilithium (ML-DSA) | Hybridní režimy s ECC/RSA po dobu přechodu |
Protokoly: jak se primitiva skládají do řešení
- TLS 1.3: minimalizuje počet kol, vyžaduje AEAD, ephemerální výměnu klíčů (ECDHE), dopřednou bezpečnost a volitelný 0-RTT s ochranami proti opakování.
- IPsec/WireGuard: šifrování na síťové vrstvě; WireGuard používá moderní sadu (X25519, ChaCha20-Poly1305, BLAKE2s).
- SSH: vzdálený přístup, veřejné klíče (Ed25519) a tunely.
- PGP/OpenPGP: e-mailové šifrování a podpisy, web of trust vs. PKI.
- Signal Double Ratchet: dopředná a postkompromisní bezpečnost díky průběžné rotaci klíčů, X3DH pro inicializaci.
Správa klíčů: kde bezpečnost vítězí nebo padá
- Generování: silná entropie a validace křivek/parametrů.
- Ukládání: HSM, TPM, enclavy, oddělení rolí, rotace a escrow pouze tam, kde je nutný obnovení přístupu.
- Distribuce: PKI, certifikáty X.509, OCSP/CRL, pinning (HPKP je historický; preferujte certificate transparency a expect-CT mechanismy pro audit).
- Životní cyklus: expirace, obnova, odvolání, audit logy a klíčové politiky.
PKI a důvěra: kdo komu věří a proč
Public Key Infrastructure propojuje identity (domény, organizace, osoby) s veřejnými klíči prostřednictvím certifikačních autorit (CA). Prohlížeče udržují trust store kořenových CA, které vydávají certifikáty s rozšířeními (SAN, Key Usage). Důležitá je transparentnost (Certificate Transparency logy), řízení privátních PKI a správná konfigurace TLS (moderní šifrovací sady, HSTS, správné OCSP stapling).
Kryptografie v praxi webu a aplikačních platforem
- HTTPS všude: automatizace přes ACME (např. Let’s Encrypt), krátké platnosti certifikátů, bezpečné TLS parametry.
- Ochrana hesel: hashování s salt a paměťově náročnými funkcemi (Argon2id), zákaz ukládání v plaintextu.
- Tokeny a podpisy: JWT podepisovat robustně (ES256/EdDSA), omezit dobu platnosti a rozsah (scopes), rotovat klíče (JWKS).
- Šifrování dat v klidu: diskové XTS-AES, aplikační AEAD, správa klíčů mimo aplikační server.
Postkvantová kryptografie: hrozba Shorova algoritmu a migrace
Univerzální kvantový počítač by ohrozil RSA a ECC (Shor), zatímco symetrické a hashovací primitiva vyžadují delší klíče (Grover). Postkvantové kandidáty nahrazují či doplňují KEM a podpisová schémata (např. mřížkové: ML-KEM/Kyber, ML-DSA/Dilithium). Doporučená je hybridní migrace (např. ECDH+Kyber, Ed25519+Dilithium), inventura kryptografie, testování kompatibility, měření latence a velikosti klíčových materiálů.
Zero-Knowledge a pokročilé techniky
- Zero-Knowledge Proofs: důkaz znalosti bez prozrazení tajemství (zk-SNARK/zk-STARK), použití v anonymních protokolech a škálování blockchainu.
- MPC (Multi-Party Computation): výpočty nad tajnými daty více stran bez jejich odhalení.
- FHE (Fully Homomorphic Encryption): výpočty nad šifrovanými daty; zatím nákladné, ale rychle se zlepšuje.
Implementační bezpečnost: útoky na realizaci, ne na matematiku
- Boční kanály: časování, spotřeba, elektromagnetické vyzařování. Obrany: konstantní čas, maskování, vyrovnávání.
- Chyby v protokolu: špatné nonce/IV (znovupoužití v GCM je fatální), slabé náhodné generátory, padding oracle.
- Knihovny: preferujte prověřené (OpenSSL/BoringSSL, libsodium), aktivně patchujte, používejte bezpečné defaulty.
- Konfigurace: vypínání zastaralých sad (RC4, 3DES), minimální verze TLS (1.2/1.3), HSTS, správná správa certifikátů.
Hesla a autentizace: od lidských chyb k bezheslové budoucnosti
- Správci hesel a generované silné fráze; nikdy nerecyklovat.
- Vícefaktor: TOTP/HOTP, U2F/FIDO2 (hardware tokeny), push-based MFA s ochranou proti prompt bombing.
- Passkeys: kryptografie veřejného klíče pro koncové uživatele, vyšší odolnost proti phishingu.
Regulace, standardy a doporučení
- Standardizační orgány: NIST (FIPS, SP 800-řada), ISO/IEC 19790, IETF RFC (TLS, JOSE), ENISA doporučení v EU.
- Právní rámce: GDPR (kryptografie jako prostředek privacy by design), eIDAS (kvalifikované podpisy a pečetě), směrnice NIS2 (řízení rizik a kryptopolitiky).
- Klasifikace dat: citlivost, retenční doby, šifrování v klidu i přenosu, klíčové politiky a audit.
Kryptografie a blockchain: co je realita a co marketing
Distribuované účetní knihy využívají kryptografii pro integritu (hashové řetězení bloků), konsensus a digitální podpisy transakcí. Kryptografie zde neřeší všechno: např. cenová orákula, klíče uživatelů a governance jsou mimo čistě matematický model. Soukromá řešení využívají ZK-proofs a závazkové schémata pro škálování a soukromí.
Výkonnost a optimalizace: kdy volit jaké primitivum
- Mobilní a IoT: preferujte X25519/Ed25519 a ChaCha20-Poly1305 (bez hardwarové akcelerace AES).
- Servery s AES-NI: AES-GCM je velmi rychlé; dbejte na správnou tvorbu nonce.
- Velkoobjemová data: streamové režimy (CTR) s odděleným MAC nebo AEAD, paralelizace a hardware akcelerace.
Check-list pro bezpečné nasazení kryptografie
- Inventarizujte, kde a jaké algoritmy a klíče používáte (mapa datových toků, verze knihoven).
- Zaveďte zásadu „bezpečné výchozí“: TLS 1.3, AEAD, zakázání zastaralých sad, HSTS, správné CAA záznamy.
- Řiďte klíče: generování v HSM/TPM, rotace, zálohy, odvolání, přístup na principu nejmenších práv.
- Monitorujte a patchujte: CVE, testy konfigurací (automatizované skenery), pravidelný pen-test a kryptografický audit.
- Plánujte PQC migraci: hybridní režimy, pilot, výkonové testy, sledování standardů.
- Školte vývojáře: správné použití AEAD, práce s IV/nonce, zamezení side-channelů a bezpečná správa tajemství.
Typické chyby a jak se jim vyhnout
- Vlastní kryptografie místo prověřené knihovny („roll your own crypto“).
- Pevné nebo znovupoužité nonce/IV (smrtící pro GCM/CTR).
- Ukládání klíčů v kódu nebo repozitáři; chybějící rotace.
- Slabé hashování hesel (rychlé funkce, bez salt a work factor).
- Nevalidované certifikáty (ignorování chyb, vypnuté ověřování hostname).
Závěr: kryptografie jako důvěryhodná infrastruktura
Kryptografie není samoúčelná matematika, ale základní infrastruktura důvěry. Správně zvolené algoritmy, pečlivá implementace, kvalitní správa klíčů a průběžný audit vytvářejí vrstvu, na níž může bezpečně fungovat moderní IT, web, data i telekomunikační sítě. S nástupem postkvantových metod a pokročilých důkazů zůstává princip stejný: stavět na otevřených standardech, prokazatelné bezpečnosti a rozumném inženýrství.