1Kryptografia v základnom kontexte

Kryptografia predstavuje silný matematický nástroj, ktorý slúži na ochranu informácií v počítačových systémoch. Základné operácie kryptografie, šifrovanie a dešifrovanie, využíva mnoho bezpečnostných aplikácií. Citlivé dáta môžu byť vďaka kryptografii bezpečne prenášané prostredníctvom telekomunikačných sietí bez hrozby neoprávneného zachytenia a rozlúštenia obsahu dát. Šifrovanie možno definovať ako proces, po ktorom sa stáva informácia nerozlúštiteľná a zbytočná pre všetkých okrem určených príjemcov správy. Dešifrovanie predstavuje inverzný proces k šifrovaniu. Jedná sa o prevod dát späť do pôvodnej podoby.

Technika kryptografie sa využíva v našom každodennom živote. Napr. pri telefonovaní, platení kreditnou alebo debetnou kartou, výbere peňazí z bankomatu, prihlasovaní sa pomocou hesla do počítačových systémov, atď. Kryptografia umožňuje ukladanie citlivých informácií alebo ich prenos cez nezabezpečené siete (ako napr. Internet) tak, že nikto okrem určeného príjemcu nedokáže prečítať ich obsah. Kryptografia sa stala priemyselným štandardom pre poskytovanie informačnej bezpečnosti, dôvernosti, kontroly prístupu k rôznym zdrojom a elektronickým transakciám. Na druhej strane treba dodať, že kryptografia sama o sebe nie je dostatočný prostriedok na zabezpečenie všetkých potenciálnych hrozieb narušenia informačnej bezpečnosti.

Kryptografický algoritmus, nazývaný tiež šifra, je jednoducho postupnosť určitých procesov, ktoré zahŕňajú šifrovanie a prislúchajúce dešifrovanie. Šifra je matematická operácia špeciálne navrhnutá tak, aby zakryla, resp. znemožnila odhaliť obsah dát. Najúčinnejšie šifrovacie algoritmy pracujú s kombináciou viacerých kľúčov. V prípade použitia rozličných kľúčov môže byť rovnaký otvorený text zmenený na rôzne podoby zašifrovaného textu. Spoľahlivý kryptografický algoritmus musí zabezpečiť, aby nevznikla možnosť získania pôvodného otvoreného textu bez znalosti kľúča. Samozrejme existuje aj metóda tzv. totálnych skúšok, ktorá skúša všetky možné kľúče až kým nenájde ten správny. Štatisticky sa správny kľúč nájde s vysokou pravdepodobnosťou už v prvej polovici všetkých skúšok. Bezpečnosť kryptografického systému je vo všeobecnosti postavená na dvoch veciach: sile kryptografického algoritmu a utajení kľúča.

Počet všetkých možných kľúčov musí byť tak veľký, že je výpočtovo nemožné na základe súčasných prostriedkov odhaliť kľúč v rozumnom čase. Mnoho šifier zvyšuje svoju bezpečnosť vzrastajúcou dĺžkou kľúča. Avšak čím je dĺžka kľúča väčšia, tým je proces výpočtovo náročnejší a teda doba šifrovania a dešifrovania narastá. Preto je dôležité vybrať algoritmus na základe porovnania medzi úrovňou ochrany a výpočtovou náročnosťou algoritmu.

Moderné kryptografické algoritmy môžu byť klasifikované podľa dvoch kritérií: typu kľúča a podľa spôsobu, akým pracujú s dátami.

Podľa typu kľúča sa kryptografické algoritmy delia na:

