Symetrická klíčová kryptografie (nebo symetrické šifrování) je typ šifrovacího schématu, ve kterém se stejný klíč používá k šifrování i dešifrování zpráv. Takový způsob kódování informací se v posledních desetiletích do značné míry používal k usnadnění tajné komunikace mezi vládami a armádami. V současné době jsou algoritmy symetrického klíče široce používány v různých typech počítačových systémů pro zvýšení bezpečnosti dat.


Jak funguje symetrické šifrování?

Schémata symetrického šifrování se spoléhají na jeden klíč, který sdílí dva nebo více uživatelů. Stejný klíč se používá k šifrování a dešifrování takzvaného prostého textu (který představuje zprávu nebo část dat, která je kódována). Proces šifrování spočívá ve spuštění prostého textu (vstupu) pomocí šifrovacího algoritmu zvaného šifra, který zase generuje šifrovaný text (výstup).

Pokud je šifrovací schéma dostatečně silné, jediný způsob, jak může osoba číst informace obsažené v šifrovaném textu nebo k nim přistupovat, je použití odpovídajícího klíče k jeho dešifrování. Proces dešifrování je v podstatě převedením šifrovaného textu zpět na prostý text.

Bezpečnost symetrických šifrovacích systémů je založena na tom, jak obtížné je náhodně uhodnout odpovídající klíč k jejich hrubému vynucení. Například 128bitový klíč by pomocí běžného počítačového hardwaru uhádl miliardy let. Čím delší je šifrovací klíč, tím těžší je jej prolomit. Klíče, které mají délku 256 bitů, jsou obecně považovány za vysoce bezpečné a teoreticky odolné vůči útokům brutální silou kvantových počítačů. 

Dvě z nejběžnějších dnes používaných symetrických šifrovacích schémat jsou založena na blokových a proudových šifrách. Blokové šifry seskupují data do bloků předem určené velikosti a každý blok je zašifrován pomocí odpovídajícího klíče a šifrovacího algoritmu (např. 128bitový prostý text je zašifrován do 128bitového šifrovaného textu). Na druhou stranu proudové šifry nešifrují data ve formátu prostého textu po blocích, ale po 1bitových přírůstcích (1bitový prostý text je zašifrován do 1bitového šifrovaného textu najednou).


Symetrické vs. asymetrické šifrování

Symetrické šifrování je jednou ze dvou hlavních metod šifrování dat v moderních počítačových systémech. Druhým je asymetrické šifrování, které je hlavní aplikací kryptografie s veřejným klíčem. Hlavním rozdílem mezi těmito metodami je skutečnost, že asymetrické systémy používají dva klíče spíše než ten, který používají symetrická schémata. Jeden z klíčů může být veřejně sdílen (veřejný klíč), zatímco druhý musí být uchováván v soukromí (soukromý klíč).

Použití dvou klíčů místo jednoho také vytváří řadu funkčních rozdílů mezi symetrickým a asymetrickým šifrováním. Asymetrické algoritmy jsou složitější a pomalejší než symetrické. Protože veřejné a soukromé klíče používané v asymetrickém šifrování jsou do určité míry matematicky příbuzné, musí být samotné klíče také podstatně delší, aby poskytovaly podobnou úroveň zabezpečení, kterou nabízejí kratší symetrické klíče.


Použití v moderních počítačových systémech

Symetrické šifrovací algoritmy se používají v mnoha moderních počítačových systémech ke zvýšení bezpečnosti dat a soukromí uživatelů. Jedním z prominentních příkladů symetrické šifry je Advanced Encryption Standard (AES), který je široce používán jak v aplikacích pro bezpečné zasílání zpráv, tak v cloudových úložištích.

Kromě softwarových implementací lze AES implementovat také přímo do hardwaru počítače. Hardwarová symetrická šifrovací schémata obvykle využívají AES 256, což je specifická varianta Advanced Encryption Standard, která má velikost klíče 256 bitů.

Stojí za zmínku, že bitcoinový blockchain nevyužívá šifrování, jak se mnozí domnívají. Místo toho používá specifický druh algoritmu digitálních podpisů (DSA) známý jako Elliptic Curve Digital Signature Algorithm (ECDSA), který generuje digitální podpisy bez použití šifrování.

Společným bodem zmatku je, že ECDSA je založeno na kryptografii eliptických křivek (ECC), kterou lze zase použít pro různé úkoly, včetně šifrování, digitálních podpisů a pseudonáhodných generátorů. Samotné ECDSA však nelze pro šifrování vůbec použít.

 

Výhody a nevýhody

Symetrické algoritmy poskytují poměrně vysokou úroveň zabezpečení a zároveň umožňují rychlé šifrování a dešifrování zpráv. Relativní jednoduchost symetrických systémů je také logistickou výhodou, protože vyžadují menší výpočetní výkon než ty asymetrické. Kromě toho lze zabezpečení poskytované symetrickým šifrováním zvýšit jednoduše zvýšením délky klíče. S každým jednotlivým bitem přidaným k délce symetrického klíče se exponenciálně zvyšuje obtížnost prolomení šifrování pomocí útoku hrubou silou.

Zatímco symetrické šifrování nabízí širokou škálu výhod, je s ním spojena jedna velká nevýhoda: neodmyslitelný problém přenosu klíčů používaných k šifrování a dešifrování dat. Když jsou tyto klíče sdíleny přes nezabezpečené připojení, jsou náchylné k zachycení třetími stranami se zlými úmysly. Pokud neoprávněný uživatel získá přístup k určitému symetrickému klíči, je ohrožena bezpečnost všech dat zašifrovaných pomocí tohoto klíče. K vyřešení tohoto problému používá mnoho webových protokolů kombinaci symetrického a asymetrického šifrování k vytvoření zabezpečeného připojení. Mezi nejvýznamnější příklady takového hybridního systému patří kryptografický protokol Transport Layer Security (TLS), který se používá k zabezpečení velkých částí moderního internetu.

Je třeba také poznamenat, že všechny typy počítačového šifrování jsou kvůli nesprávné implementaci zranitelné. Zatímco dostatečně dlouhý klíč může útok hrubou silou matematicky znemožnit, chyby v implementaci ze strany programátorů často vytvářejí slabiny, které otevírají cestu kybernetickým útokům.


Závěrečné myšlenky

Díky své relativní rychlosti, jednoduchosti a zabezpečení je symetrické šifrování široce používáno v aplikacích, od zabezpečení internetového provozu až po ochranu dat uložených na cloudových serverech. Ačkoli je často spárováno s asymetrickým šifrováním, aby se vyřešil problém bezpečného přenosu klíčů, schémata symetrického šifrování zůstávají kritickou součástí moderní počítačové bezpečnosti.