Symetrické šifrování: definice, typy (blokové/proudové) a příklady (AES, DES)
Symetrické šifrování: přehled, rozdíl blokových a proudových šifer, praktické příklady AES a DES. Naučte se principy, výhody a slabiny.
Algoritmy se symetrickým klíčem jsou základní metodou v kryptografii. Princip je jednoduchý: pro šifrování i dešifrování se používá stejný, společný klíč – tzv. sdílené tajemství. Tento klíč může být vygenerován náhodně, odvozen z hesla nebo dohodnut pomocí protokolu pro výměnu klíčů, například Diffie-Hellman. Symetrické šifry jsou díky své efektivitě a nízké výpočetní náročnosti vhodné pro šifrování velkých objemů dat.
Proč se používají symetrické algoritmy
Algoritmy se symetrickým klíčem jsou ve většině aplikací preferovány kvůli rychlosti. Na rozdíl od kryptografie s veřejným klíčem, kde existuje pár klíčů (veřejný/privátní) a operace jsou výpočetně náročné, symetrické šifry zvládnou velké proudy dat rychle a efektivně. V praxi se často kombinuje obojí: asymetrická kryptografie se používá k bezpečnému přenosu symetrického klíče a poté se pro vlastní šifrování dat nasadí symetrický algoritmus.
Typy symetrických šifer
Obecně rozlišujeme dvě hlavní třídy:
- Proudové šifry – šifrují data po bitech nebo bajtech v podobě "proudu". Výstup je zpravidla generován z klíče a volacího vektoru (IV) a XORován s otevřeným textem. Proudové šifry jsou vhodné pro situace, kde je potřeba nízká latence nebo kde se data přicházejí postupně. Příkladem historicky široce používané proudové šifry je RC4, která je dnes kvůli zranitelnostem nedoporučována.
- Blokové šifry – pracují se vstupními daty po pevně daných blocích (např. 64 nebo 128 bitů). Každý blok je zašifrován pomocí stejného klíče, přičemž skutečné chování závisí na režimu provozu (viz níže). Dříve se běžně používaly 64bitové bloky; moderní šifry, jako je Advanced Encryption Standard, používají 128bitové bloky.
Režimy provozu blokových šifer
Samotná bloková šifra (např. AES) šifruje bloky, ale způsob, jakým se bloky v rámci delší zprávy propojují, určuje režim provozu. Mezi nejběžnější patří:
- ECB (Electronic Codebook) – jednoduchý, ale nebezpečný pro opakující se vzory (nedoporučuje se pro šifrování více bloků dat).
- CBC (Cipher Block Chaining) – každý blok je XORován s předchozím šifrovaným blokem; vyžaduje náhodný IV pro první blok.
- CTR (Counter) – převádí blokovou šifru na proudovou pomocí čítače; umožňuje paralelní šifrování a dešifrování.
- GCM (Galois/Counter Mode) – kombinuje šifrování v režimu CTR a autentizaci pomocí Galois pola; poskytuje autentizované šifrování (AEAD).
Volba vhodného režimu zásadně ovlivňuje bezpečnost i vlastnosti jako paralelizovatelnost nebo odolnost proti manipulaci.
Příklady šifer a doporučení
Mezi známé a často diskutované symetrické šifry patří:
- AES (Rijndael) – současný standard pro blokové šifrování, dostupný v klíčových délkách 128, 192 a 256 bitů; díky podpoře v hardware (AES-NI) je velmi rychlý a bezpečný, pokud je použit správně (správný režim, IV, správa klíčů).
- TDES (Triple DES) – rozšíření původního DES pro zvýšení bezpečnosti; dnes se kvůli nižší efektivitě a menšímu bezpečnostnímu marginu často nahrazuje AES.
- DES – historicky důležitý, ale se 56bitovým klíčem dnes považován za nedostatečně bezpečný.
- Twofish, Serpent, Blowfish, CAST5, IDEA – další blokové šifry s různou historií a vlastnostmi; některé jsou stále v použití, jiné nahrazeny modernějšími standardy.
- RC4 – starší proudová šifra; kvůli odhaleným slabinám by se neměla používat v nových systémech.
Obecné doporučení: používat ověřené šifry jako AES v bezpečných režimech (např. AES-GCM nebo AES-CTR + HMAC) a pravidelně aktualizovat konfigurace podle současných doporučení bezpečnostních organizací.
Bezpečnostní slabiny a útoky
Symetrické šifry podléhají různým typům kryptoanalytických útoků. V historii byly některé metody kryptoanalýzy založeny na zneužití symetrií v konstrukci šifer, což vedlo k úspěšnějším útokům. Mezi běžné typy útoků patří:
- útoky na známý otevřený text – útočník zná část otevřeného textu a snahou odvodit klíč nebo další části zprávy.
- útoky na vybraný otevřený text – útočník může šifrovat libovolné zvolené zprávy a pozorovat výstupy, což může vést k nalezení klíče.
- diferenciální kryptoanalýza a lineární kryptoanalýza – matematické techniky zkoumající vztahy mezi vstupy a výstupy šifry a hledající statistické odchylky, které mohou prozradit části klíče.
Dále existují útoky využívající slabé generátory náhodných čísel, znovupoužití IV, chyby při implementaci nebo side‑channel útoky (např. časování, spotřeba energie). Proto nestačí jen vhodný algoritmus — důležitá je i správná implementace a správa klíčů.
Správa klíčů a provozní zásady
Bezpečnost symetrického šifrování často závisí spíše na tom, jak jsou klíče spravovány, než na samotném algoritmu. Základní zásady:
- Bezpečná generace klíčů z kvalitního zdroje náhodnosti.
- Výměna klíčů přes bezpečný kanál (asymetrické šifrování, Diffie-Hellman apod.).
- Pravidelná rotace klíčů a minimalizace doby jejich platnosti.
- Odvozování klíčů z hesel pomocí bezpečných KDF (např. PBKDF2, scrypt, Argon2) místo přímého použití slabých hesel.
- Správné používání IV/nonce (unikátní nebo náhodné dle režimu) a ochrana před opakovaným použitím.
Použití v reálných systémech
Symetrické šifry se používají téměř všude tam, kde je potřeba rychle a efektivně chránit data:
- Šifrování komunikace (VPN, TLS při použití symetrických relací po handshake).
- Šifrování disků a souborů (Full disk encryption, souborové kontejnery).
- Ověřování a integrita kombinovaná s šifrováním (HMAC, AEAD režimy jako GCM).
- Embedded a IoT zařízení, kde je výkon kritický.
Závěr
Symetrické šifrování je rychlé a efektivní řešení pro ochranu dat, ale jeho bezpečnost závisí na správné volbě algoritmu, režimu provozu, implementaci a hlavně správě klíčů. Mezi moderní a doporučované volby patří AES s vhodným režimem (např. GCM) a bezpečné postupy při generování a výměně klíčů. Naopak starší konstrukce jako DES nebo RC4 by se měly vyhnout.

