18.11.2013 Views

Bakalářská práce

Bakalářská práce

Bakalářská práce

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Bankovní institut vysoká škola Praha<br />

Základní šifrovací systémy a moderní aplikace šifer<br />

<strong>Bakalářská</strong> <strong>práce</strong><br />

Jan Šrámek Březen 2009


Bankovní institut vysoká škola Praha<br />

Katedra informačních technologií<br />

Základní šifrovací systémy a moderní aplikace šifer<br />

<strong>Bakalářská</strong> <strong>práce</strong><br />

Autor:<br />

Jan Šrámek<br />

Informační technologie, auditor informačních systémů<br />

Vedoucí <strong>práce</strong>:<br />

Ing. Vladimír Beneš<br />

Praha Březen 2009


Prohlášení:<br />

Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a s použitím uvedené<br />

literatury.<br />

podpis autora<br />

V Praze dne 21. 3. 2009<br />

Jan Šrámek


Anotace<br />

Tato bakalářská <strong>práce</strong> si klade za cíl zmapovat a popsat historii vzniku šifer, jejich<br />

vývoj a význam. Mimo řady historických informací a souvislostí se <strong>práce</strong> zabývá<br />

popisem symetrických a matematických metod šifrování. Dále kryptografií<br />

s veřejným klíčem a kvantovou kryptografií. Práce zkoumá základní principy<br />

asymetrické kryptografie a srovnává nejznámější kryptografické algoritmy které se<br />

v současné době používají v informačních a komunikačních technologiích.<br />

Annotation<br />

This bachelor´s study aims to map and describe the history of the emergence of<br />

ciphers, their evolution and significance. Outside the range of historical information<br />

and context, the work deals with a mathematical description of symmetric encryption<br />

methods. Furthermore, with public key cryptography and quantum cryptography.<br />

Work explores the basic principles of asymmetric cryptography, and compares the<br />

best-known cryptographic algorithms that are currently used in information and<br />

communication technologies.


Obsah<br />

1 Vznik a historie šifer 6<br />

1.1 Caesarova šifra 6<br />

1.2 Jednoduché substituční šifry 8<br />

1.2.1 Statistiky jazyka 10<br />

1.3 Vigenérova šifra 12<br />

1.4 Transpoziční šifry 14<br />

1.4.1 Superšifrování 16<br />

1.5 Základní koncepty 16<br />

1.6 Rozvoj kryptologie a souvislosti 17<br />

2 Symetrické a matematické metody šifrování 21<br />

2.1 Proudové šifry 21<br />

2.2 Blokové šifry 24<br />

2.2.1 Typy blokových šifer 26<br />

2.3 Používání symetrických algoritmů k autentizaci a ověření integrity dat 27<br />

3 Asymetrické metody šifrování 29<br />

3.1 Útoky na systémy s veřejnými klíči 31<br />

3.2 Hashovací funkce 33<br />

3.3 Digitální podpisy 34<br />

4 Kvantová kryptografie 36<br />

4.1 Systém kvantové kryptografie 38<br />

4.2 Jak pracuje kvantová distribuce klíčů 40<br />

4.3 Praktické použití kvantové kryptografie 41<br />

5 Novodobé trendy v kryptografii 43<br />

5.1 Teleportace 43<br />

5.2 Spolehlivá šifra zapsaná do miniaturních částic 45<br />

5.3 Superrychlý počítač 46


1 Vznik a historie šifer<br />

Kryptografie neboli šifrování je nauka o metodách utajování smyslu zpráv a převod<br />

do podoby, která je čitelná jen se speciální znalostí. Slovo kryptografie pochází<br />

z řečtiny – kryptós je skrytý a gráphein znamená psát. Někdy je pojem obecněji<br />

používán pro vědu o čemkoli spojeném se šiframi jako alternativa k pojmu<br />

kryptologie. Kryptologie zahrnuje kryptografii a kryptoanalýzu, neboli luštění<br />

původní zprávy se šifrového textu.<br />

Obrázek 1: schéma šifrovacího systému<br />

Níže uvedené algoritmy jsou již zastaralé a nic nevypovídají o technikách moderní<br />

kryptografie. Přesto může studium raných systémů založených na záměně písmen<br />

(tzv. substituce písmen, substituční metoda) nebo změně pořadí písmen ve slově<br />

poskytnout řadu zajímavých informací. Je tomu tak z mnoha důvodů. Jedním z nich<br />

je, že představují jednoduché a snadno pochopitelné příklady, na nichž si můžeme<br />

ukázat základní koncepty a zároveň na nich můžeme demonstrovat mnoho slabin, na<br />

něž si šifry musejí dávat pozor.<br />

1.1 Caesarova šifra<br />

Jednou z nejstarších šifer je takzvaná Caesarova šifra, kterou popsal Julius Caesar ve<br />

svých Zápiscích o válce galské. Její princip je založen na tom, že každé písmeno od<br />

A do W je během šifrování zaměněno za písmeno, které se v abecedě nachází o tři<br />

místa dále. Písmena X, Y, a Z jsou nahrazena symboly A, B a C. Ačkoliv Caesar<br />

používal posun o tři místa, stejného výsledku lze docílit použitím libovolného čísla<br />

6


od 1 do 25. Jakékoliv šifrování za pomoci posunu písmen tedy dnes označujeme jako<br />

Caesarovu šifru.<br />

K vysvětlení šifry nám pomůže obrázek. Vidíme na něm dva soustředné prstence,<br />

přičemž ten vnější se může volně otáčet. Jestliže začneme v pozici kdy A přiléhá<br />

k A, při posunu o 2 místa se vedle A ocitne C a tak dále. Počítáme-li posun i o 0<br />

(který je ve výsledku stejný jako o 26), máme celkem 26 možných nastavení.<br />

U Caesarovy šifry je šifrovací i dešifrovací klíč definován posunem.<br />

Obrázek 2: „Přístroj“ na implementaci Caesarovy šifry<br />

Zdroj: MURPHY, Sean; PIPER, Fred, Kryptografie<br />

Jakmile se obě strany dohodnou na posunu, probíhá šifrování tak, že se písmena<br />

z otevřeného textu umisťují na vnitřní prstenec a nahrazují se písmenem z prstence<br />

vnějšího. K dešifrování stačí použít obrácený postup. Chceme-li tedy zašifrovat<br />

otevřený text PES s použitím posunu o tři písmena dostaneme řetězec SHV.<br />

V našem popisu Caesarovy šifry se šifrovací i dešifrovací klíč rovnají posunu ale<br />

šifrovací a dešifrovací postupy se od sebe liší. Stačí ovšem trochu pozměnit<br />

formulaci aby byly oba postupy shodné ale šifrovací a dešifrovací klíče různé. Jak<br />

jsem již naznačili, posun 0 písmen se rovná posunu o 26 písmen. Tudíž při šifrování<br />

s posunem 0 až 25 můžeme text dešifrovat stejným způsobem, když za posun<br />

zvolíme 26 mínus posun při šifrování. Takže například šifrování s posunem 8 je<br />

stejné jako dešifrování s posunem 26-8=18. Díky tomu můžeme pro šifrování<br />

i dešifrování použít stejný postu, přičemž šifrovací klíč (s posunem) 8 odpovídá<br />

dešifrovacímu klíči 18.<br />

Hlavní nevýhoda této šifry je její zranitelnost hrubou silou. Vzhledem k tomu, že<br />

Caesarova šifra má u běžné latinky pouze 26 možných klíčů, je tímto druhem útoku<br />

7


velice zranitelná. Další slabinou je, že klíč lze odvodit ze znalosti jediného páru<br />

řetězců otevřeného a šifrového textu. To je až příliš málo na to aby to bylo<br />

bezpečné.[1]<br />

1.2 Jednoduché substituční šifry<br />

Z hlediska kryptografické bezpečnosti je sice nezbytné mít velké množství klíčů ale<br />

současně musíme zdůraznit, že to samo o sobě není žádnou zárukou síly systému.<br />

Klasickou ukázkou může být „jednoduchá substituční šifra“ (neboli<br />

monoalfabetická). Rozborem této šifry se nejen názorně přesvědčíme, že velké<br />

množství klíčů není žádnou zárukou neprolomitelnosti systému, ale navíc nám ukáže<br />

jak může útočník ke svému prospěchu využít statistiky daného jazyka – v tomto<br />

případě angličtiny.<br />

U jednoduché substituční šifry si nejprve napíšeme všechna písmena abecedy ve<br />

správném pořadí a pod ně poté písmena v náhodném pořadí. Zde je příklad.<br />

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z<br />

správné pořadí<br />

D I Q M T B Z S Y K V O F E R J A U W P X H L C N G<br />

náhodné pořadí<br />

Šifrovací a dešifrovací klíče jsou navzájem shodné. Jedná se o pořadí v jakém jsou<br />

napsána tučná písmena. Šifrovacím pravidlem je „nahradit každé písmeno tím, které<br />

je pod ním“, dešifrovací proces je přesně opačný. Pokud bychom tedy použili klíč<br />

s výše uvedeného obrázku, slovo GET by po zašifrování vypadalo jako ZTP a zpráva<br />

IYZ znamená ve skutečnosti BIG. Mimochodem Caesarova šifra je vlastně zvláštním<br />

případem jednoduché substituční šifry. Počet klíčů v jednoduché substituční šifře se<br />

rovná počtu způsobů kolika je možné seřadit 26 písmen abecedy. Jedná se o faktoriál<br />

26 (26! = 26x25x24……x2x1), což se rovná číslu<br />

4 0 3 2 9 1 4 6 1 1 2 6 6 0 5 6 3 5 5 8 4 0 0 0 0 0 0<br />

To je nepochybně opravdu velké číslo, takže by se někdo stěží pokoušel odhalit klíč<br />

postupným probíráním veškerých možností. Ovšem z takto nesmírného počtu klíčů<br />

vyplívá celá řada potíží a při správě klíčů u jednoduché substituční šifry často<br />

narazíte na několik takřka ukázkových problémů. Nejevidentnější ze všech je fakt, že<br />

klíč je na rozdíl od Caesarovy šifry dlouhý a těžko zapamatovatelný. Takže v dobách<br />

8


před počítači, kdy bylo nutné tento druh systému aplikovat ručně, se klíč často<br />

zapisoval na kus papíru. Jestliže někdo papír někdo viděl nebo dokonce ukradl, ocitl<br />

se celý systém v nebezpečí. A když jej zodpovědná osoba ztratila, byly ztraceny<br />

i všechny šifrované zprávy protože ani zamýšlenému příjemci nezbývalo nic jiného<br />

než zkusit prolomit šifrovací algoritmus.<br />

Ve snaze předejít tomuto nebezpečí se uživatelé snažili vymyslet systém generování<br />

klíčů tak, aby bylo možné si je zapamatovat. Běžnou metodou bylo určit nějakou<br />

klíčovou větu, odstranit z ní všechna opakující se písmena a takto vytvořit „začátek“<br />

klíče, za něž se poté v abecedním pořadí zařadila veškerá zbývající písmena. Jako<br />

příklad si můžeme vzít větu „We hope you enjoyed this book“. Když z ní odstraníme<br />

opakující se znaky, dostaneme „wehopyunjtisbk“. Celý klíč tedy zní:<br />

W E H O P Y U N J T I S B K A C D FGLMQRVXZ<br />

Je zřejmé, že omezením klíčů na ty, jež jsou odvozeny od klíčové věty, se počet<br />

možností značně sníží, protože většině z 26! klíčů jednoduché substituce nelze<br />

odvodit z žádné věty, a to v jakémkoliv jazyce. Přesto je však počet klíčů dostatečně<br />

velký na to, aby nebyl útok hrubou silou proveditelný, a zároveň je možné si kód<br />

zapamatovat.<br />

Druhou nápadnou slabinou jednoduchých substitučních šifer je fakt, že mnoho<br />

různých klíčů zašifruje stejnou zprávu do stejného kryptogramu. Máme například<br />

text „Meet me tonight“ (setkáme se dnes večer). Jestliže použijeme výše uvedený<br />

