Symetrická vs asymetrická kryptografie

Symetrická vs asymetrická kryptografie

Symetrické a asymetrické šifrovací algoritmy

Šifrovací algoritmy převádějí čitelná data (prostý text) na nečitelné (šifrový text) tak, aby je bylo možné bezpečně přenášet či ukládat. Dvě hlavní kategorie jsou symetrické algoritmy, které používají stejný klíč pro šifrování i dešifrování, a asymetrické algoritmy (s veřejným klíčem), které pracují s dvojicí klíčů: veřejným a soukromým. V praxi se často používají hybridní kryptosystémy, které kombinují výhody obou přístupů.

Základní bezpečnostní vlastnosti šifer

  • Důvěrnost (confidentiality): zabránění neautorizovanému čtení.
  • Integrita (integrity): detekce změn v datech.
  • Autentizace (authentication): ověření identity komunikujících stran.
  • Nezpochybnitelnost (non-repudiation): nemožnost popřít provedení operace, typicky u digitálních podpisů.

Symetrické šifrovací algoritmy: princip a charakteristiky

Symetrická kryptografie používá jeden sdílený tajný klíč. Odesílatel i příjemce musí disponovat identickou kopií klíče, který je nezbytné bezpečně distribuovat. Výhodou je vysoká rychlost a nízké nároky na výpočetní výkon; nevýhodou je správa klíčů a jejich bezpečné předávání.

Blokové šifry

Blokové šifry pracují nad pevně velkými bloky bitů (např. 128 bitů). Příklady:

  • AES (Rijndael): standard s délkami klíče 128/192/256 bitů; široké použití (TLS, VPN, diskové šifrování).
  • 3DES: historická šifra odvozena od DES, dnes již spíše nahrazena AES pro nižší bezpečnost a výkon.
  • Camellia, Serpent, Twofish: alternativy s různými bezpečnostními a výkonovými profily.

Proudové šifry

Proudové šifry generují pseudonáhodný klíčový proud, který se kombinuje s prostým textem (obvykle XOR). Vhodné pro scénáře s proměnlivou délkou dat a nízkou latencí. Příklady: ChaCha20 a dříve RC4 (RC4 se již nedoporučuje).

Režimy provozu blokových šifer

Protože blokové šifry zpracovávají data po blocích, definují se režimy, které určují, jak se šifrují bloky po sobě:

  • ECB: každý blok samostatně; nedoporučuje se kvůli zachování vzorů.
  • CBC: řetězení bloků s náhodným IV; zajišťuje důvěrnost, nikoliv integritu.
  • CTR: šifra v proudovém režimu s čítačem; paralelizovatelná, citlivá na opakování nonce.
  • GCM: AEAD režim (důvěrnost i integrita) kombinující CTR a autentizační tag (GHASH); preferovaný v mnoha protokolech.
  • CCM: AEAD pro prostředí s omezenými zdroji (např. embedded).

Autentizované šifrování (AEAD)

AEAD (Authenticated Encryption with Associated Data) poskytuje současně důvěrnost a integritu. Typické kombinace: AES-GCM a ChaCha20-Poly1305. AEAD chrání i tzv. přidružená data (např. hlavičky), která se nešifrují, ale ověřují.

Generování klíčů, IV a nonce v symetrické kryptografii

  • Klíče: generovat kryptograficky silným PRNG; neodvozovat z hesel bez KDF.
  • IV/nonce: musí být unikátní pro daný klíč a zprávu; kolize (opakování) u CTR/GCM je kritická.
  • KDF: z hesel používat PBKDF2, scrypt nebo Argon2 (preferováno) s dostatečnou pracností a solí.

Výhody a nevýhody symetrických algoritmů

  • Výhody: vysoká rychlost, nízká latence, vhodné pro velké objemy dat.
  • Nevýhody: obtížná distribuce a rotace klíčů, nevhodné pro digitální podpisy či výměnu klíčů přes nezabezpečený kanál.

Asymetrické šifrovací algoritmy: princip a vlastnosti

Asymetrická kryptografie používá veřejný klíč (publikovatelný) a soukromý klíč (geheim). Operace jsou matematicky spjaté tak, že to, co je zašifrováno veřejným klíčem, lze dešifrovat pouze soukromým a naopak (pro podpisy). Asymetrie umožňuje bezpečnou výměnu klíčů, digitální podpisy a PKI.

RSA

RSA je založena na obtížnosti faktorizace velkých čísel. Podporuje šifrování, podpisy a výměnu klíčů (v praxi spíše pro šifrování náhodného symetrického klíče). Bezpečnost stojí na správném vycpávání (padding): PSS pro podpisy a OAEP pro šifrování. Doporučené délky klíče jsou typicky ≥ 2048 bitů pro běžné použití.

Diffie–Hellman a ElGamal

Diffie–Hellman (DH) umožňuje výměnu sdíleného tajemství po nezabezpečeném kanálu. ElGamal je šifra a podpisový systém založený na problému diskrétního logaritmu ve skupinách konečných polí; v praxi méně používaný než moderní eliptické varianty.

Eliptická křivka (ECC)

ECC poskytuje stejnou bezpečnost s kratšími klíči a vyšším výkonem. Běžné algoritmy:

  • ECDH: výměna klíčů na eliptických křivkách.
  • ECDSA: digitální podpisy; běžné křivky P-256, P-384.
  • Ed25519/Ed448: moderní podpisy s výborným výkonem a bezpečnostními vlastnostmi; doporučované pro nové implementace.
  • X25519/X448: eliptická výměna klíčů (ECDH) nad křivkami Curve25519/448.

