Co je symetrické šifrování?

Existuje mnoho různých částí kryptografie. Pokud však chcete zašifrovat některá data, můžete použít dva typy algoritmů: symetrické šifrovací algoritmy a asymetrické šifrovací algoritmy. Celkový koncept je stejný, umí šifrovat data, ale fungují na jiných principech a mají různé případy použití. Titulární rozdíl však popisuje šifrovací klíče. Symetrický šifrovací algoritmus používá jeden sdílený klíč k šifrování i dešifrování dat. Asymetrický šifrovací algoritmus používá dva propojené klíče, jeden k dešifrování a druhý k dešifrování.

Vlastnosti symetrických šifrovacích algoritmů

Jak je uvedeno výše, klíčovou rozlišovací vlastností symetrického šifrovacího algoritmu je skutečnost, že k šifrování i dešifrování dat používáte jeden klíč. To neznamená, že existuje pouze jeden možný šifrovací klíč, ale pokud něco zašifrujete jedním klíčem, musíte k dešifrování použít stejný klíč. Někdy se nazývá šifrování se sdíleným klíčem. Je to proto, že každý účastník potřebuje znát stejný klíč, a proto jej musíte sdílet.

Tato vlastnost použití stejného klíče k šifrování a dešifrování může být trochu problém. Abyste mohli používat symetrický šifrovací algoritmus, musíte být schopni jej bezpečně komunikovat. Ale nemůžete to udělat, aniž byste již měli bezpečný způsob komunikace. Naštěstí lze tento problém vyřešit asymetrickým šifrováním, ale stojí za to mu porozumět.

Klíče pro symetrické šifrovací algoritmy bývají poměrně malé, alespoň ve srovnání s asymetrickým šifrováním. Díky tomu je lze relativně snadno přenášet i přes pomalé síťové připojení a jsou méně zranitelné vůči chybám v nespolehlivé síti. Symetrické šifrovací algoritmy jsou také rychlé ve srovnání s asymetrickými algoritmy.

Všechny tyto vlastnosti činí symetrické šifrovací algoritmy zvláště užitečné pro hromadné šifrování dat. To je zejména případ, kdy je problém s rychlostí.

Streamové šifry a blokové šifry

AES je pravděpodobně nejznámější symetrický šifrovací algoritmus. Používá se téměř ve všem, co šifruje spoustu dat a je standardní součástí šifrovacích sad používaných v HTTPS. AES je bloková šifra se 128bitovými bloky. Bloková šifra funguje tak, že šifruje bloky dat najednou. Každý blok musí mít stejnou velikost. To je v pořádku, když jsou zbývající data větší než velikost bloku, ale znamená to, že k dokončení bloku je třeba použít nějakou formu výplně.

Proudová šifra funguje tak, že šifruje mnohem menší množství dat najednou, obvykle jeden bajt po druhém. Obměnou tohoto konceptu je substituční šifra, která funguje na písmenech. Substituční šifry jsou citlivé na frekvenční analýzu, a proto jsou obvykle nespolehlivé a nepoužívané. Streamové šifry však tento problém nemají.

Symetrické algoritmy bývají zranitelné vůči útokům se známým prostým textem, vybraným útokům v prostém textu, diferenciální kryptoanalýze a lineární kryptoanalýze. Moderní algoritmy však byly pečlivě navrženy s ohledem na tuto skutečnost, takže tyto problémy nepředstavují problém.

Závěr

Symetrické šifrování je forma šifrování, která používá stejný klíč k šifrování i dešifrování dat. V některých případech je samotný algoritmus stejný pro šifrování i dešifrování, i když tomu tak nutně není. Šifrovací klíče bývají relativně krátké a snadno se přenášejí. Klíč však musí být přenášen přes zabezpečený kanál, protože jej musí komunikovat všechny zúčastněné strany. Symetrické šifrovací algoritmy bývají mnohem rychlejší než asymetrické šifrovací algoritmy.