klíč, dostaneme kryptogram FTTP FT PREYZSP. Stejný kryptogram bude ovšem<br />

vytvořen libovolným klíčem, který přiřadí E k T, G k Z, H k S, I k Y, M k F, N k E,<br />

O k R a T k P. A takových klíčů je<br />

1 8 ! = 6 4 0 2 3 7 3 7 0 5 7 2 8 0 0 0<br />

To znamená, že přinejmenším u tohoto typu šifer bychom se neměli spoléhat na to,<br />

že k získání naší zprávy ze zachyceného kryptogramu musí útočník určit celý klíč.<br />

9


1.2.1 Statistiky jazyka<br />

V případě kdy je jednoduchá substituční šifra použita k zakódování i poměrně<br />

dlouhého textu, existuje celá řada přímých útoků, s jejichž pomocí lze odhalit text<br />

původní zprávy a použitý klíč, nebo alespoň jeho velkou část. Tyto útoky se opírají<br />

především o všeobecně známé charakteristiky použitého jazyka.<br />

Písmeno % Písmeno %<br />

A 8,2 N 6,7<br />

B 1,5 O 7,5<br />

C 2,8 P 1,9<br />

D 4,2 Q 0,1<br />

E 12,7 R 6,0<br />

F 2,2 S 6,3<br />

G 2,0 T 9,0<br />

H 6,1 U 2,8<br />

I 7,0 V 1,0<br />

J 0,1 W 2,4<br />

K 0,8 X 2,0<br />

L 4,0 Y 0,1<br />

M 2,4 Z 0,1<br />

Tabulka 1: Relativní četnost písmen v anglickém textu, PIPER, F.; BACKER, J., Cipher systems<br />

V tabulce 1 je zachycena četnost výskytu jednotlivých písmen abecedy v anglicky<br />

psaném textu. Výpočet byl proveden ze vzorku více než 300 000 znaků z různých<br />

pasáží mnoha novinových článků a knih. (tuto tabulku původně sestavili H. J. Beker<br />

a F.C. Piper a vydali jí ve své knize Cipher systems: The protection<br />

of Communications – Šifrovací systémy: ochrana komunikací).<br />

Hodnoty v této tabulce jsou srovnatelné s těmi, které ve svých odborných přehledech<br />

publikovali i mnozí jiní autoři a lze je interpretovat jako pravděpodobný výskyt<br />

daných písmen v anglicky psaném textu. Jak vidno, v angličtině zaujímá dominantní<br />

postavení jen poměrně malý počet znaků.<br />

Při použití jednoduché substituční šifry je každé písmeno abecedy nahrazeno<br />

příslušným substitučním znakem bez ohledu na své postavení v textu. Pokud tedy<br />

použijeme šifru, ve které je E zaměněno za R, bude četnost výskytu R<br />

v kryptogramu totožná s četností výskytu E v původní správě. To znamená, že pokud<br />

frekvence písmen ve zprávě odpovídá tabulce 1, bude i rozvrstvení v kryptogramu<br />

10


stejné, jen se bude lišit rozdělení mezi jednotlivé znaky. Pro názornost si to ukážeme<br />

v praxi na dlouhém kryptogramu, který jsme získali pomocí jednoduché substituční<br />

šifry.<br />

Při porovnání získaných údajů s tabulkou 1 může kryptoanalytik dojít<br />

k oprávněnému názoru, H odpovídá písmenu E a W odpovídá písmenu T. Vzhledem<br />

k tomu, že nejčastějším slovem se třemi písmeny je zcela bezkonkurenčně THE<br />

(určitý člen)., může si útočník svůj předpoklad ověřit vyhledáním řetězce W*H<br />

v kryptogramu, přičemž * představuje nějaký další znak. Tím si nejen potvrdí<br />

správnost svého odhadu, ale navíc odhalí, který znak (*) je ekvivalentem H<br />

v otevřeném textu.<br />

Graf 1: Sloupcový graf znázorňující relativní četnost výskytu písmen v kryptogramu získaného<br />

jednoduchou substituční šifrou z anglického textu.<br />

Zdroj: MURPHY, Fred; PIPER, Sean, Kryptografie<br />

Na závěr je třeba přesněji definovat výraz „dlouhý kryptogram“. Problém však je, že<br />

neexistuje přesná odpověď na tuhle otázku. Máme-li text zhruba o 200 znacích, pak<br />

je statistika poměrně spolehlivá. Na druhou stranu musím zdůraznit, že není žádná<br />

záruka, že se budou statistiky všech zpráv přesně shodovat s hodnotami z tabulky 1.<br />

11


1.3 Vigenérova šifra<br />

Vigenérova šifra je pravděpodobně nejznámější „manuální“ polyalfabetickou šifrou.<br />

Své jméno nese po Blisovi de Vigenére, francouzském diplomatovi ze 16. století.<br />

Ačkoliv byl její koncept publikován již roku 1586, širšího využití se dočkalas o 200<br />

let později a prolomit se ji podařilo až Babbagovi a Kasiskému v polovině 19.<br />

Století. Za zmínku jistě stojí, že Vigenérovu šifru používala konfederační armáda<br />

v Americké občanské válce. Ta ovšem propukla až poté, co bylo tato šifra<br />

prolomena. Vigenérova šifra používá k šifrování tzv. Vigenérův čtverec. Sloupec po<br />