Postkvantová kryptografie (stručně)

S nástupem kvantových počítačů jsou klasické asymetrické systémy (RSA, ECC) ohroženy algoritmem Shor. Postkvantové (lattice-based, code-based apod.) algoritmy nahrazují asymetrickou část; symetrické šifry jako AES jsou vůči kvantovým útokům relativně odolnější (Groverův algoritmus zdvojnásobuje efektivní nároky na klíčovou délku). V praxi se očekává kryptoagilita a přechod na hybridní výměny klíčů kombinující klasické a postkvantové schéma.

Digitální podpisy a otisky

Digitální podpis potvrzuje původ a integritu. Postup: vytvoří se hash zprávy (např. SHA-256) a ten se podepíše soukromým klíčem (RSA-PSS, ECDSA, Ed25519). Příjemce ověřuje podpis veřejným klíčem. Správná volba hashovací funkce a parametrů je zásadní.

Infrastruktura veřejných klíčů (PKI) a certifikáty

PKI řeší distribuci a důvěru ve veřejné klíče prostřednictvím certifikátů podepsaných certifikační autoritou (CA). Certifikáty (X.509) propojují identitu (doména, organizace) s veřejným klíčem. Důležité je ověření řetězce důvěry, OCSP/CRL pro revokace a správná správa privátních klíčů a HSM.

Hybridní kryptosystémy

V reálných protokolech se kombinuje asymetrie pro výměnu/obalení symetrického klíče a symetrie pro rychlé šifrování dat. Příklad: v TLS klient a server dohodnou klíč (ECDHE/X25519), kterým následně šifrují přenos dat (AES-GCM nebo ChaCha20-Poly1305).

Praktické nasazení: protokoly a scénáře

  • TLS (HTTPS): handshake s ECDHE/X25519 (případně PQC), autentizace certifikátem serveru, data AES-GCM/ChaCha20-Poly1305.
  • SSH: výměna klíčů (Curve25519/X25519), ověřování serveru/uživatele, symetrické šifrování relace.
  • PGP/OpenPGP: asymetrické klíče pro sdílení sezení, podpisy e-mailů.
  • Diskové šifrování: AES-XTS pro bloková zařízení; klíče chráněny heslem/KDF nebo TPM.
  • VPN (IPsec/WireGuard): IPsec využívá IKE s (EC)DH, datové toky šifruje AES-GCM; WireGuard používá Noise-based protokol s ChaCha20-Poly1305.

Doporučení pro volbu algoritmů a délek klíčů

  • Symetrické: AES-128/256, ChaCha20-Poly1305. Pro dlouhodobé uložení citlivých dat preferovat 256bitové varianty.
  • Asymetrické: RSA ≥ 2048 bitů (lépe 3072+), ECDSA/Ed25519 (P-256/Ed25519) pro výkon a kratší klíče.
  • Hash: SHA-256/384; vyhýbat se SHA-1.
  • KDF: Argon2id (doporučeno), případně scrypt, PBKDF2 s vysokým počtem iterací.
  • AEAD: preferovat AES-GCM nebo ChaCha20-Poly1305.

Bezpečná implementace a časté chyby

  • Nepoužívat vlastní šifry: volit prověřené knihovny (např. knihovny s širokým auditem).
  • Správná práce s nonce/IV: nikdy nerecyklovat; zajistit generování kvalitní náhodnosti.
  • Side-channel útoky: preferovat konstantně-časové implementace; chránit před timing/cache útoky.
  • Padding a režimy: použít OAEP/PSS, AEAD režimy; vyhnout se ECB a zastaralým schématům.
  • Klíčový materiál: bezpečné ukládání (HSM/TPM), omezení přístupu, rotace a revokace.
  • Kryptoagilita: navrhovat systémy s možností snadno měnit algoritmy a parametry.

Srovnání symetrické vs. asymetrické kryptografie

Vlastnost Symetrická Asymetrická
Počet klíčů Jeden sdílený Dvojice (veřejný/soukromý)
Výkon Velmi vysoký Nižší
Distribuce klíčů Obtížnější Snazší (veřejný klíč)
Podpora podpisů Ne Ano
Typické použití Šifrování dat Výměna klíčů, podpisy, PKI

Testování, audit a provozní aspekty

  • Kryptografické politiky: sjednotit podporované sady šifer a minimální délky klíčů.
  • Audit konfigurace: pravidelně ověřovat podporované protokoly (např. TLS konfigurace serverů), vypínat zastaralé algoritmy.
  • Logování a monitoring: sledovat revokace certifikátů, expirace, anomálie v handshake.
  • Rotace a expirace: nastavit životní cyklus klíčů a certifikátů; mít plán pro incident response.

Závěr

Symetrické algoritmy vynikají výkonem a slouží k efektivní ochraně velkých objemů dat, zatímco asymetrické algoritmy umožňují bezpečné zavedení důvěry, výměnu klíčů a digitální podpisy. Moderní systémy proto využívají hybridní přístup, který kombinuje silné stránky obou světů. Klíčové je dodržovat aktuální doporučení, zvolit správné režimy (AEAD), bezpečně nakládat s klíči, zajistit kryptoagilitu a průběžně revidovat konfigurace i implementace.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *