1Kryptografie v základním kontextu

Kryptografie představuje silný matematický nástroj, který slouží k ochraně informací v počítačových systémech. Základní operace kryptografie, šifrování a dešifrování, využívá mnoho bezpečnostních aplikací. Citlivá data mohou být díky kryptografii bezpečně přenášena prostřednictvím telekomunikačních sítí bez hrozby neoprávněného zachycení a rozluštění obsahu dat. Šifrování je možné definovat jako proces, po kterém se informace stává nerozluštitelná a zbytečná pro všechny kromě určených příjemců zprávy. Dešifrování představuje inverzní proces k šifrování, tedy jedná se o převod dat zpět do své původní podoby.

Technika kryptografie se využívá v našem každodenním životě. Např. při telefonování, platbě kreditní nebo debetní kartou, výběru peněz z bankomatu, přihlašování se pomocí hesla do počítačových systémů, atd. Kryptografie umožňuje ukládání citlivých informací nebo jejich přenos přes nezabezpečené sítě (jako např. internet) tak, že nikdo kromě určeného příjemce nedokáže přečíst jejich obsah. Kryptografie se stala průmyslovým standardem pro poskytování informační bezpečnosti, důvěrnosti, kontroly přístupu k různým zdrojům a elektronickým transakcím. Na druhou stranu je třeba dodat, že kryptografie sama o sebe není dostatečný prostředek na zabezpečení všech potenciálních hrozeb narušení informační bezpečnosti.

Kryptografický algoritmus, nazývaný též šifra, je jednoduchá posloupnost určitých procesů, které zabraňují šifrování a příslušné dešifrování. Šifra je matematická operace speciálně navržená tak, aby zakryla, resp. znemožnila odhalit obsah dat. Nejúčinnější šifrovací algoritmy pracují s kombinací více klíčů. V případě použití různých klíčů může být stejný otevřený text změněn na různé podoby zašifrovaného textu. Spolehlivý kryptografický algoritmus musí zabezpečit, aby nevznikla možnost získání původního otevřeného textu bez znalosti klíče. Samozřejmě existuje též metoda tzv. hrubé síly, která zkouší všechny možné klíče, dokud nenajde ten správný. Statisticky se správný klíč najde s vysokou pravděpodobností již v první polovině všech zkoušek. Bezpečnost kryptografického systému je ve všeobecnosti postavená na dvou věcech: síle kryptografického algoritmu a utajení klíče.

Počet všech možných klíčů musí být tak velký, že je výpočetně nemožné se současnými prostředky odhalit klíč v rozumném čase. Mnoho šifer zvyšuje svoji bezpečnost vzrůstající délkou klíče. Avšak čím je délka klíče větší, tím je proces výpočetně náročnější, a tedy narůstá i doba šifrování a dešifrování. Proto je důležité vybrat algoritmus na základě porovnání mezi stupněm ochrany a výpočetní náročností algoritmu.

Moderní kryptografické algoritmy mohou být klasifikované podle dvou kritérií: typu klíče a podle způsobu, jakým pracují s daty.

Podle typu klíče se kryptografické algoritmy dělí na:

1. Kryptografie s tajným klíčem (symetrická kryptografie). Symetrická kryptografie představuje kryptografické metody, při kterých odesílatel i příjemce používají stejný klíč na šifrování i dešifrování. (Méně známé jsou metody, při kterých jsou jednotlivé klíče různé, ale dají se poměrně lehce odvodit jeden z druhého). Šifrovací standard AES (Advanced Encryption Standard) je příkladem široce používaného konvenčního symetrického šifrovacího systému.
2. Kryptografie s veřejným klíčem (asymetrická kryptografie) využívá dvojici klíčů: veřejný klíč na šifrování dat a odpovídající soukromý (tajný) klíč na jejich dešifrování. Je zřejmé, že mezi oběma klíči je matematický vztah, nicméně je výpočetně nemožné z privátního klíče odvodit klíč soukromý. Uživatel nebo část systému zveřejňuje svůj veřejný klíč, přičemž soukromý klíč si ponechává v bezpečí. Každý, kdo získá veřejný klíč, může informaci šifrovat, avšak k původní otevřené zprávě se nedostane. Jen osoba, která vlastní odpovídající soukromý klíč může zašifrovaná data dešifrovat.

Hlavní výhoda kryptografie s veřejným klíčem spočívá v tom, že odesílatel a příjemce nepotřebují sdílet tajný klíč přes předem vytvořený zabezpečený kanál; celá komunikace vyžaduje jen přítomnost veřejného klíče, který se může přenášet i přes nezabezpečený kanál.

Podle způsobu, jakým pracuje algoritmus s daty, mohou být šifry klasifikovány jako:

1. Blokové šifry, které pracují s bloky dat, množinou bitů s pevně danou délkou, se stejnými operacemi pro všechny bloky. Zpráva se rozdělí na menší bloky, které se postupně šifrují. Bloková šifra se považuje za bezpečnou, jestliže se všechny bloky otevřeného textu bezpečně transformují na bloky šifrovaného textu; kryptoanalýze by měl odolat každý blok stejně. Avšak jsou-li šifrovány různé zprávy stejným klíčem, potom stejné bloky dat se transformují vždy na stejné bloky zašifrovaného textu. Útočník může tak jednoduše odhalit opakující se bloky ve zprávě. Z toho důvodu se použití blokové šifry v takovém režimu nedoporučuje, přičemž se využívají jiné, bezpečné režimy.
2. Proudové šifry transformují jeden symbol otevřeného textu přímo na jeden symbol zašifrovaného textu. Transformace je založená na generování pseudonáhodné posloupnosti, která představuje proud bitů šifrovacího klíče. Tento proud bitů ve spojení s otevřeným textem slouží k zašifrování jednoho bitu nebo bajtu v jednom časovém okamžiku. Takovým způsobem se vytvoří konečný zašifrovaný text.

Základní terminologie:

- Otevřený text je zpráva, která má být vyslána a doručena adresátovi.
- Zašifrovaný text je výstup kryptografického systému, který vznikne zašifrováním otevřeného textu.
- Šifrování je proces změny obsahu otevřeného textu za účelem skrytí přenášené informace.
- Dešifrování je inverzní operace k šifrování; je to proces zpětného získání zprávy ve formě otevřeného textu z její zašifrované podoby (zašifrovaného textu). Tento proces teda transformuje zašifrovaný text na otevřený text.
- Klíč je slovo, číslo, nebo posloupnost, která se používá na šifrování otevřeného textu nebo dešifrování zašifrovaného textu.
- Kryptoanalýza je vědní disciplína, která se zaobírá metodami pro rozkódování zašifrovaných zpráv bez znalosti tajného klíče.
- Hash funkce je algoritmus, který transformuje text o libovolné délce na text s fixní délkou.
- Šifra je kryptografický algoritmus, tzn. matematická funkce, která se používá na šifrování a dešifrování.
- Správa klíčů zahrnuje procesy, jakými se klíče vytvářejí, ukládají, chrání, přenáší, čtou, zapisují, používají a ničí.