levé straně (klíčový sloupec obsahuje anglickou abecedu. Každé písmeno má svou<br />

vlastní řadu, v níž je taktéž celá abeceda, ale je posunuta v závislosti na klíčovém<br />

znaku v prvním sloupci. Tudíž každé písmeno v levém sloupci tvoří Caesarovu šifru,<br />

jejíž posun je určen právě tímto písmenem. Například u písmene g je Caesarova šifra<br />

s posunem 6.<br />

Obrázek 3: Vigenérův čtverec, http://www.google.cz/<br />

12


Jedna z nejběžnějších metod použití čtverce k získání šifry je zvolit si klíčové slovo<br />

(nebo větu), ve které se neopakují žádná písmena. Jestliže je otevřený text delší než<br />

klíčové slovo, opakuje se klíč, tak dlouho, jak je zapotřebí, abychom vytvořili řetězec<br />

stejně dlouhý jako původní zpráva. Ten si také pod zprávu zapíšeme. Zkusíme-li<br />

například zašifrovat slovo PLAINTEXT (otevřený text) klíčovým slovem „fred“,<br />

dostaneme:<br />

Zpráva:<br />

PLAINTEXT<br />

Klíč:<br />

FREDFREDF<br />

Nyní zprávu zašifrujeme s použitím čtverce tak, jak je napsáno níže.<br />

K zašifrování prvního písmene P použijeme klíčové písmeno pod ním, jímž je<br />

v tomto případě f. Takto pro zašifrování P přejdeme ve čtverci na řádek označený<br />

jako f a přečteme písmeno, které se nachází ve sloupci P. Tím je v našem případě U.<br />

Stejným způsobem zašifrujeme L – vezmeme písmeno ve stejném sloupci a v řádku<br />

označeném písmenem r, čímž získáme C. Když tento proces zopakujeme pro všechna<br />

písmena, zjistíme, že kryptogram pro zprávu PLAINTEXT vytvořený klíčem fred je<br />

UCELSLIAY. Výsledek je následující:<br />

Zpráva<br />

Klíč<br />

Šifrovaný text<br />

PLAINTEXT<br />

FREDFREDF<br />

UCELSLIAY<br />

Písmeni T z otevřeného textu je v šifrové textu reprezentováno znaky L a Y a na<br />

druhou stranu písmeno L zastupuje v šifrové textu I a T z textu otevřeného. Je tedy<br />

zřejmé, že na rozdíl od jednoduchých substitučních šifer zde nelze k získaní<br />

původního textu použít frekvenci výskytu jednotlivých písmen.<br />

Vigenérovy šifry jsou jedním z příkladů polyalfabetických šifer, u nichž je<br />

opakovaně použita (krátká) sekvence jednoduchých substitučních šifer s pevně danou<br />

rotací. Počet šifer, z nichž se celek skládá, se nazývá perioda. U výše představené<br />

Vigenérovi šifry je perioda shodná s délkou klíčového slova.<br />

13


Jedním z důvodů pro používání polyalfabetických šifer je snaha zamaskovat četnost<br />

výskytu jednotlivých písmen v daném jazyce. Pro ilustraci toho, jak to funguje,<br />

přikládám histogram, v němž najdete frekvenci výskytu písmen v kryptogramu, který<br />

jsem získali z anglického textu Vigenérovou šifrou s periodou 3.<br />

Graf 2: Sloupcový graf, který znázorňuje relativní četnost výskytu písmen v kryptogramu získaného třemi<br />

jednoduchými substitučními šiframi s pevně danou rotací. MURPHY, S.; PIPER, F., Kryptografie<br />

Na první pohled je patrné, že mezi tímto histogramem a tím, který je uveden dříve,<br />

jsou výrazné rozdíly. Nejnápadnější je, že žádné písmeno zde nevyčnívá nad<br />

ostatními tak, jako to bylo v minulém histogramu u znaku H. Druhý graf je<br />

bezesporu vyrovnanější než ten první, a neposkytuje tedy potencionálnímu<br />

útočníkovi tolik záchytných bodů. Při pohledu na druhý histogram by se sice mohla<br />

naskýtat myšlenka, že písmeno R alespoň částečně zastupuje E, ovšem nelze nijak<br />

určit kde a jak.[1]<br />

1.4 Transpoziční šifry<br />

Ve všech případech, o kterých jsem se zmiňoval výše, jsou jednotlivá písmena či<br />

jejich skupiny nahrazovány jinými písmeny a skupinami. Proto tyto příklady spadají<br />

do kategorie substitučních šifer. Existují však i další typy šifer, jež jsou založeny na<br />

principu změny pořadí, v jakém jsou písmena napsána. Těmto metodám se říká<br />

transpoziční šifry. Uvedu jeden velice prostý příklad. Za klíč si zvolíme nějaké malé<br />

číslo, třeba 5. Chceme-li zašifrovat pomocí tohoto klíče, napíšeme ji do řádek o pěti<br />

14


písmenech. Poté text zapíšeme za sebe s tím, že postupujeme po sloupcích – nejprve<br />

napíšeme písmena z prvního sloupce, poté ze sloupce druhého a tak dále. Jestliže<br />

počet znaků není dělitelný pěti, přidáme na konec potřebný počet písmen Z. Pro<br />

vysvětlení si to předvedeme v praxi.<br />

Chceme zašifrovat zprávu „WHAT WAS THE WEATHER LIKE ON FRIDAY „<br />

(jaké počasí bylo v pátek). Klíčem je číslo 5. Takže zapíšeme text do řádek o pěti<br />

písmenech, Dostaneme:<br />

W H A T W<br />

A S T H E<br />

W E A T H<br />

E R L I K<br />

E O N F R<br />

I D A Y<br />

Délka zprávy není dělitelná pěti, musíme na konec přidat Z, takže získáme:<br />

W H A T W<br />

A S T H E<br />

W E A T H<br />

E R L I K<br />

E O N F R<br />

I D A Y Z<br />

Nyní zapíšeme obsah sloupců, takže dostaneme následující kryptogram:<br />

WAWEEIHSERODATALNATHTIFYWEHKRZ<br />

Dešifrovací klíč získáme prostým vydělením délky zprávy šifrovacím klíčem.<br />

V tomto případě vydělíme 30 číslem 5, takže získáme 6. Dešifrovací algoritmus je<br />

shodný se šifrovacím. V tomto případě tedy zapíšeme kryptogram do 6 řad, čímž<br />

Získáme:<br />

W A W E E I<br />

H S E R O D<br />

A T A L N A<br />

T H T I F Y<br />

W E H K R Z<br />

Správnost postupu si můžeme snadno ověřit tím, že přečteme zprávu po sloupcích –<br />

a získáte tím původní zprávu.<br />

15


Transpoziční šifry uvedeného typu lze prolomit poměrně snadno. Vzhledem k tomu,<br />

že klíč je zároveň dělitelem délky kryptogramu, stačí útočníkovi spočítat počet znaků<br />

v šifrové textu a zkusit všechny možné dělitele.<br />

1.4.1 Superšifrování<br />

Kombinací dvou nebo více slabších šifer získáme systém, který se mnohem silnější.<br />

Tomuto způsobu se říká skládání šifer. Základní myšlenka je velice prostá. Jestliže<br />

například chceme zprávu superšifrovat pomocí jednoduché substituční šifry<br />

a transpoziční šifry, nejprve na zprávu použijeme jednoduchou substituční šifru<br />

a výsledný kryptogram ještě zašifrujeme pomocí výše nastíněné transpozice.[1]<br />

1.5 Základní koncepty<br />

Hlavním cílem každého šifrovacího systému je zamaskovat utajovanou zprávu, tak<br />

aby byla pro všechny nepovolané osoby zcela nečitelná. Šifrovací systémy zřejmě<br />

nejčastěji ke slovu ve chvíli, když chceme data bezpečně uložit do počítačového<br />

souboru nebo pokud je posíláte nezabezpečeným kanálem, jako je např. internet.<br />

V obou případech zašifrování dokumentu sice nezajistí, aby nepadl do nepovolaných<br />

rukou ale zabrání tomu aby někdo porozuměl jeho obsahu.<br />

Informaci, kterou je nutno nějakým způsobem zabezpečit, většinou označujeme jako<br />

otevřený text, proces zabezpečování zprávy pak jako šifrování. Zabezpečený<br />

otevřený text se stává šifrovým textem nebo taky kryptogramem. Sada pravidel<br />

použitých pro šifrování otevřeného textu se nazývá šifrovacím algoritmem. Operace<br />

tohoto algoritmu se běžně odvíjejí od šifrovacího klíče, který společně s textem<br />

zprávy představuje vstupní informace pro algoritmus. Chce-li příjemce<br />

z kryptogramu obdržet původní zprávu, musí použít dešifrovací algoritmus, který ve<br />

spojení s dešifrovacím klíčem převede zašifrovaný text na původní otevřený text.<br />

Každý kdo zprávu během vysílání zachytí, je označován jako odposlouchávač. Často<br />

se používají odlišná pojmenováni jako „nepřítel“, „protivník“ atp. Ačkoliv mohou<br />

odposlouchávači někdy znát dešifrovací algoritmus, valnou většinou nemají přístup<br />

k dešifrovacímu klíči. Proto je pro ně velice obtížné dostat do rukou původní<br />

otevřený text. Zatímco kryptografie je věda o vytváření šifrovacích systémů,<br />

kryptoanalýza je proces luštění původního otevřeného textu v případě, že není<br />

k dispozici příslušný klíč. Kryptologie je pak souhrnným označením pro kryptografii<br />

a kryptoanalýzu.<br />

16


Je velice důležité si uvědomit, že útočník se nemusí k otevřenému textu dostat pouze<br />

pomocí kryptoanalýzy. Představme si, že někdo uchovává šifrovaná data na svém<br />

notebooku. Takový člověk musí sám mít přístup k dešifrovacímu klíči. Pokud si jej<br />

napíše na kus papíru a přilepí ho na notebook, tak každý kdo tento počítač ukradne,<br />

získá automaticky i dešifrovací klíč a žádnou kryptoanalýzu se vůbec nemusí<br />

zdržovat. Tímto příkladem bych rád upozornil, že k zajištění dat je potřeba mnohem<br />

více než dobrý šifrovací algoritmus. Pro zajištění bezpečnosti všech<br />

kryptografických systémů je nejdůležitější bezpečnost jeho klíčů.<br />

V praxi se proto většině kryptoanalytických útoků soustřeďuje na zjištění<br />

dešifrovacího klíče. Pokud se to podaří, útočník má přístup ke stejným informacím<br />

jako zamýšlený příjemce zprávy a dokáže dešifrovat veškerou další komunikaci –<br />

dokud nedojde ke změně klíče.<br />

Jak vyplívá z úvodu a základních konceptů moderní kryptografie pro obdržení<br />

zprávy z kryptogramu není zapotřebí znát šifrovací klíč. Tento fakt, jenž je jedním ze<br />

zásadních poznatků studie W.Diffieho a M. Hellmana, měl výrazný dopad na podobu<br />

moderní kryptologie a vedl k rozdělení šifrovacích systémů na dvě skupiny:<br />

symetrické a asymetrické.[1]<br />

1.6 Rozvoj kryptologie a souvislosti<br />

Klasická kryptografie se zabývala především šiframi, tj. způsoby utajení zpráv.<br />

Patřily sem zejména šifrovací systémy jako jednoduchá záměna, jednoduchá<br />

a dvojitá transpozice, Vigenerova šifra a podobně. Často jsou nazývány jako<br />

historické šifrovací systémy. [12]<br />

Druhá světová válka přinesla nebývalý zájem o kryptografii i o kryptoanalýzu.<br />

O dříve opomíjený i zatajovaný obor se najednou začaly zajímat hlavy států<br />

a generální štáby armád. Není divu, kryptoanalytici jim přinášeli čisté informace<br />

z nejvyšších míst velení nepřítele, bez jediného výstřelu a bez rizika. Kryptoanalýza<br />

se stala tichou, neviditelnou a účinnou zbraní. Kvalitní kryptografie byla naopak<br />

obranným štítem, který umožnil dopravovat tajné zprávy jak do týlu nepřítele, tak na<br />

frontu. Nebylo to poprvé, kdy kryptografové a kryptoanalytici zasáhli přímo do bojů,<br />

aniž by opustili své kanceláře daleko od fronty. Fascinující historii kryptologie od<br />

dávné minulosti až do osmdesátých let minulého století popisuje jedinečná kniha<br />

Davida Kahna [2].<br />

17


Ve druhé světové válce přínos kryptoanalytiků vyvrcholil. Byl tak nepřehlédnutelný<br />

a široký, že zasáhl na všech frontách a ovlivnil všechny hlavní válčící strany. Proto si<br />

po válce všechny mocnosti začaly budovat mohutná kryptografická a luštící centra,<br />

kryptografická zařízení byla zařazena do kategorie zboží dvojího užití a posuzována<br />

stejně jako vývoz tanků nebo letadel.<br />

Obrázek 4: Budova NSA, Fort Meade, MD, USA, http://www.nsa.gov<br />

Začalo se více dbát na rozvoj teorie. V rámci tohoto poválečného dění Claude<br />

E. Shannon nejprve v roce 1948 publikoval práci A Mathematical Theory of<br />

Communication [3], která je pokládána za základ teorie informace, a rok poté práci<br />

Communication Theory of Secrecy Systems [4], která je pokládána za základ<br />

moderní kryptologie. Není bez zajímavosti, že byla publikována díky nepozornosti<br />

vládních agentů, měla zůstat utajena.<br />

Shannon využil pojmů z teorie informace k ohodnocení bezpečnosti známých šifer.<br />

Definoval entropii jazyka, vzdálenost jednoznačnosti, dokázal absolutní bezpečnost<br />

Vernamovy šifry, zavedl pojmy difúze a konfúze a ukázal, jak posuzovat<br />

a konstruovat šifrové systémy kombinací různých typů šifer. Zavedl také model<br />

komunikačního kanálu, který se používá při popisu kryptografických systémů<br />

dodnes.<br />

Nečekané impulsy pro kryptologii přinesla počítačová revoluce v sedmdesátých<br />

letech. Nové technologické možnosti přinesly nové koncepty. Vznikly moderní<br />

blokové šifry a byl objeven princip kryptografie s veřejným klíčem [5], [6]. Ochrana<br />

dat ve státní sféře v USA si pak vynutila i vydání veřejné "státní" šifry DES [7].<br />

18


Průmysl informačních a komunikačních technologií převrátil původní poválečný<br />

koncept co největšího zahalování kryptologie do státního aparátu. Kryptologie<br />

dostala nové impulsy a vymkla se státní kontrole.<br />

V roce 1982 se konala první veřejná mezinárodní konference kryptologů a o dvacet<br />

let později se tato věda a její aplikace probírají nejméně na dvaceti mezinárodních<br />

konferencích ročně [8].<br />

Šifrovací technologie se dostaly do domácích počítačů, mobilních telefonů, internetu<br />

a bankovnictví. Vznikla řada nových myšlenek v kryptografii i v kryptoanalýze. Na<br />

přelomu tisíciletí byly objeveny nové principy kryptoanalýzy. Dokonce se spekuluje,<br />

že se vyrovnává potenciál tajné státní vědy a veřejné kryptologie.<br />

Na přelomu tisíciletí se také na veřejnost po 50 letech od svého vzniku dostávají<br />

odtajněné informace o luštění ve druhé světové válce. Veřejnost současně začíná<br />

postupně odhalovat skutečný cíl mohutných odposlouchávacích objektů a umístění<br />

moderních podzemních špionážních a luštících center tajných služeb. [9]<br />

Obrázek 5: Centrum F83, rozsáhlé podzemní pracoviště systému Echelon, www.google.com<br />

19


Po ukončení studené války v posledním desetiletí minulého století dochází<br />

k přeměně zaměření těchto center na průmyslově orientovanou špionáž. Do této pasti<br />

padají nakonec i vlastní spojenci. Navíc se projevuje mezinárodní terorismus. Na<br />

jedné straně existují snahy o omezování kryptografie z obavy z jejího zneužití<br />

teroristy a zločinci, na druhé straně je silná snaha veřejnosti o absolutní uvolnění<br />

kryptografie z důvodu ochrany vlastního soukromí. [12]<br />

Obrázek 6: Budova luštitelské služby v Moskvě, www.google.com<br />

20


2 Symetrické a matematické metody šifrování<br />

Symetrické šifrování také známé pod pojmem konvenční šifrování je založeno na<br />

jediném šifrovacím klíči, které musí být známo oběma zařízením – jak pro šifrování,<br />

tak pro odšifrování. V použití jednoho klíče pro šifrování i odšifrování je snad<br />

největší slabina symetrického šifrování. Nebezpečná je hlavně proto, že se nějakým<br />

způsobem musí šifrovací klíč dostat oběma stranám – té která chce informace psát<br />

a i ta co je chce číst – pro přenos šifrovacího klíče je tak potřeba použít nějaký<br />

zabezpečený přenos. Ovšem pokud takovýto přenos mezi uživateli potřebující<br />

šifrování existuje – nevzniká potřeba šifrovat odesílaná data a je možné je poslat<br />

tímto zabezpečeným přenosem.<br />

Největší výhoda symetrického šifrování spočívá v nenáročnosti na výpočetní výkon.<br />

Toto zatížení je měřitelně až 1000x menší než při šifrování asymetrickém ! ! !<br />

Symetrické šifry se dělí na další dvě kategorie a to na šifry proudové a šifry blokové.<br />

Proudové šifry - jde o šifrování založené na bázi symetrického. Toto šifrování<br />

probíhá pomocí šifrovacího klíče postupně bit po bitu, tedy každý bit je zvláště<br />

zašifrován, a při dešifraci, je opět každý bit rozšifrován a následně složen do výchozí<br />

podoby – například souboru s dokumentem.<br />

Blokové šifry - jde o rozšířenější šifrování, které výchozí bitový sled rozdělí na<br />

bitová „slova“ a ty poté vhodně doplní bitovou šifrou, tak aby všechna slova měla<br />

shodnou velikost. V poslední době se nejvíce používá šifrování 64 bitů 128 bitů, a již<br />

se začaly objevovat služby, které vyžadují šifrování pomocí 256 bitů. [12]<br />

2.1 Proudové šifry<br />

Termín proudová šifra používají různí autoři rozdílným způsobem. Mnozí hovoří<br />

o slovových, případně písmenných proudových šifrách. U nich je text šifrován slovo<br />

po slovu (nebo písmeno po písmeni), přičemž pravidlo pro šifrování jednotlivých<br />

slov (písmen) se řídí jeho pozicí ve zprávě. Tato definice lze použít např. na<br />

Vigenérovu šifru nebo na jednorázovou tabulku. Nejznámějším historickým<br />

příkladem je slavná šifra Enigma. Ovšem nejčastější moderní použití termínu<br />

proudová šifra se vztahuje na šifry, u nichž je otevřený text šifrován jeden bit<br />

po druhém. Je zřejmé, že s libovolným bitem se mohou stát jenom dvě věci: buď se<br />

jeho hodnota změní nebo zůstane beze změny. Vzhledem k tomu, že bit může mít<br />

21


jenom dvě různé hodnoty, změna bitu znamená jeho nahrazení bitem s opačnou<br />

hodnotou. Navíc platí, že změní-li se bit dvakrát, vrátí se do původního stavu.<br />

Obrázek 7: Přístroj Enigma, www.google.com<br />

Jestliže útočník ví, že byla použita proudová šifra, stojí před úkolem zjistit, na jakých<br />

pozicích se bity změnily a následně jim musí vrátit jejich původní hodnoty. Jestliže<br />

je v kryptogramu jednoduše patrný vzorec změněných bitů, pak má útočník poměrně<br />

snadnou práci. Polohy změněných bitů tedy musí být pro nepovolané osoby<br />

nepředvídatelné ale oprávněný příjemce je musí (jak je tomu u šifer vždy)<br />

identifikovat velice snadno.<br />

U proudových šifer si můžeme šifrovací proces představit jako posloupnost<br />

následujících operací: změny a ponechání původního stavu. Tuto posloupnost určuje<br />

šifrovací klíč a bývá často nazývána posloupností hesla nebo krátce heslo. Pro<br />

zjednodušení se můžeme dohodnout na tom, že 0 znamená „ponechat původní stav“<br />

a 1 znamená „změnit“. Nyní se nacházíme ve fázi, kdy otevřený text, šifrový text<br />

i proudový klíč máme jako binární řetězce.<br />

Abychom tento popis trochu lépe objasnily, předpokládejme, že máme otevřený text<br />

1110101 a heslo je 1000110. Protože 1 v hesle znamená, že se má bit v otevřeném<br />

textu na dané pozici změnit, vyměníme hodnotu u bitu v otevřeném textu, jenž se<br />

nachází úplně vlevo ale další bit ponecháme, tak jak je. Opakováním tohoto pravidla<br />

nám vyjde tento šifrovaný text 0110011. Již jsme se zmínili o tom, že dvojitou<br />

změnou bitu mu vrátíme jeho původní hodnotu. Z toho vyplývá, že dešifrovací<br />

proces je shodný se šifrovacím, heslo tedy slouží i dešifrování.<br />

22


Ve výše uvedeném postupu jsme kombinovali dvě binární sekvence a vznikla nám<br />

sekvence třetí. Řídili jsme se přitom pravidlem, jenž šlo v našem případě definovat<br />

jako „je-li na nějaké pozici ve druhém řetězci 1, poté je nutné změnit bit na<br />

odpovídajícím místě v řetězci prvním“.<br />

Existuje mnoho oblastí pro, něž jsou proudové šifry takřka optimálním řešením.<br />

Jedním z důvodů je, že pokud dojde k nesprávnému příjmu některého bitu<br />

šifrovaného textu, definuje se špatně pouze tento jeden bit, protože každý bit<br />

otevřeného textu je určen jen jedním bitem textu šifrového. Touto vlastností se<br />

proudové šifra liší od šifer blokových, kde má jeden špatně přijatý bit za následek<br />

špatné definování celého bloku. Tato vlastnost „malé propagace chyby“ dešifrovacím<br />

algoritmem je nezbytná, pokud je šifrový text vysílán po kanálu s vysokou hladinou<br />

šumu. Proto se proudové šifry používají například pro šifrování digitalizované řeči<br />

na mobilních sítích GSM. Další výhodou proudových šifer oproti blokovým je<br />

rychlost a nenáročná implementace. [1]<br />

• FISH<br />

• RC4 - (Rivest Cipher 4) Klíč má proměnlivou délku. šifra je streamová - nemá<br />

jednoznačně určenou délku bloku.<br />

Kromě problému s bezpečným předáním klíče, je toto šifrování nebezpečné také tím,<br />

že používaný klíč je bezpečný do té doby, dokud jej nemá ještě někdo jiný –<br />

v nejhorším případě například stovky osob. A pokud bychom chtěli mít pro každou<br />

komunikaci jiný klíč musíme mít klíčů opravdu hodně. [12]<br />

23


2.2 Blokové šifry<br />

U blokových šifer je bitový řetězec rozdělen do bloků o pevné délce. Šifrovací<br />

algoritmus se aplikuje přímo na takovýto blok, čímž vznikne blok kryptogramu,<br />

jehož velikost je stejná. (Alespoň u většiny symetrických šifer)<br />

Blokové šifry mají širokou škálu využití. Dokáží nabídnout vysokou míru<br />

zabezpečení, integritu dat či ověření uživatele a dokonce mohou složit jako<br />

generátory hesel pro proudové šifry. Ovšem stejně jako u proudových šifer se zde jen<br />

obtížně stanovuje přesná míra zabezpečení. Horní hranici kryptografické síly<br />

algoritmu určuje velikost klíče. Již u jednoduchých substitučních šifer jsme ale<br />

zjistili, že vysoký počet klíčů není žádnou zárukou skutečné síly. Jestliže je<br />

u symetrických algoritmů nejjednodušším typem útoku, útok hrubou silou, říkáme<br />

o nich, že jsou dobře navržené. Ovšem jestliže je počet klíčů příliš nízký, může být<br />

algoritmus navržen dobře a přesto jej půjde snadno prolomit.<br />

Navrhování silných šifrovacích algoritmů je velice specializovaná činnost. Přesto<br />

existuje několik zásadních prvků, které by měla každá silná bloková šifra mít.<br />

Jestliže útočník získal odpovídající dvojici otevřeného a šifrového textu a nezná klíč,<br />

neměl by mít možnost snadno odvodit, který šifrový text odpovídá danému bloku<br />

textu otevřeného. Algoritmus, jehož výsledkem je předvídatelná změna v šifrovém<br />

textu, tuto podmínku například nesplňuje. To je jedním z důvodů proč by měli mít<br />

blokové šifry tzv. vlastnost difúze, což znamená, že i malá změna v otevřeném textu<br />

– například na jedné či dvou pozicích – má za následek nepředvídatelné změny<br />

v šifrovém textu.<br />

Pokud útočník použije útok silou je možné, že během takovéhoto hledání vyzkouší<br />

klíč, který se od toho správného liší jen na několika málo pozicích. Pokud by<br />

útočníkovy cokoliv naznačilo, že použil například klíč, který se od původního řetězce<br />

lišil jenom na jediné pozici, přestal by s kompletním vyhledáváním a místo toho by<br />

jen u tohoto klíče zkoušel měnit jednu pozici po druhé. To by výrazně snížilo čas<br />

potřebný pro hledání klíče. Což je další věc, kterou si rozhodně nepřejeme. Součástí<br />

blokové šifry by tedy měla být i vlastnost konfúze, jež lze shrnout jako požadavek,<br />

aby útočníkovi při hledání klíče nic nenaznačovalo, že už „přihořívá“.<br />

Pokud útočník může zjišťovat jednotlivé části klíče bez ohledu na jeho zbytek,<br />

říkáme, že provádí útok „rozděl a panuj“. Aby něco takového nebylo možné,<br />

24


vyžadujeme po šifře „úplnost“, teda aby se každá část šifrovaného textu nějak<br />

odvíjela od každé části klíče.<br />

Významnou součástí procesu vyhodnocováni blokových šifer je kromě zmíněných tří<br />

je i statistické testování. To ostatně hraje roli při analýze všech symetrických šifer.<br />

Nejjednodušším a pravděpodobně také nejpřirozenějším způsobem použití blokové<br />

šifry na dlouhou zprávu je rozdělení binární sekvence do bloků o příslušné délce<br />

a následné samostatné šifrování každého bloku nezávisle na ostatních. V takovém<br />

případě říkáme, že je používán mód elektronické kódové knihy neboli ECB. Jestliže<br />

je zvolen klíč a vy se rozhodnete pro použití módu ECB, budou poté shodné bloky<br />

původní zprávy zašifrovány do shodných bloků kryptogramu. Nebezpečí hrozí,<br />

jestliže útočník získá odpovídající dvojici šifrového textu a otevřeného textu, dokáže<br />

pak najít ve zprávě tentýž blok otevřeného textu jednoduše tím, že vyhledá známý<br />

blok textu šifrového. Z tohoto pohledu se mu rozhodně vyplatí obětovat trochu času<br />

a vybudovat si slovník známých dvojic bloků otevřeného a šifrového textu. Navíc je<br />

zřejmé, že jestliže se ve zprávě objevuje jeden a tentýž blok, promítnou se tyto bloky<br />

i do výsledného kryptogramu. To je jedním z důvodů proč bychom měli používat<br />

poměrně velké bloky, například po čtyřiašedesáti bitech, což odpovídá osmi<br />

písmenům. Použití ECB má ještě jednu možnou nevýhodu, kterou si ukážeme<br />

na následujícím příkladu.[1]<br />

Představme si, že k zašifrování zprávy The price is four thousand pounds. Byla<br />

použita neznámá bloková šifra s neznámým klíčem. Víme jen to, že se zpráva skládá<br />

ze dvoupísmenných bloků, že mezery a interpunkce byly odstraněny a kryptogram<br />

zní:<br />

C 1 ,C 2 ,C 3 ,C 4 ,C 5 ,C 6 ,C 7 ,C 8 ,C 9 ,C 10 ,C 11 ,C 12 ,C 13 ,C 14 .<br />

Předpokládejme, že útočník zprávu zná. V takovém případě si snadno odvodí, že C 1<br />

zastupuje th, C2 zastupuje ep, atd. Poté upraví zprávu tak, že ji poskládá jen<br />

do bloků:<br />

C 1 ,C 2 ,C 3 ,C 4 ,C 5 ,C 6 ,C 7 ,C 12 ,C 13 ,C 14 .<br />

Příjemce použije na kryptogram dešifrovací algoritmus se správným klíčem a získá<br />

zprávu The price is four pounds. Protože dešifrování proběhlo v pořádku a zpráva<br />

dává smysl, nemá příjemce žádný důvod pojmout podezření, že bylo s kryptogramem<br />

manipulováno. A tak se domnívá, že uvedená cena je správná.<br />

25


Všem těmto potencionálním rizikům vyplývajícím z blokových šifer v ECB módu<br />

lze předejít tím, že při šifrování bude každý blok nějakým způsobem provázaný<br />

s blokem předešlým. V takovém případě vzniknou ze stejných bloků otevřeného<br />

textu jiné bloky textu šifrového a manipulace s kryptogramem bude mít za následek,<br />

že zpráva po dešifrování nebude dávat smysl. Lze toho docílit dvěma běžnými<br />

způsoby. Říká se jí zpětná vazba (cipher feed-back, mód CFB) a řetězení šifrových<br />

bloků (cipher block chaining, mód CBC). [1]<br />

2.2.1 Typy blokových šifer<br />

• AES – (Advanced Encryption Standard) – Vytvořila ji americká vláda za<br />

účelem šifrování svých dokumentů Velikost klíče může být 128, 192 nebo<br />

256 bitů – prozatím nebyla prolomena.<br />

• Blowfish - Šifra je dílem B. Schneierem a poprvé byla zveřejněna roku<br />

1994. jde o šifru s velikostí bloku 64 bitů a délkou klíče nejvýše 448b (tj.<br />

56B). Autor tuto šifru vytvořil jako neplacenou nelicencovanou alternativu<br />

k DES, avšak na rozdíl od DES, dodnes nebyla prolomena.<br />

• DES – byla vyvinuta v sedmdesátých letech a je považována za<br />

nedostatečnou neboť používá pouze 56 bitů pro šifrování – šifru je metodou<br />

brute force možné rozlousknout přibližně za 24 hodin standardním<br />

počítačem dnešní doby.<br />

• Triple DES – rozšířená verze nejpoužívanější 3TDES – používá klíč o délce<br />

168 bitů je tak bezpečnější než klasický DES, avšak taky o dost pomalejší –<br />

více než AES 256 bitů<br />

• GOST - Šifra používající 64-bitový blok a 256-bitový klíč. Navržena<br />

v Sovětském Svazu.<br />

• IDEA - šifra používající bloky o 64 bitech a 128-bitový klíč. Považována za<br />

jeden z nejsilnějších algoritmů. Patentovaná do roku 2010 – 2011. Jde<br />

o jednu z nejlepších šifer.<br />

• RC2 - ( Rivest Cipher 2 ) šifra o délce bloku 64-bitů, klíč má proměnlivou<br />

délku. Obchodní tajemství RSA, SDI.<br />

26


• RC5 ( Rivest Cipher 5 ) Bloková šifra s množstvím argumentů jako délka<br />

bloku, délka klíče nebo počet iterací šifrování nad jedněmi daty.[12]<br />

2.3 Používání symetrických algoritmů k autentizaci<br />

a ověření integrity dat<br />

Autentizace a ověření integrity dat lze docílit i pomocí symetrické kryptografie.<br />

Existují dva druhy autentizace: jednosměrná, kdy se jeden uživatel prokazuje<br />

druhému, a oboustranná autentizace, při které se oba uživatelé prokazují sobě<br />

navzájem. Příkladem jednostranné autentizace je používání magnetických karet<br />

v bankomatech. Bankomat kartu kryptograficky ověří za použití vašeho PIN. Majitel<br />

karty se ovšem musí při ověřování pravosti bankomatu spoléhat na nekryptografické<br />

prostředky, jako je například jeho poloha a design. Dalším příkladem jednostranné<br />

autentizace je přihlašován do počítače. K autentizaci dojde správným použitím klíče<br />

v algoritmu. Tento systém spoléhá na to, že nebude nikomu prozrazen.<br />

Integrity dat ve zprávě lze docílit pomocí autentizačního algoritmu a tajného klíče.<br />

Autentizační algoritmus přijme jako vstupní data zprávu a smluvený klíč a následně<br />

vypočítá jako výstup autentizací hodnotu. Ta je krátkým bitovým řetězcem, jehož<br />

hodnota se odvíjí od použitého autentizačního algoritmu zprávy a smluveného klíče.<br />

Obrázek 8: Ověřování za pomoci symetrické autentizace<br />

Pokud chce uživatel A poslat zprávu uživateli B, přiloží ke zprávě autentizací<br />

hodnotu. B přijme zprávu i autentizací hodnotu. Poté spočítá výstup autentizačního<br />

algoritmu, jehož výstupem bude zpráva od uživatele A a smluvený tajný klíč. Jestliže<br />

27


je tento výstup shodný s autentizační hodnotou, kterou poslal A, bude mít B jistotu,<br />

že zprávu od A nikdo nezměnil. Funkce tedy ověřuje, jak integritu dat, tak<br />

i totožnost.<br />

Důležitým aspektem tohoto autentizačního procesu je, že odesilatel i příjemce<br />

provádějí přesně ty samé propočty. Proto si musejí A i B navzájem důvěřovat. Sdílejí<br />

stejný klíč a spoléhají se na to, že pozměňování obsahu zprávy předejdou<br />

uchováváním tohoto klíče v tajnosti. Nehledají ochranu jeden před druhým. [1]<br />

28


3 Asymetrické metody šifrování<br />

Jako takové vzniklo v roce 1975 díky dvou lidem, kteří ji vyvinuli a to Whitfield Diff<br />

a Martin Hellman. Asymetrické šifrování využívá dvojice klíčů a to veřejný<br />

a soukromý. Veřejný jak už z jeho názvu vyplývá je přístupný všem, dále soukromý<br />

je dostupný jen tomu, kdo má právo šifrovanou zprávu odšifrovat. Tyto klíče je třeba<br />

vygenerovat na začátku komunikace. Veřejný umístím buďto na server dostupný<br />

lidem, kteří tento klíč budou používat pro šifrování anebo jej poslat přímo těmto<br />

lidem, některou z dostupných elektronických cest. Hlavní výhodou asymetrického<br />

šifrování je, že klíče soukromé jsou dostupné pouze majitelům těchto klíčů. Za<br />

nejvýznamnější systémy jmenujme tři zástupce - Elgamal (autorem Tahela<br />

Elgamala), RSA (Autory - Ron Rivest, Adi Shamir, Leonard Adleman, Diffie-<br />

Hellman) a nakonec DSA (Digital Signature Algorithm jehož autorem je David<br />

Kravitz)[12]<br />

Odesilatel posílající příjemci zprávu (šifrovaně) si vyžádá Váš veřejný šifrovací klíč,<br />

tímto zprávu zašifruje, a takto zašifrovanou ji pošle Vám. Vy jakožto jediný vlastník<br />

svého privátního klíče zprávu odšifrujete – ale nikdo jiný s jiným šifrovacím<br />

privátním klíčem již ne – pokud se o to pokusí – vypadne mu po dešifrování holý<br />

nesmysl ve formě nespecifikovaného shluku znaků.<br />

Šifrovací metoda RSA je zatím jedna z nejrozšířenějších, používá Fermatovu větu<br />

a modulární aritmetiku. Jde o část matematiky, která se zabývá zbytky po dělení<br />

celých čísel. Síla této šifry spočívá v tom, že dosud nebyla objevena metoda, jak<br />

rozložit velká čísla na prvočísla - faktorizace. V danou chvíli není ani zcela jisté zda<br />

je vůbec možné takovouto metodu objevit. Pokud se tak ovšem stane, bude tato šifra<br />

nepoužitelná.<br />

Základní myšlenkou kryptografických systémů veřejných klíčů je, že každá<br />

zúčastněná strana má veřejný klíč a odpovídající soukromý klíč. Ty jsou zvoleny tak,<br />

aby odvození soukromého klíče z klíče veřejného bylo prakticky nemožné.<br />

U systémů veřejných klíčů jsou algoritmus i šifrovací klíče veřejné. Útočník tedy<br />

stojí před úkolem dešifrovat zprávu z kryptogramu vytvořeného metodou, kterou<br />

zná. Šifrovací proces tedy musí být zvolen velice pečlivě, aby to útočník neměl nijak<br />

snadné. Současně ovšem nesmíme zapomínat na to, že dešifrování musí být pro<br />

29


oprávněného příjemce jednoduché. Celý proces tím pádem musí být nastaven tak,<br />

aby k získání zprávy z kryptogramu postačovala znalost dešifrovacího klíče.<br />

Takovýto koncept je náročný a nikterak samozřejmý. Častá otázka zní: „Jestliže<br />

každý ví, jakým způsobem jsem dostal kryptogram, co brání v tom, aby z něj dostali<br />

původní zprávu?“ Odpověď nám dá následující nematematický příklad.<br />

Představme si, že jsme v zavřené místnosti bez telefonní linky a dostanete pražský<br />

telefonní seznam. Když Vám pak někdo dá jméno a adresu a chce zjistit telefonní<br />

číslo je náš úkol jednoduchý. Ovšem jestliže dostanete náhodně zvolené telefonní<br />

číslo a my k němu máme dohledat jméno a adresu, pak se máme co otáčet. Problém<br />

není v tom, že by jsme nevěděli, co dělat. Teoreticky můžeme začít na první stránce<br />

a číst jedno číslo za druhým tak dlouho, dokud nenarazíte na to pravé. Jenže háček<br />

vězí v tom obrovském množství námahy, jež je s tím spojeno. Představíme-li si tedy<br />

zprávu jako „jméno a adresu“, kryptogram jako „telefonní číslo“ a dešifrovací proces<br />

jako „najdi správné číslo“, pak se nám zadání původního úkolu – alespoň pro<br />

pražský telefonní seznam – splnit podařilo.<br />

Většina v praxi využívaných algoritmů s veřejnými klíči jsou blokové šifry, jež se<br />

zprávou zacházejí jako se zprávou složenou z velkých celých čísel, přičemž<br />

bezpečnost jim zaručuje obtížnost řešení daného matematického problému.<br />

Nejznámější šifrou se už výše popsaná šifra RSA. Matematickým problémem<br />

spojeným s šifrou RSA je rozklad na prvočinitele. Máme veřejně známé číslo N, jež<br />

je násobkem dvou prvočísel, která jsou tajná. Tato čísla jsou velice důležitá, protože<br />

ten, kdo je zná, může s jejich pomocí vypočítat z veřejného klíče klíč soukromý.<br />

Číslo N, jež určuje velikost bloku zprávy, tedy musí být dost velké na to, aby je<br />

útočník nedokázal rozložit na příslušná prvočísla. Jestliže by toto N bylo malé,<br />

dokázal by rozklad provést kdokoliv. Velice snadným příkladem může být N =15,<br />

kde jsou prvočísly 3 a5. Obecně se však má za to, že jestliže je N dostatečně velké je<br />

hledání prvočísel prakticky nemožné. Číslo N určuje velikost bloku i klíče.<br />

Z toho vyplívá, že velikost bloků i klíčů bývá mnohem větší, než je tomu<br />

u symetrických šifer. Zatímco u těch je běžná velikost bloku 64 nebo 128 bitů,<br />

u RSA narazíte minimálně na bloky o velikosti 640 bitů a žádnou výjimkou nejsou<br />

ani bloky s 1024 nebo 2048 bity. Dalším důsledkem je, že šifrovací i dešifrovací<br />

procesy zahrnují mnoho výpočtů s velkými čísly. Jsou proto o poznání pomalejší,<br />

30


než je tomu u symetrických šifer. Jen zřídka se tedy používají k šifrování velkých<br />

objemů dat, ale nacházejí uplatnění spíš pro digitální podpisy nebo pro šifrování<br />

klíčů symetrických algoritmů, aby je bylo možné následně bez obav distribuovat<br />

nebo ukládat.<br />

Dalším široce rozšířeným algoritmem veřejných klíčů je El-Gamal, který je<br />

základem amerického standardu pro digitální podpisy (DSS). U systému El Gamal,<br />

jsou velikosti klíčů obdobné jako u RSA, ale jeho bezpečnost se odvíjí od obtížnosti<br />

jiného matematického problému, známého jako diskrétní logaritmus. El Gamal však<br />

má jisté vlastnosti, kvůli kterým se pro šifrování jako takové příliš nehodí. [1]<br />

3.1 Útoky na systémy s veřejnými klíči<br />

U asymetrických algoritmů jsou klíče delší než u algoritmů symetrických. To ovšem<br />

ještě neznamená, že asymetrické algoritmy musejí být zákonitě silnější. Nebývají<br />

totiž napadány útoky hrubou silou, protože je jednodušší se zaměřit na útok na<br />

matematický problém, na němž je algoritmus postaven. Například u RSA je snazší<br />

najít dělitele pro modulo N, než vyzkoušet všechny možné dešifrovací klíče.<br />

Abychom si ukázali, jak současný vývoj v matematice ovlivnil kryptografii<br />

veřejných klíčů, soustředíme se na RSA a rozklad na prvočinitele. Podobně bychom<br />

se ovšem mohli podívat i na jiné systémy veřejných klíčů, jež jsou vystaveny na<br />

jiném matematickém problému.<br />

Zpracování rozkladu na prvočinitele (faktorizace) prošlo během posledních 30 let<br />

ohromným vývojem. Vděčí za to pokroku jak na poli teoretickém, tak na poli<br />

technologickém. V roce 1970 bylo rozloženo na dvě prvočísla devětatřiceticiferné<br />

číslo (2 128 +1). V té době byl podobný počin považován za něco úžasného. Když byla<br />

roku 1978 poprvé publikována šifra RSA, byla jako součást studie zveřejněna<br />

i soutěž o rozklad 128 ciferného čísla, přičemž vypsaná odměna měla hodnotu<br />

100 dolarů. Jednalo se první takto navrženou odměnu – podobných projektů byla<br />

později celá řada. Požadované číslo bylo rozloženo na činitele až roku 1994, kdy se<br />

do <strong>práce</strong> zapojila celosvětová počítačová síť.<br />

Při rozhodování o délce klíčů pro RSA je nutné vzít v potaz nejen Moorův zákon, ale<br />

také možný vývoj faktorizačních technik. Moorův zákon říká, že každých 18 měsíců<br />

se výkon počítačů zdvojnásobí, aniž by se nějak změnila jejich cena. Pro ilustraci<br />

můžeme uvést dramatický dopad nové matematické metody známé jako obecné síto<br />

31


číselných polí (GNFS) publikované roku 1993. Díky této metodě bylo možné zdroje<br />

určené pro rozklad čísla o určité velikosti využít k faktorizaci výrazně větších čísel.<br />

Například zdroje, jež byly dříve zapotřebí pro rozklad čísla o 150 cifrách, nyní stačí<br />

k rozkladu čísla o skoro 180 cifrách. Tento pokrok v matematice výrazně převyšuje<br />

vliv technologického vývoje předpovídaného pro mnoho let dopředu.<br />

Díky této metodě bylo roku 1999 rozloženo 155 ciferné číslo RSA-512. Faktorizace<br />

trvala méně než 8 měsíců a opět se na ní podílela celosvětová počítačová síť. Pro<br />

ilustraci matematické složitosti tohoto problému uveďme, že v závěrečné fázi byla<br />

řešena soustava šesti miliónů rovnic! Následovala soutěž publikovaná v Knize kódů<br />

a šifer, ve které šlo také o faktorizaci 512bitového modula. Tyto rozklady na činitele<br />

mají velký význam, protože modula této velikosti (155 cifer či 512 bitů) byla ještě<br />

před několika lety běžně používaná v kryptografii veřejných klíčů.<br />

V současné době se doporučuje, aby se velikost modula RSA pohybovala v rozmezí<br />

640 – 2048 bitů v závislosti na potřebném stupni zabezpečení. Číslo o 2048 bitech<br />

má v desítkové soustavě 617 cifer. Abych demonstroval o jak ohromné číslo se jedná<br />

přikládám číslo o uvedené velikosti. Sláva a peněžní výhra v hodnotě 200 000 dolarů<br />

čekají na toho, kdo jako první dokáže rozložit na prvočíselné činitele např. číslo:<br />

25195910236225489788452130212365966985474120023154812917541895162458<br />

91023032178902305148956230154785489562312222003204080090788485598352<br />

51489785589526659845784522125587896231012365478952336598477894100023<br />

06059850147949569879452156311647894562123015489547859595455505120605<br />

98502147878925195910236225482519591023622548978845213021236596698547<br />

41200231548129175418951624589102303217890230514895623015478548956231<br />

22220032040800907884855983525148978558952665984578452212558789623101<br />

23654789523365984778941000230605985014794956987945215631164789456212<br />

30154895478595954555051206059850214787892519591023622548123659800187<br />

73740<br />

Jak jsem se už zmiňoval o útocích hrubou silou, rád bych zmínil možný vliv<br />

kvantových počítačů. Ačkoliv by kvůli nim jistě muselo dojít k dramatickému<br />

nárůstu délky symetrických klíčů, těžko si představit, že by se tomu kryptografie<br />

nepřizpůsobila a, že by se symetrické algoritmy přestaly používat. U veřejných klíčů<br />

32


y situace mohly být jiná. Pro tyto systémy by totiž kvantové počítače představovali<br />

mnohem větší hrozbu. Například rozklad na prvočinitele by byl o poznání<br />

jednodušší. Naštěstí ani největší nadšenci pro kvantové počítače nepředpokládají, že<br />

by se tyto počítače začali šířeji používat dříve než za 20 let. [1],[12]<br />

3.2 Hashovací funkce<br />

Kryptografie je často používána i v oblastech, kde není požadována schopnost<br />

odvodit znění původní zprávy z jejího zašifrovaného tvaru. Dokonce se může<br />

vyskytnout i požadavek, aby něco takového bylo nemožné. Jako příklad může sloužit<br />

třeba ukládání hesla v počítači. Je-li heslo někde v počítači uloženo, konkrétně třeba<br />

v databázi sloužící pro ověření identity uživatele, musí být použit nějaký druh<br />

ochrany. Základním požadavkem je pak v tomto případě zjistit, zda bylo heslo při<br />

přihlašování zadáno správně. Už však není zapotřebí získat z databáze samotné znění<br />

tohoto hesla.<br />

Kryptografie je také často používána v případech, kdy je zapotřebí zhustit dlouhou<br />

zprávu do krátkého řetězce. V takových případech se nelze vyhnout tomu, aby více<br />

takovýchto zpráv nemělo stejný ekvivalent v podobě kratšího bitového řetězce.<br />

Z toho přímo vyplívá, že zmíněný proces je nevratný. Těmto funkcím se říká<br />

hashovaní funkce a v závislosti na konkrétním typu použití mohou či nemusejí<br />

používat kryptografické klíče.<br />

Základní princip hashovacích funkcí spočívá v tom, že výsledná hashovaní funkce je<br />

zhuštěným otiskem, který zastupuje původní zprávu. Hashovacím hodnotám se říká<br />

různě, například digitální otisk nebo prostě hash. Hashování nachází spoustu různých<br />

uplatnění, například při kontrole integrity dat nebo jako součást schémat digitálního<br />

podpisu.<br />

Obecně řečeno, hashovaní funkce přijímají vstupní dat o libovolné délce, ale<br />

výstupem je řetězec o délce pevně stanovené. Jestliže se objeví dva vstupy, jejichž<br />

výstup je stejný, došlo k takzvané kolizi. Existence kolizí je nevyhnutelná. Chceme-li<br />

tedy jednoznačně identifikovat zprávu pomocí jejího digitálního otisku, musíme<br />

hashovaní funkci zvolit velice rozvážně.<br />

33


3.3 Digitální podpisy<br />

Používání asymetrických algoritmů bývá v praxi omezeno na ochranu symetrických<br />

klíčů a na zajišťování digitálních podpisů. Jestliže je zapotřebí řešit také rozpory<br />

mezi odesilatelem a příjemcem ohledně obsahu zprávy nebo jejího původu, pak nám<br />

symetrická kryptografie nemůže postačovat. Je nutné Použít digitální podpis.<br />

Digitální podpis zprávy od odesilatele je kryptografický řetězec, jehož hodnota se<br />

odvíjí jak od obsahu zprávy, tak od samotné osoby odesilatele. Oproti tomu běžný<br />

podpis je vázán jen na osobu odesilatele a je pro každou zprávu stejný. Digitální<br />

podpis zajišťuje integritu dat a zároveň je i nezpochybnitelným důkazem původu<br />

zprávy. Příjemce si jej může nechat, jako důkaz pro případné urovnání následných<br />

sporů, například pokud by odesilatel chtěl popřít obsah zprávy nebo to, že ji vůbec<br />

poslal. Právě tato schopnost rozhodovat spory mezi odesilatelem a příjemcem je<br />

hlavním rozdílem mezi digitálním podpisem a procesem symetrické autentizace,<br />

který jsem zmiňoval výše. Asymetrické kryptosystémy představují pro digitální<br />

podpisy naprosto ideální řešení.<br />

Základní princip digitálních podpisů založených na systémech veřejných klíčů, jako<br />

je například RSA nebo El-Gamal, je velice prostý. Každý uživatel má vlastní<br />

soukromí klíč, který může používat výhradně on sám a jeho použití jej tedy<br />

jednoznačně identifikuje. Navíc zde ovšem existuje ještě odpovídající veřejný klíč.<br />

Každý kdo jej zná, si může ověřit, že byl použit odpovídající soukromí klíč, ale jeho<br />

podobu již nezjistí.<br />

Informace, že byl použit soukromí klíč, dává příjemci jistotu jak o původu zprávy,<br />

tak i o bezpečnosti jejího obsahu. Odesilatel zároveň nemusí mít obavy z toho, že by<br />

jeho soukromí klíč (neboli podpisový klíč) někdo s pomocí veřejného (neboli<br />

ověřovacího) klíče napodobil.<br />

34


Obrázek 9: Digitální podpisy<br />

Zpracování asymetrické kryptografie je velice náročné na výpočetní kapacitu. Proto<br />

je pomocí hashovaní funkce obsah zkrácen do zredukované (hashovaní) podoby.<br />

Podpis pak vzniká z hashe (jenž představuje obsah zprávy) požitím asymetrického<br />

algoritmu se soukromím klíčem. Podpis tedy může vytvořit pouze majitel<br />

soukromého klíče, ale ověřit jej může každý, kdo zná odpovídající klíč veřejný. Pro<br />

tento účel vznikne prostřednictvím asymetrického algoritmu s veřejným klíčem<br />

z podpisu hodnota. Ta by měla být hashovacím kódem zprávy, jejž si může spočítat<br />

naprosto kdokoliv. Pokud je tato hodnota shodná s hashem, je podpis přijat jako<br />

pravý. Jsou-li rozdílné, je podpis falešný. [1],[12]<br />

35


4 Kvantová kryptografie<br />

Zatímco v klasické kryptografii se používají nejrůznější matematické metody, aby se<br />

útočníkům zamezilo zjištění obsahu přenášené zprávy, kvantová kryptografie k tomu<br />

používá zákony fyziky, konkrétně kvantové chování jednotlivých fotonů světla. To<br />

zajišťuje, že informace přenášená fotony se při jakémkoli odposlechu změní<br />

a jakýkoli útok pak lze snadno detekovat. Úspěšný odposlech přitom útočníkovi<br />

neposkytne dostatek informací pro efektivní narušení bezpečnosti.<br />

Kvantová kryptografie se proto výhodně používá pro distribuci klíčů, neboť tok<br />

jednotlivých fotonů umožňuje spolehlivé a bezpečné vytvoření tajného klíče mezi<br />

dvěma stranami.<br />

„Kvantovost“ kvantové kryptografie spočívá ve způsobu přenosu klíče. Jako abeceda<br />

pro přenos klíče se používá kvantových stavů jedné částice (například fotonu).<br />

Jakýkoliv pokus o odposlech ovlivní podstatným způsobem stav částí, a může být<br />

proto odhalen. Pokud je zjištěn odposlech, klíč se prostě nepoužije.<br />

Odesílatele budeme označovat jako Alice a příjemce Bob. Alice a Bod si chtějí<br />

vyměnit tajný klíč prostřednictvím přenosového kanálu, který může být dostupný<br />

k odposlechu třetí osobou, která bývá označována jako Eva (podle anglického slova<br />

„eavesdropper“ = tajně naslouchající).<br />

Klíč je reprezentován bitovým řetězcem, posloupností nul a jedniček. Možná<br />

varianta kvantové kryptografie používá lineárně polarizované fotony a jeho schéma<br />

je na prvním obrázku. Binární znaky budou 0 a 1 budou kódovány do dvou stavů<br />

fotonů se vzájemně kolmými polarizacemi. Alice a Bob se musí domluvit, jaké<br />

směry polarizace zvolí, tedy jaké použijí polarizační báze. Pokud tomu tak je, potom<br />

je chování fotonů na polarizačním hranolu jednoznačné. Fotony, které jsou<br />

polarizovány v jednom směru, jsou odkloněny na jiný detektor, než ty, co jsou<br />

polarizovány ve směru na něj kolmém. Pokud by polarizační báze byli odlišné, byl<br />

by foton odkloněn náhodně na první či druhý detektor.<br />

36


Obrázek 10: – schéma kvantového přenosu informace<br />

Pokud by Eva chtěla provést odposlech, nemůže to být odposlech pasivní, ale musí<br />

stejně jako Bob změřit polarizaci přicházejícího fotonu, a navíc poslat stejně<br />

polarizovaný foton Bobovi. Eva ale neví, jakou polarizační bázi Alice a Bob<br />

používají. Pokud použije odlišnou bázi, vnese do komunikace s určitou<br />

pravděpodobností chybu, a pokud Alice a Bob své měření porovnají, mohou zjistit,<br />

že jsou odposloucháváni.<br />

Co když ale Eva používá správnou polarizační bázi (třeba náhodou)? To by pak<br />

zůstala neodhalena. Proto musí Alice a Bob na sobě nezávisle a náhodně měnit<br />

polarizační bázi (buď + nebo ×). Po přenosu si veřejným kanálem vymění informaci,<br />

v jakých polarizačních bázích, kdy pracovali, a ponechají si jen ty bity, pro než<br />

použili stejné báze (jen mohly být správně detekovány).<br />

Postup:<br />

1. Alice a Bob se dohodnou, které dvě polarizační báze (vzájemně otočené o 45˚) a na<br />

tom, co bude znamenat jedničku a co nulu.<br />

2. Alice pak generuje náhodné bity pro klíč a náhodně volí polarizační báze, Bob také<br />

volí náhodně polarizační báze nezávisle.<br />

3. Pak si sdělí (pomocným komunikačním kanálem), které polarizační báze používali<br />

(jen báze, ne konkrétní polarizace) a ponechají si bity, pro které použili stejné báze.<br />

Nejdříve Bob pošle Alici své báze a ona mu pošle, které byly zvoleny stejně.<br />

4. Bob vybere náhodně některé bity a ty obětuje k odhalení Evy. Pošle je Alici, která<br />

potvrdí, zda je má stejné. Pokud by Eva poslouchala, nastane odchylka.<br />

5. Zbylé bity tvoří klíč.<br />

Jedinou slabinou je komunikace po veřejném kanále. Aby se Eva nemohla vydávat<br />

Alici za Boba a naopak, je potřeba provést autentizaci. K tomu potřebují na začátku<br />

jisté malé množství tajných informací, které slouží jako počáteční heslo. Toto heslo<br />

37


se bude pro každou novou komunikaci nahrazovat novým, získaným z části<br />

přeneseného klíče.<br />

Myšlenka využít zákony kvantové mechaniky v kryptografii se poprvé objevila<br />

v sedmdesátých letech u Stephena Wiesnera, ale publikována byla až v roce 1983.<br />

První použitelné schéma vytvořili Charles Bennet a Gilles Brassard. Je to schéma, co<br />

bylo vyloženo v tomto textu a je označováno podle jmen autorů jako BB84. První<br />

pokus uskutečnili v roce 1989. V tomto pokusu byla vzdálenost mezi příjemcem<br />

a odesílatelem pouze 32 cm. Od té doby prodělává tato metoda bouřlivý vývoj a byly<br />

vykonány pokusy s optickými vlákny na vzdálenosti desítek kilometrů. Jedinou<br />

špatnou vlastností je dosahovaná přenosová rychlost, která činí pouze jednotky až<br />

desítky bitů za sekundu.<br />

V naší republice se podobné zařízení nachází v Olomouci na pracovišti Univerzity<br />

Palackého a Fyzikálního ústavu Akademie věd. Tento pouze laboratorní přístroj<br />

nepoužívá kódování pomocí polarizačních stavů fotonu, ale fázové kódování. Místo<br />

měnění dvou polarizačních bází, mění Alice a Bob pro každý foton vzdálenost svého<br />

ramene interferometru. Vše ostatní je stejné, jak bylo popsáno. Jako kvantový kanál<br />

bylo použito optické vlákno, po němž se posílaly zeslabené světelné pulzy<br />

generované polovodičovým laserem. Toto vlákno bylo dlouhé pět set metrů.<br />

[13],[14]<br />

4.1 Systém kvantové kryptografie<br />

Kvantová kryptografie (quantum cryptography) a quantum computing jsou nové<br />

oblasti kvantové mechaniky, které se odehrávají v tzv. Hilbertově prostoru (podle<br />

německého matematika Davida Hilberta), kde se subatomické částice vlastně nikdy<br />

nenacházejí v konkrétním místě. Kvantové počítače mohou v budoucnu hrát<br />

významnou roli v šifrování a mohou také nahradit superpočítače.<br />

Systém kvantové kryptografie je ve skutečnosti systém distribuce klíče (QKD,<br />

Quantm-Key Distribution), který váže bezpečnost systému na princip nejistoty<br />

kvantové mechaniky. Základem principu nejistoty (Heisenbergův princip) je,<br />

že měření prováděné na fyzickém systému pro získávání nějakých informací<br />

o daném systému bude mít nutně na systém nějaký vliv, byť velice malý.<br />

Systém kvantové kryptografie je navržen tak, že odesílatel (Alice) připraví fyzický<br />

systém do známého kvantového stavu a pošle ho oprávněnému příjemci (Bob). Bob<br />

38


provede měření jedné ze dvou určitých veličin (principy kvantové fyziky neumožňují<br />

měření obou veličin současně) systému přijatého od Alice. Těchto výměn a měření se<br />

provede dostatečné množství a v ideálním případě pak budou mít obě strany<br />

komunikace dostatek hodnot, které mohou sloužit jako klíč.<br />

Kvantový systém, který se běžně používá, jsou jednotlivé fotony, tedy částice světla.<br />

Každý foton nese jeden bit kvantové informace a označuje se jako qubit (quantum<br />

bit). Kromě fotonů by šlo sice použít i jiný kvantový systém, ale světlo se šíří velmi<br />

rychle a snadno, a navíc znalosti manipulace s ním jsou v dostatečně pokročilém<br />

stádiu. Jednotlivé fotony lze vysílat jak optickým kabelem, tak vzduchem, i když<br />

v druhém případě je realizace kvůli atmosférickému prostředí poněkud složitější.<br />

Jako veličina pro měření se nejčastěji používá polarizace fotonů (viz obrázek).<br />

V roce 1984 poprvé popsali takový bezpečný kvantový systém distribuce klíče<br />

pánové Charles Bennett a Gilles Brassard (BB84). Jako alternativa se používá<br />

metoda korelovaných (entangled) stavů, kterou poprvé navrhl pro kvantový systém<br />

Artur K. Ekert v roce 1990. [16]<br />

Informace o veličině, kterou Alice nastavila a Bob měřil, byly vlastně veřejné, ale<br />

konkrétní naměřené hodnoty se nikdy nesdělovaly. Takže potenciální útočník by<br />

musel zkoušet získávat nějaké informace z kvantového systému, který Alice poslala<br />

Bobovi. To by se ovšem kvůli principu nejistoty odrazilo na samotném systému.<br />

Došlo by k naměření jiné hodnoty než nastavené odesílatelem, takže komunikující<br />

strany by se o zlomyslném odposlechu dozvěděly prostým porovnáním příslušných<br />

hodnot. Podle objemu informací, které se útočník takto mohl z výměny mezi Alicí<br />

a Bobem dozvědět, je pak před ustavením samotného klíče proveden ještě proces<br />

destilace bitů (bit distillation) a zesílení soukromí (privacy amplification).<br />

[11],[13],[14]<br />

39


4.2 Jak pracuje kvantová distribuce klíčů<br />

Kvantový (fotonový) systém distribuce klíče umožní Alici a Bobovy získat sdílený<br />

klíč. Alice vysílá fotony v jedné ze čtyř polarizací: 0, 45, 90 nebo 135 stupňů. Bob ve<br />

svém přijímači měří polarizaci buď v kolmé (0 a 90 stupňů), nebo diagonální bázi<br />

(45 a 135 stupňů).<br />

Vlastní distribuce klíče probíhá v několika krocích. Alice vysílá fotony náhodně<br />

v některé ze čtyř polarizací.<br />

Pro každý přijatý foton si Bob zvolí náhodný typ měření, buď podle kolmé (+), nebo<br />

diagonální báze (X).<br />

Výsledky měření si Bob pro sebe zaznamená.<br />

Po dokončení přenosu Bob sdělí Alici, jaké typy měření se pro jednotlivé přijaté<br />

fotony použily (samotné výsledky měření si ale samozřejmě ponechá pro sebe)<br />

a Alice mu sdělí, které typy měření pro jednotlivé fotony byly správné. Tato<br />

informace při odposlechu případnému útočníkovi nic neřekne.<br />

Alice a Bob si pak ponechají ty výsledky měření, kde se měřila polarizace správně.<br />

Tyto případy si převedou na bity (0 nebo 1) a jejich posloupnost bude definovat<br />

samotný klíč.<br />

BENNETT, Charles; BRASSARD, Gilles; EKERT, Arthur, Quantum Cryptography [11]<br />

40


4.3 Praktické použití kvantové kryptografie<br />

Kvantová kryptografie se pomalu přesunuje z laboratorního prostředí do praktického<br />

využití pro zajištění maximální bezpečnosti. Nejobtížnější je navrhnout a vybudovat<br />

systém vysílače (vhodného pro danou metodu kvantového systému) a přijímače<br />

(detektoru) jediného fotonu pro běžné použití, tedy pro spolehlivé překonání<br />

dostatečné vzdálenosti.<br />

V 80. letech laboratoř v IBM T. J. Watsonově výzkumném středisku použila<br />

kvantový systém na vzdálenost pouhých 30 centimetů s rychlostí 10 bit/s. Od té doby<br />

ale uplynulo hodně vody, vyvinuly se nové zdroje fotonů, fotodetektory a lepší<br />

optická vlákna, což vše samozřejmě dovoluje řádově vyšší rychlosti budování klíčů<br />

(tisíce bitů za vteřinu) i větší vzdálenosti (desítky kilometrů), protože světlo s vyšší<br />

vzdáleností podléhá útlumu a rozptýlené fotony lze již jen obtížně zachytit.<br />

Kvantová kryptografie se pomalu propracovává ke skutečně komerčnímu využití, tak<br />

se podívejme, s čím konkrétně se můžeme na trhu již setkat. Švýcarská společnost id<br />

Quantique před několika lety dosáhla fungování systému na vzdálenost 67 kilometrů<br />

a japonská Toshiba před nedávnem oznámila úspěch i na 100 kilometrů po optickém<br />

vláknu. Pro větší vzdálenosti se pracuje na kvantových opakovačích teoreticky např.<br />

ve formě atomu cesia (přístup se zkouší na California Institute of Technology nebo<br />

Harvard University). Pokusy také probíhají ve volném prostoru, zatím se však<br />

dosahuje příliš malých vzdáleností, cca 20 kilometrů (Univerzita Ludwiga<br />

Maximillianse v Mnichově).<br />

Většina implementací kvantové kryptografie není uzpůsobena k přenosu dat, ale<br />

pouze k vytvoření naprosto tajného klíče. Proto se v praktickém využití systém<br />

použije na výměnu klíče pro danou relaci a nějaký jiný přenosový systém pro<br />

šifrování zpráv v relaci za využití klíče získaného kvantovou kryptografií. Hybridní<br />

šifrovací systémy ostatně nejsou ničím výjimečným ani v klasické kryptografii.<br />

V říjnu roku 2003 tři švýcarské společnosti oznámily vybudování infrastruktury klíče<br />

založené právě na kvantové kryptografii. Partnery v bezpečné šifrovací infrastruktuře<br />

jsou id Quantiqe výzkumná společnost v oblasti kvantové kryptografie, WISeKey,<br />

poskytovatel služeb pro certifikační autority PKI (Public Key Infrastructure),<br />

a OISTE, mezinárodní normalizační orgán pro oblast bezpečných elektronických<br />

transakcí. Prvními zákazníky budou pravděpodobně finanční instituce a vládní úřady.<br />

41


V listopadu 2003 přišla začínající americká společnost MagiQ se svým systémem<br />

kvantové kryptografie. Jejich Navajo Secure Gateway (stejně příhodné jméno jako<br />

název celé firmy) stojí 50 tisíc dolarů, čímž má velmi konkurovat současné nabídce<br />

podobných systémů na trhu. Používá metodu BB84 na doposud nejdelší vzdálenost<br />

120 kilometrů. Systém je určen pro virtuální privátní sítě (VPN) pro finanční<br />

instituce, armádu nebo vládu. [11],[12]<br />

42


5 Novodobé trendy v kryptografii<br />

Vědci začali postupně hovořit o nové vědní disciplíně: o kvantové fyzice či<br />

o kvantové mechanice.<br />

Už Albert Einstein upozorňoval na „strašidelné působení částic na dálku“. Podle něj<br />

mohly být dva miniaturní kousky hmoty určitým způsobem propojeny na libovolně<br />

velkou vzdálenost. Cokoliv se přihodí jednomu, stane se i druhému. A právě tato<br />

provázanost částic je východiskem nedávného experimentu dánských vědců: Eugene<br />

Polzik z Institutu Nielse Bohra Kodaňské univerzity společně s kolegy teleportoval<br />

světelný paprsek na hmotný objekt - shluk atomů. Zatím na vzdálenost půl metru.<br />

Zdařilý pokus sice neodstartuje přemisťování lidí na jiné planety po vzoru seriálu<br />

Star Trek, patrně však bude znamenat přelom v ochraně údajů. To může v situaci,<br />

kdy se informace stávají nejcennějším zbožím na světě, zásadně ovlivnit ekonomiku,<br />

politiku i obranu řady států.<br />

5.1 Teleportace<br />

Pojem teleportace znamená, že chceme přenášet nějaký objekt nepřímo. Místo něj<br />

budeme přenášet jen informaci o něm a na straně příjemce podle ní vytvoříme objekt<br />

identický s původním. Klasická (nekvantová) teleportace předpokládá, že na<br />

vstupním objektu provedeme měření, klasickým kanálem odešleme získanou<br />

informaci a podle ní objekt rekonstruujeme. Potíž je v tom, že kvantová mechanika<br />

nedovoluje získat měřením plnou informaci o klasickém stavu objektu. Nicméně<br />

v roce 1993 odvodil Charles Bennett teleportační protokol, který umožňuje přenést<br />

kvantový stav, aniž bychom jej znali. Přenášená informace bude mít dvě části –<br />

kvantovou a klasickou. Kvantová část se "přenáší" okamžitě pomocí měření na<br />

jednom qubitu z propleteného páru stavů. Klasická informace může být předána<br />

třeba telefonem nebo jinou konvenční cestou, přičemž rychlost přenosu je shora<br />

omezena rychlostí světla.<br />

43


Obrázek 11: scénář kvantové teleportace, http://www.aldebaran.cz/bulletin/2004_31_tel.html<br />

Vstupem procesu je atom P v neznámém stavu, který chce Alice teleportovat Bobovi.<br />

Dále ještě před vlastní teleportací musíme připravit entanglovaný pár atomů A a B<br />

v Bellově stavu. Jednu složku páru (A) odneseme na stranu Alice, druhou složku (B)<br />

k Bobovi. Při teleportaci nejprve Alice provede s atomy A a P měření v Bellově bázi<br />

a jako výsledek měření zjistí jeden ze 4 možných Bellových stavů. Zároveň se při<br />

měření promítne stav Ψ do stavu atomu A. Díky kvantové propletenosti se tato<br />

změna okamžitě projeví i na atomu B, který má Bob. Ovšem aby Bob mohl<br />

rekonstruovat původní stav Ψ, potřebuje navíc znát výsledek měření Alice. Musí se<br />

s ní tedy domluvit nějakou klasickou cestou. Na základě této informace už může Bob<br />

na svém atomu B provést takovou unitární transformaci, která vede do stavu Ψ. V tu<br />

chvíli je atom B nerozlišitelný od původního P a teleportace se povedla.<br />

Podivuhodné je, že ani klasická, ani kvantová část přenášené informace sama o sobě<br />

neříká nic o stavu Ψ. Když Alice provede měření, dojde okamžitě ke kolapsu<br />

propleteného páru, ale dokud se Bob nedozví výsledek měření, nemůže si toho<br />

všimnout. Bude-li Bob v tu chvíli měřit, všechny Bellovy stavy páru pro něj mají<br />

stejnou pravděpodobnost. Kolaps je sice nelokální, ale nepřenáší žádnou informaci.<br />

A výsledky měření, které Alice získala, by samy o sobě také Bobovi nebyly<br />

k ničemu, neboť pro stejný stav Ψ jsou pokaždé jiné.<br />

44


Dále poznamenejme, že při měření v Bellově bázi na straně Alice přejde atom P ze<br />

stavu Ψ do jiného. Proto není možné touto cestou "klonovat" atomy – původní objekt<br />

před teleportací zanikne.<br />

Protokol dřívějších pokusů s fotony se nezabýval analýzou Bellových stavů. Alice<br />

jen zjišťovala, zda se objeví právě ten Bellův stav, při němž Bob nemusí provádět<br />

žádné rotace pro rekonstrukci stavu Ψ. Ve zbylých 3 případech ze 4 byl<br />

teleportovaný stav ztracen. Letos realizované protokoly zahrnují podmíněné rotace<br />

a v ideálním případě tedy nabízí úspěšnost 100 %. [15]<br />

5.2 Spolehlivá šifra zapsaná do miniaturních částic<br />

Internet nebo jakákoliv jiná síť, se skládá z jednotlivých uzlů. V nich jsou uloženy<br />

informace (například data na pevném disku počítače). Po propojení kabely si<br />

počítače mohou vyměňovat informace a komunikovat mezi sebou.<br />

Podobný systém by však mohl pracovat i na kvantové úrovni: uzly, jakési paměťové<br />

bloky, by byly tvořené obláčky atomů. O jejich propojení by se postaral světelný<br />

paprsek.<br />

Vědci zatím teleportaci provedli na vzdálenost půl metru, a to hlavně s ohledem na<br />

rozměry optického stolu. Světelný paprsek můžeme vést třeba optickým vláknem.<br />

S jeho pomocí tak například švýcarští vědci v Ženevě přenesli fotony na vzdálenost<br />

čtyř kilometrů.<br />

Na internetu probíhá celá řada transakcí - běžně komunikujeme s bankami,<br />

nakupujeme ve virtuálních obchodech, svěřujeme internetu čísla kreditních karet.<br />

Informace, které putují sítí, musí být nějakých způsobem zakódované.<br />

Bezpečnost dnes využívaných šifer je velmi často založena na předpokladu, že na<br />

zvládnutí jistých matematických operací potřebuje počítač velké množství času.<br />

Řada vědeckých týmů se však snaží vytvořit kvantový počítač. Ten by dovedl<br />

provádět několik operací souběžně, a proto by našel výsledek řádově mnohem<br />

rychleji. Po sestrojení kvantového počítače by se současné šifry staly bezcennými,<br />

účinnou ochranu tajných informací by poskytovala jen kvantová kryptografie.<br />

Její téměř stoprocentní spolehlivost je dána fyzikálními zákony a ochrana působí<br />

dokonce na dvou frontách: případnému Útočníkovi systém kvantové kryptografie<br />

maximálně ztěžuje čtení zpráv posílaných mezi Alenou a Bobem. Dalším ochranným<br />

45


prvkem je fakt, že odposlech komunikace mohou její přímí účastníci odhalit. Alice<br />

s Bobem si tak včas všimnou, že útočník naslouchá, a vysílání ukončí.[14]<br />

5.3 Superrychlý počítač<br />

Na nejjednodušší úrovni je kvantová kryptografie dotažena ke komerčním aplikacím.<br />

Zatím se však zcela nedaří potlačit vliv šumu a ztrát. Šifrování proto funguje na<br />

vzdálenost pouze řádově několik desítek kilometrů.<br />

Pokročilé komunikační sítě, které využívají vzájemné působení světla a atomů, jsou<br />

stále v zárodcích. Uvedení do praxe může trvat deset i více let. Odborníci se nyní<br />

snaží prodloužit vzdálenost, na kterou je možné bezpečně komunikovat.<br />

Poměrně futuristický návrh Antona Zeilingera z Vídeňské univerzity například počítá<br />

s komunikací pomocí satelitů. Výměna informací mezi dvěma partnery na Zemi,<br />

mezi Alenou a Bobem, by tak probíhala prostřednictvím družic nesoucích světelný<br />

zdroj.<br />

Ještě delší bude cesta ke kvantovým počítačům. Dosud se podařilo sestrojit zařízení<br />

s méně než deseti kvantovými bity. Dnešní počítače naproti tomu pracují s gigabity<br />

nebo terabity informací.<br />

Zkonstruování kvantového počítače by však otevřelo netušené možnosti: někteří<br />

fyzikové na něj nahlížejí jako na jediné zařízení, které může určitý výpočet provádět<br />

zároveň s velkým množstvím čísel. Jiní ho chápou jako velké množství entit, jež se<br />

nacházejí v odlišných vesmírech a provádějí jediný výpočet.[13]<br />

46


Závěr<br />

Cílem této <strong>práce</strong> bylo popsat a zhodnotit nejpoužívanější šifrovací metody<br />

současnosti. Práce celkem jednoznačně ukazuje, že pro současnou kryptografii plně<br />

dostačují jak dnešní typy symetrických metod, tak metoda veřejných a soukromých<br />

klíčů. Ovšem každá metoda má svoje specifika a nároky na implementaci. Vzhledem<br />

k výkonnosti dnešních výpočetních systémů jsou současné šifry téměř<br />

neprolomitelné. Řekněme, že jsou výpočetně bezpečné. Tato situace se však může<br />

dramaticky změnit s nástupem kvantových počítačů. Nicméně už v dnešní době se<br />

experimentálně zkoušejí nové metody, které se přizpůsobují provozu kvantových<br />

počítačů. Je nutné si však uvědomit, že ani sebelepší a sebedokonalejší šifrovací<br />

algoritmus není sám o sobě nic jiného než nástroj pro zajištění utajení. Celková<br />

bezpečnost však záleží na celé škále činností, které je potřeba dodržovat abychom<br />

mohly hovořit o bezpečném systému.<br />

47


Seznam použité literatury<br />

[1] PIPER, Fred; MURPHY, Sean. Kryptografie. 1.vyd. Praha: Dokořán s.r.o.,<br />

2006. ISBN 80-7363-074-5<br />

[2] KAHN, David, The Codebreakers, Scribner, 1996<br />

[3] SHANNON,Claude; A Mathematical Theory of Communication, The Bell<br />

System Technical Journal, Vol. 27, July, October, 1948<br />

http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf<br />

[4] SHANNON,Claude; Communication Theory of Secrecy Systems, The Bell<br />

System Technical Journal, Vol. 28, 1949<br />

http://www.cs.ucla.edu/~jkong/research/security/shannon1949.pdf<br />

[5] WHITFIELD, Diffie; HELLMAN,Martin , New directions in Cryptography,<br />

IEEE Transactions on Information Theory, No. 6, 1976<br />

[6] RIVEST,Ronald;SHAMIR, Adi; ADLEMAN,Leonard, A Method for<br />

Obtaining Digital Signatures and Public-Key Cryptosystems, Communications<br />

of the ACM, No. 2 Feb. 1978<br />

[7] DES, Data Encryption Standard FIPS PUB 46-3, October 1999<br />

http://csrc.nist.gov/CryptoToolkit/tkencryption.html<br />

[8] International Association for Cryptologic Research, nezisková vědecká<br />

organizace, http://www.iacr.org/<br />

[9] Systém Echelon, http://www.heise.de/tp/english/inhalt/te/6929/1.html<br />

[10] SINGH, Simon, Kniha kódů a šifer, český překlad, Argo a Dokořán, 2003,<br />

http://www.simonsingh.net/Crypto_Corner.html<br />

[11] BENNETT, Charles; BRASSARD, Gilles; EKERT, Arthur, Quantum<br />

Cryptography<br />

[12] Stránka Vlastimila Klímy, http://cryptography.hyperlink.cz/<br />

[13] internetový portal http://www.google.com<br />

[14] internetový portál http://www.lupa.cz/<br />

[15] http://www.aldebaran.cz/bulletin/2004_31_tel.html<br />

[16] RARITY,G.; TAPSTER,P.; GORMAN, M.; KNIGHT,P., Ground to satellite<br />

secure key exchange using quantum cryptography, New Journal of Physics 4<br />

2002<br />

48

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!