1. Kryptografia s tajným kľúčom (symetrická kryptografia). Symetrická kryptografia predstavuje kryptografické metódy, v ktorých odosielateľ aj príjemca používajú rovnaký kľúč na šifrovanie aj dešifrovanie. (Menej známe sú metódy, v ktorých sú jednotlivé kľúče odlišné, ale dajú sa pomerne ľahko odvodiť jeden od druhého). Šifrovací štandard AES (Advanced Encryption Standard) je príkladom široko používaného konvenčného symetrického šifrovacieho systému.
2. Kryptografia s verejným kľúčom (asymetrická kryptografia) využíva dvojicu kľúčov: verejný kľúč na šifrovanie dát a zodpovedajúci súkromný (tajný) kľúč na ich dešifrovanie. Je zrejmé, že medzi obidvoma kľúčmi je matematický vzťah. Matematické operácie sú však také zložité, že je na nich postavená bezpečnosť celého algoritmu. Používateľ alebo časť systému zverejňuje svoj verejný kľúč, pričom súkromný kľúč si ponecháva v bezpečí. Každý, kto získa verejný kľúč môže informáciu šifrovať, avšak k pôvodnej otvorenej správe sa nedostane. Len osoba, ktorá vlastní zodpovedajúci súkromný kľúč môže zašifrované dáta dešifrovať.

Hlavná výhoda kryptografie s verejným kľúčom spočíva v tom, že odosielateľ a príjemca nepotrebujú zdieľať tajný kľúč cez vopred vytvorený zabezpečený kanál. Celá komunikácia vyžaduje len prítomnosť verejného kľúča, ktorý sa môže prenášať aj cez nezabezpečený kanál.

Podľa spôsobu akým algoritmus pracuje s dátami môžu byť šifry klasifikované ako:

1. Blokové šifry pracujú s blokmi dát, s množinou bitov s pevne určenou dĺžkou, s rovnakými operáciami pre všetky bloky. Správa sa rozdelí na menšie bloky, ktoré sa postupne šifrujú. Bloková šifra sa považuje za bezpečnú ak sa všetky bloky otvoreného textu bezpečne transformujú na bloky šifrovaného textu, tzn. že kryptoanalýze by mal odolať každý jeden blok rovnako. Ak sú šifrované rôzne správy rovnakým kľúčom, potom rovnaké bloky dát sa transformujú vždy na rovnaké bloky zašifrovaného textu. Útočník tak môže jednoducho odhaliť opakujúce sa bloky v správe. Z toho dôvodu sa použitie blokovej šifry v takomto režime neodporúča a využívajú sa iné bezpečné režimy.
2. Prúdové šifry transformujú jeden symbol otvoreného textu priamo na jeden symbol zašifrovaného textu. Transformácia je založená na generovaní pseudonáhodnej postupnosti, ktorá predstavuje prúd bitov šifrovacieho kľúča. Tento prúd bitov v spojení s otvoreným textom slúži na zašifrovanie jedného bitu alebo bajtu v jednom časovom okamihu. Takýmto spôsobom sa vytvorí konečný zašifrovaný text.

Základná terminológia:

- Otvorený text je správa, ktorá má byť vysielaná a doručená adresátovi.
- Zašifrovaný text je výstup kryptografického systému, ktorý vznikne zašifrovaním otvoreného textu.
- Šifrovanie je proces zmeny obsahu otvoreného textu za účelom ukrytia prenášanej informácie.
- Dešifrovanie je inverzná operácia k šifrovaniu. Je to proces spätného získania správy vo forme otvoreného textu z jej zašifrovanej podoby (zašifrovaného textu). Tento proces teda transformuje zašifrovaný text na otvorený text.
- Kľúč je slovo, číslo, alebo postupnosť, ktorá sa používa na šifrovanie otvoreného textu alebo dešifrovanie zašifrovaného textu.
- Kryptoanalýza je vedná disciplína, ktorá sa zaoberá metódami na rozkódovanie zašifrovaných správ bez znalosti tajného kľúča.
- Hašovacia funkcia je algoritmus, ktorý transformuje text ľubovoľnej dĺžky na text s fixnou dĺžkou.
- Šifra je kryptografický algoritmus, tzn. matematická funkcia, ktorá sa používa na šifrovanie a dešifrovanie.
- Manažment kľúčov zahŕňa procesy akými sa kľúče vytvárajú, ukladajú, chránia, prenášajú, načítavajú, používajú a ničia.