V algoritmu se symetrickým klíčem je klíč použitý k šifrování stejný jako klíč použitý k dešifrování. Z tohoto důvodu musí být utajen.
Symetrické vs. asymetrické algoritmy
Na rozdíl od symetrických algoritmů používají algoritmy sasymetrickým klíčem jiný klíč pro šifrování než pro dešifrování. To znamená, že uživatel, který zná šifrovací klíč asymetrického algoritmu, může šifrovat zprávy, ale nemůže vypočítat dešifrovací klíč a nemůže dešifrovat zprávy zašifrované tímto klíčem. Níže je uvedeno krátké srovnání těchto dvou typů algoritmů:
Rychlost
Algoritmy se symetrickým klíčem jsou obecně mnohem méně výpočetně náročné než algoritmy s asymetrickým klíčem. V praxi jsou algoritmy s asymetrickým klíčem obvykle stokrát až tisíckrát pomalejší než algoritmy se symetrickým klíčem.
Řízení klíčů
Jednou z nevýhod algoritmů se symetrickým klíčem je požadavek na sdílený tajný klíč, jehož stejnou kopii mají obě strany na obou stranách. K zajištění bezpečné komunikace mezi všemi ve skupině n osob je zapotřebí celkem n(n - 1)/2 klíčů, což je celkový počet možných komunikačních kanálů. Aby se omezil dopad případného odhalení kryptografickým útočníkem, měly by se pravidelně měnit a udržovat v bezpečí během distribuce a v provozu. Proces výběru, distribuce a uchovávání klíčů se nazývá správa klíčů a je obtížné jej spolehlivě a bezpečně realizovat.
Hybridní kryptosystém
V moderních kryptosystémech se používají jak asymetrické (s veřejným klíčem), tak symetrické algoritmy, aby se využilo toho nejlepšího z obou. Asymetrické algoritmy se používají k distribuci symetrických klíčů na začátku relace. Jakmile je symetrický klíč znám všem účastníkům relace, lze k šifrování zbytku relace použít rychlejší algoritmy se symetrickým klíčem využívající tento klíč. To zjednodušuje problém distribuce klíčů, protože asymetrické klíče musí být distribuovány pouze autenticky, zatímco symetrické klíče musí být distribuovány jak autenticky, tak důvěrně.
Mezi systémy, které používají tento hybridní přístup, patří SSL, PGP a GPG atd.
Související stránky
- Asymetrické klíčové algoritmy
Otázky a odpovědi
Otázka: Co jsou to algoritmy se symetrickým klíčem?
Odpověď: Algoritmy se symetrickým klíčem je metoda v kryptografii, kde klíče pro dešifrování a šifrování jsou naprosto stejným sdíleným tajemstvím.
Otázka: Jak lze generovat tajemství?
Odpověď: Tajemství lze vygenerovat náhodně nebo z hesla nebo pomocí postupu výměny tajných klíčů, jako je Diffie-Hellman.
Otázka: Proč jsou algoritmy se symetrickým klíčem důležité?
Odpověď: Algoritmy se symetrickým klíčem jsou velmi důležité, protože jsou na počítačích rychlejší než algoritmy s veřejným klíčem.
Otázka: Co je kryptografie s veřejným klíčem (kryptografie s asymetrickým klíčem)?
Odpověď: V kryptografii s veřejným klíčem (kryptografii s asymetrickým klíčem) lze klíč pro šifrování bez problémů předat veřejnosti a každý vám může posílat tajné zprávy. Klíč pro šifrování je "otevřený", protože v praxi jej nelze použít k získání klíče pro dešifrování.
Otázka: Jaké jsou dva druhy symetrických šifer?
Odpověď: Mezi dva druhy symetrických šifer patří proudové šifry a blokové šifry. Proudové šifry šifrují zprávu jako proud bitů po jednom, zatímco blokové šifry berou bloky bitů, šifrují je jako jeden celek a někdy později použijí i odpověď.
Otázka: Jakou velikost bloků používají moderní šifry?
Odpověď: Moderní šifry, jako je Advanced Encryption Standard, používají 128bitové bloky.
Otázka: Jaké typy útoků byly v historii použity ke zneužití symetrie?
Odpověď: V historii některé metody kryptoanalýzy využívaly symetrii, takže symetrické systémy byly méně bezpečné. Mezi útoky, které byly použity, patří útoky na známý otevřený text, útoky na vybraný otevřený text, diferenciální kryptoanalýza a lineární kryptoanalýza.
Vyhledávání