Pri dnešnom tempe nárastu objemu prenášaných dát v informačných
technológiách je vysokým kritériom pri komunikácii bezpečnosť
prenášaných dát. V minulosti nebol objem prenášaných dát cez
verejné siete taký obrovský ako je v dnešnej dobe, kedy vysoké
percento komunikácie zabezpečuje Internet. Dáta prenášané
takýmito verejnými linkami, ktoré nie je ťažké odpočúvať,
môžu byť jednoducho odchytené, či pri prenose pozmenené. Prenášané
informácie môžu byť pre komunikujúcich dôverné, alebo pre
verejnosť prísne tajné.
Jedným zo spôsobov ako zamedziť tretej osobe dostať sa k
dátam je použiť také komunikačné cesty, ktoré nie je možné
odpočúvať. Takýchto ciest je však málo a ich nevýhodou je
aj vysoká cena a tým aj nedostupnosť pre bežných používateľov.
Druhým a oveľa prijateľnejším spôsobom je prenášané informácie
zašifrovať (kryptovať). V prípade, že sa k zašifrovaným dátam
dostane nežiadúca osoba, je veľmi malá pravdepodobnosť, že
dokáže tieto dáta odšifrovať. Pri šifrovaní sa informácia
nestráca, častým prípadom je naopak zväčšenie veľkosti správy
oproti nezašifrovanej. Najčastejším prípadom šifrovania je
také, pri ktorom sa používa aj vlastný šifrovací kľúč. Je
to zväčša postupnosť znakov, podľa ktorej sa šifrovací algoritmus
pri šifrovaní vetví, či určuje samotné šifrovanie. Aby bola
komunikácia prostredníctvom zašifrovaných správ možná, je
potrebné, aby oba komunikujúce uzly mali rovnaký šifrovací
kľúč. Na ňom sa pri inicializácii komunikácie obe strany dohodnú.
Ako už bolo spomenuté vyššie, kryptografia sa používa na
dosiahnutie dôvernosti (utajenie) informácie (ochrana proti
neautorizovanému sprístupneniu dôvernej informácie), pre zaručenie
integrity informácie (ochrana proti neautorizovanej zmene
dát, resp. ochrana proti nasadeniu vírusov do programov),
pri autentifikácii (preukázanie totožnosti subjektu), pri
riadenom prístpe k objektom a pri zaručenom preukazovaní pôvodu
správy (nepopieratelnosť). Kryptografický mechanizmus je tvorený
dvoma samostatnými (komplementárnými) algoritmami, algoritmom
šifrovania a algoritmom dešifrovania, viď obr.1.
Kryptografický mechanizmus je ale tvorený
nielen kryptografickým algoritmom, ale aj kryptografickým
kľúčom, ktorý je jedným z dvoch vstupných parametrov algoritmu
šifrovania a dešifrovania. Pokiaľ komunikujúci partneri používajú
rovnaký kryptografický kľúč, K = K', hovoríme o modeli symetrickej
kryptografie alebo tiež o kryptografii s tajným kľúčom. Tajnému
kľúču hovoríme aj zdieľaný kľúč. Znalosť tajného kľúča naviac
môže slúžiť aj ako dôkaz identity. Okrem toho je možné symetrickú
kryptografiu mimo služby zaistenia dôvernosti použiť aj pre
autentifikáciu. Pokiaľ sa kryptografické kľúče komunikujúcich
partnerov vzájomne líšia, ide o model asymetrickej kryptografie.
Typickým príkladom aplikácie asymetrickej kryptografie je
kryptografia s verejným kľúčom, presnejšie s dvojicou kľúčov
{verejný kľúč, súkromný kľúč}. Pri nej môže ľubovoľný subjekt
použitím všeobecne známeho verejného šifrovacieho kľúča KV
zašifrovať zrozumiteľný (otvorený) text správy, ale šifru
môže previesť spät do zrozumiteľného textu jedine ten, kto
vlastní (pozná) súkromný dešifrovací kľúč KS.
Obr.1 Kryptografický systém
Jedinečnosť znalosti súkromného kľúča umožňuje
použiť asymetrický model pre implementáciu nielen dôvernosti
a autentifikácie, ale pri splnení istých organizačných požiadaviek
aj pre implementáciu nepopierateľnosti aplikácie digitálneho
podpisu. Princíp asymetrickej kryptografie je pomerne nová
myšlienka, ktorá vznikla v polovici 70. rokov. V tejto dobe
matematici zvládli potrebný matematický základ a teóriu zložitosti,
tj. umenie pracovať s preukázateľne výpočtovo náročnými problémami.
Šifrátor, ktorý po sebe idúce časti (postupnosť
bitov, resp. blokov) zrozumiteľného (otvoreného) textu, správy
M, šifruje rovnakým kľúčom K, nazývame blokový šifrátor. Šifrátor,
ktorý generuje "prúd" kľúčov K1, K2 ..., ktorými sú šifrované
po sebe idúce prvky zrozumiteľného textu (resp. otvoreného
textu alebo správy M), nazývame prúdový šifrátor. Najznámejším
predstaviteľom blokového šifrátora je algoritmus DES.
Hlavnými výhodami šifrovania sú hlavne relatívna rýchlosť,
cenová dostupnosť, jednoduchosť z hľadiska použitia a to,
že je možné šifrovanie kedykoľvek povoliť a zakázať. Môže
byť vykonávané ako programovo tak aj hardvérovo a stupeň zašifrovania,
pod ktorým sa myslí ako zložito boli dáta prekódované, je
možné meniť. Softvérové šífrovanie má svoje nevýhody,
ktorými sú nižšia rýchlosť a možnosť odhalenia šifrovacieho
algoritmu krokovaním programu. Na druhej strane je však veľmi
lacné. Hadvérové šifrovanie so sebou prináša rýchlosť a znemožňuje
odhalenie algoritmu, keďže tento je priamo implementovaný
do čipu a reprezentovaný jeho vnútorným zapojením. Nevýhodou
je však vysoká cena takýchto šifrátorov. So šifrovaním je
možné použiť aj kompresiu, ktorá napomáha k menšiemu zaťaženiu
prenosového kanála.
Predstavovaný algoritmus DES je pomerne rýchly a jednoducho
implementovateuný. Jeho jednoduchosť však so sebou prináša
istú nevýhodu. Zo 64-bitového vstupného kuúča algoritmus využíva
len 56 bitov, čo je v súčasnej dobe oproti algoritmom s 128
a viac bitovými kuúčmi veumi málo. Neuchováva si predchádzajúce
stavy šifrovania, čo znamená že ak šifrujeme to isté slovo
tým istým kuúčom viac krát, dostaneme vždy rovnaký zašifrovaný
text. Kvôli tomuto nedostatku sa častejšie využíva jeho modifikácia
3DES (TripleDES), ktorá predstavuje tri šifrátory DES zapojené
za sebou.
Algoritmus DES bol štandardizovaný inštitúciou ANSI. Označuje
sa tiež ako šifrovací algoritmus DEA (Data Encryption Algorithm).
Od 80. rokov je platným štandardom v celom svete na základe
definície medzinárodnou organizáciou ISO (International Standardization
Organization) ako DEA-1. Do slovenčiny preložený štandard
DES môžete nájsť tu.