kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

35
Kryptografia a použitie kryptografie na zaistenie bezpečnosti Doc. Ing. Ladislav Hudec, CSc. 1

Upload: octavia-kemp

Post on 30-Dec-2015

62 views

Category:

Documents


4 download

DESCRIPTION

Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti. Doc. Ing. Ladislav Hudec, CSc. 1. Ochrana citlivých informácií. Dôvernosť Citlivá informácia je dostupná iba oprávneným subjektom Integrita - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Kryptografia a použitie kryptografie na zaistenie bezpečnosti

Doc. Ing. Ladislav Hudec, CSc.

1

Page 2: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Ochrana citlivých informáciíOchrana citlivých informácií

Dôvernosťo Citlivá informácia je dostupná iba oprávneným subjektom

Integritao Citlivá informácia je modifikovateľná / generovateľná iba oprávnenými subjektmi a to

predpísaným spôsobom Autentifikácia

o Zistiteľnosť pôvodu, bezpečná identifikácia subjektu, ktorý citlivú informáciu vytvoril, ktorý ju prijíma, ktorý s ňou narába

Nepopierateľnosť o Príjmu, doručenia, pôvodu citlivej správyo Elektronický podpis

Všetky uvedené bezpečnostné ciele je možné splniť bezpečnostnými funkciami implementovanými kryptografickými mechanizmami

Spôsob ako udržať bezpečné údaje v nebezpečnom prostredí Jeden zo základných nástrojov informačnej bezpečnosti Slabé alebo chybné šifrovanie dáva iba ilúziu ochrany, preto treba vedieť ako

môže šifrovanie zlyhať Použitie počítačov na šifrovanie v 50-tych rokoch znamenalo výrazný prelom do

techník šifrovania 2

Page 3: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Kryptografické disciplínyKryptografické disciplíny

Kryptografia o Umenie udržať dôvernú správu P utajenú

Kryptoanalýzao Umenie prelomiť šifru E (D), odhalenie utajenej správy P

Kryptológia o Matematika pre kryptografiu a kryptoanalýzu

3

Page 4: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Základné typy kryptografických systémovZákladné typy kryptografických systémov

Symetrický šifrovací systém

o Šifrovací a dešifrovací kľúč je ten istý (kľúč1 = kľúč2)

o Šifrovaciemu kľúču sa hovorí tajný kľúč

Asymetrický šifrovací systém

o Šifrovací kľúč a dešifrovací kľúč sú rôzne (kľúč1 ≠ kľúč2)

o Kľúč1 je verejným kľúčom príjemcu a kľúč2 je privátnym kľúčom príjemcu

Vlastníctvo tajného alebo privátneho kľúča je autentizačný mechanizmus 4

Page 5: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Základné typy šifrátorovZákladné typy šifrátorov

Blokový šifrátoro Naraz zašifruje blok viacerých znakov otvoreného textu, napríklad 8 znakov (šifrátor

DES, Data Encryption Standard), 16 znakov (šifrátor AES – Advanced Data Encryption Standard)

Prúdový šifrátoro Naraz zašifruje jeden znak otvoreného textu, prípadne jeden bit

o Napríklad prúdový šifrátor RC4

Blokový šifrátor môže fungovať vo viacerých režimoch (ECB – Electronic Code Book, CBC – CipherBlock Chaining, OFB – Output FeedBack, CFB – Cipher FeedBack)

5

Page 6: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy - Cézarova šifraKlasické šifrovacie systémy - Cézarova šifra

Cézarova šifrao Klasická substitučná monoalfabetická šifrao Písmeno otvoreného textu Pi sa nahradzuje (substitučná šifra) písmenom abecedy,

ktoré je v abecede o tri miesta ďalej, to jest podľa predpisu ci = Pi + 3

o Všetky písmená otvoreného textu sa nahradia týmto jedným predpisom (monoalfabetická šifra)

Tabuľka náhrady písmena otvoreného textu (veľké písmená) za odpovedajúce písmeno šifrovaného textu (malé písmená)

o 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 Zo d e f g h i j k l m n o p q r s t u v w x y z a b c

Príklado Otvorený text: UTOK ZACNE ZAJTRA RANOo Šifrovaný text: xwrn cdfqi cdmwud udqr

Ak písmená telegrafnej abecedy zakódujeme od 0 (A) po 25 (Z), potom Cézarova šifra je vyjadrená vzťahom ci = (Pi + 3) mod 26 pre šifrovanie a vzťahom Pi = (ci - 3) mod 26 pre dešifrovanie

Dostatočne dlhý šifrovaný text je možné rozbiť frekvenčnou analýzou (je známy histogram výskytu písmen, napríklad v hovorovej angličtine je výskyt písmen e:14%, t:9,85%, o:7,37%, n:6,74%, a:7,49%)

6

Page 7: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy - polyalfabetická substitučná šifraKlasické šifrovacie systémy - polyalfabetická substitučná šifra

Polyalfabetické šifryo Zavedením viacerých šifrovacích abecied sa “vyhladí” histogram výskytu písmen v

zašifrovanom texte, čím sa sťaží kryptoanalytikom rozbitie šifry

o Bolo by najlepšie, keby histogram bol “plochý” (zo skúsenosti stačí 6 rôznych šifrovacích abecied)

o Celkový počet rôznych šifrovacích abecied je 26!

Vigenierova tabuľkao na šifrovanie sa môže použiť až 26 rôznych abecied

o Z počtu 26! rôznych možných šifrovacích abecied sa vybralo 26 rôznych abecied, pričom sa získavujú cyklickou rotáciou z predchádzajúcej abecedy (prvá je základná abeceda)

o Výber šifrovacej abecedy je daný šifrovacím kľúčom

o Písmená kľúča – vrchný riadok, písmená otvoreného textu – ľavý stĺpec

o Písmeno šifrovaného textu je prvok matice písmeno kľúča x písmeno textu

7

Page 8: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy - Vigenierova šifraKlasické šifrovacie systémy - Vigenierova šifra

8

Page 9: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy - Vigenierova šifraKlasické šifrovacie systémy - Vigenierova šifra

Príklado Otvorený text IT WAS THE WORST OF TIMES

o Kľúč dickens (na šifrovanie bude použitých 7 rôznych šifrovacích abecied)

Postup – nad písmená otvoreného sa napíše kľúč (aj opakovane) a potom sa hľadá v tabuľke pod písmenom kľúča a písmenom otvoreného textu odpovedajúce písmeno zašifrovaného textu

o d i c k e n s d i c k e n s d i c k e n

o I T W A S T H E W O R S T O F T I M E S

o l b y k w g z g h j b w g g i b k w i f

Rozbitie polyalfabetických šifier je založený na tom, že sa stanoví počet šifrovacích abecied a potom sa frekvenčnou analýzou rozbijú monoalfabetické časti šifrovaného textu

Stanovenie počtu šifrovacích abeciedo Kasiského metóda

o index koincidencie9

Page 10: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy - Vigenierova šifraKlasické šifrovacie systémy - Vigenierova šifra

Formálny zápis Vigenierovej šifry pre kľúč k = (k1 , k2, k3,.. kn)

o Šifrovanie skupiny n po sebe idúcich znakov otvoreného text E(P1,P2,P3 ,.. Pn ) = (P1+ k1) mod 26, (P2 + k2) mod 26, (P3 + k3) mod 26,.. (Pn + kn) mod 26

o Dešifrovanie skupiny n po sebe idúcich znakov zašifrovaného textu D(c1,c2,c3,.. cn ) = (c1 - k1) mod 26, (c2 - k2) mod 26, (c3 - k3) mod 26,.. (cn - kn) mod 26

Demonštrácia postupu na zašifrovanie frázy IT WAS TH pri kľúči dickens

o E(I,T,W,A,S,T,H) = (8+3) mod 26, (19+8) mod 26, (22+2) mod 26, (0+10) mod 26, (18+4) mod 26, (19+13) mod 26, (7+18) mod 26 = (11,1,24,10,22,6, 25) = (l,b,y,k,w,g,z)

Demonštrácia postupu dešifrovania tejto správy

o D (l,b,y,k,w,g,z) = (11-3) mod 26, (1-8) mod 26, (24-2) mod 26, (10-10) mod 26, (22-4) mod 26, (6-13) mod 26, (25-18) mod 26 = (8,19,22,0,18,19,7)= (I,T,W,A,S,T,H)

Pokiaľ sa zvolí krátky kľúč

o Vzniká pravidelnosť opakovania jeho aplikácie pri šifrovaní dlhej správy

o Neskrýva dokonale frekvenciu písmen, fráz otvoreného textu

Ideálne je, keď kľúč má dĺžku otvorenej správy10

Page 11: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy – Kasiského metódaKlasické šifrovacie systémy – Kasiského metóda

Je založená na regulárnosti jazyka. Napríklad v angličtine sa vyskytujú digramy (th-, -ed, un-, im-,..) a trigramy (-ion, -ing, -eek, -oot) slová ako of, and, to, with,..

Ak je správa zašifrovaná n abecedami a ak určité slovo alebo skupina písmen sa v otvorenom texte vyskytuje k krát, potom musí byť zašifrované približne k/n krát z rovnakej abecedy.

Formálne zapísaná Kasiského metódao V šifrovanom texte najdi opakovaný výskyt skupiny 3 alebo viacerých písmen

o Pre každý výskyt skupiny urči začiatočnú pozíciu výskytu

o Vypočítaj rozdiel medzi pozíciami po sebe idúcich výskytov

o Faktorizuj všetky rozdiely

o Ak bola použitá polyalfabetická šifra, dĺžka kľúča bude jedným z faktorov získaných v predchádzajúcom kroku

Metódu skúste na texte: IT WAS THE BEST OF TIMES IT WAS THE WORST OF TIMES IT WAS THE AGE OF WISDOM IT WAS THE AGE OF FOOLISHNESS IT WAS THE EPOCH OF BELIEF IT WAS THE EPOCH OF ..., s kľúčom dickens a Vigenierovou šifrou

Ak ste správne zašifrovali, potom na pozíciách 20, 83 a 104 začínajú rovnaké skupiny 6 písmen. Podľa Kasiského metódy treba skúmať faktory čísiel 104-83=21=3x7 a 83-20=63=3x3x7. Dĺžka kľúča (počet rôznych abecied) 21 je nepravdepodobná, potom by dĺžka kľúča mohla byť 7 (správne riešenie) alebo 3.

11

Page 12: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy – Index koincidencieKlasické šifrovacie systémy – Index koincidencie

Dá sa ukázať, že otvorený text (dostatočne dlhý a bežný) má predpovedateľné rozloženie písmen. Pri použití viacerých šifrovacích abecied sa histogram výskytu písmen v šifrovanom texte stáva plochším.

Dá sa kvantitatívne posúdiť ako „ďaleko“ je histogram šifrovaného textu viacerými abecedami od histogramu otvoreného textu.

Ak Pi je pravdepodobnosť výskytu písmena i v šifrovanom texte, potom zrejme Si=a,.z (Pi) = 1 (v texte sú iba písmená)

Ak by bol výskyt všetkých písmen rovnaký, potom Pi=1/26=0,0384. Výraz (Pi-1/26) je odchýlka od plochého histogramu pre písmeno i. My budeme počítať kvadrát odchýlky t.j. (P i-1/26)2

Odchýlka celého rozdelenia od plochého rozdelenia je V=S i=a,.z (Pi-1/26)2 = Si=a,.z (Pi)2 - 1/26 Ak je rozdelenie perfektne ploché, potom je V=0. Ak sa za P i dosadia štatistiky anglického otvoreného

textu, potom V=0,0296 Majme zašifrovaný text, výraz (Pi)2 udáva pravdepodobnosť, že ľubovoľné dve písmená zašifrovaného

textu budú rovnaké ( a to i). Výraz V je možné pre daný zašifrovaný text odhadnúť. Nech F i je počet výskytov písmena i v

zašifrovanom texte a nech n je počet všetkých písmen v zašifrovanom texte. Index koincidencie je IC= Si=a,.z (počet dvojíc íí)/(počet všetkých dvojíc)= Si=a,.z (Fi x (Fi -1)/2)/(n x (n-1)/2) Hodnota IC je pre anglický text od 0,0384 pre ploché rozdelenie (neznámy veľký počet šifrovacích

abecied) až po 0,068 pre jednu šifrovaciu abecedu (monoalfabetickú šifru)

12

Počet abecied

Hodnota IC 0,068 0,052 0,047 0,044 0,044 0,041 0,038

1 2 3 4 5 10 Veľký

Page 13: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy – Vernamova šifraKlasické šifrovacie systémy – Vernamova šifra

Gilbert Vernam, 1918, substitučná šifra s jednorázovým kľúčom

Absolútne nerozlúštiteľný šifrovací systém

Náhodne generovaný kľúč k = (k1 , k2, k3,.. kn) je rovnakej dĺžky ako je text otvorenej správy

o Šifrovanie znakov otvoreného text E(P1,P2,P3 ,.. Pn ) = (P1+ k1) mod 26, (P2 + k2) mod 26, (P3 + k3) mod 26,.. (Pn + kn) mod 26

o Dešifrovanie znakov zašifrovaného text D(c1,c2,c3,.. cn ) = (c1 - k1) mod 26, (c2 - k2) mod 26, (c3 - k3) mod 26,.. (cn - kn) mod 26

Na úrovni bitovej reprezentácie správy sa používa operácia xor (súčet mod 2), t.j. bitový tok otvorenej správy sa modifikuje operáciou xor bitový tokom náhodne generovanej postupnosti jednorázového kľúča.

Automatické šifrovanie a dešifrovanie telegrafných správ

Problém generovania a distribúcie jednorázových kľúčovo Kľúč musí byť rovnako dlhý ako je šifrovaná správa

o Kľúč sa nesmie použiť opakovane (šifrovaný text xor otvorený text = šifrovací kľúč)

o Kľúč musí byť bezpečne distribuovaný príjemcovi aj odosielateľovi

o Aplikačná oblasť – armáda, diplomacia (NIE komerčná oblasť) 13

Page 14: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy – Náhodný generátorKlasické šifrovacie systémy – Náhodný generátor

Veľa šifrovacích algoritmov používa postupnosti náhodných čísel, pričom bezpečnosť šifrovania záleží na „náhodnosti“ použitých čísel.

Lineárny kongruentný náhodný generátor vypočítava náhodné čísla podľa vzťahu ri+1 = (a x ri+b) mod n, kde

o r0 a a nemajú spoločného deliteľa s no Potom všetky čísla od 0 do n sú generované v jednej perióde

Pri takomto generovaní náhodných čísel je problém závislosti ri+1 na ri napríklado r1 = (a x r0+b) mod n, r2 = (a x r1+b) mod n, r3 = (a x r2+b) mod n, r4 = (a x r3+b) mod n

o Ak útočník odchytí r0, r1 a r2, môže vypočítať a, b a n.

Ak uhádneme začiatok otvoreného textu, napríklad MEMO a odchytíme šifrovaný text, potom dokážeme rozbiť celú šifru, pretože postupne odchytávame

o c0 = (r0+12) mod 26, c1 = (r1+4) mod 26, c2 = (r2+12) mod 26, c3 = (r3+14) mod 26

o Čím sme dostali 4 rovnice o štyroch neznámych a znalosť troch čísel r0, r1 a r2 nám dovolí vypočítať a, b a n, čím sa rozbije náhodný generátor aj šifrátor

Existujú aj iné metódy generovania náhodných čísel, napríklad o Zo šumového signálu nastavením prahu pre vyhodnotenie hodnoty 0 a 1o Čísla z telefónneho zoznamu mesta Bratislava (dddd-DdDd) na strane 20.

14

Page 15: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy – Transpozičná (permutačná) šifraKlasické šifrovacie systémy – Transpozičná (permutačná) šifra

John Falconer, 1685, prvá svetová vojna

Znaky otvoreného textu sa nemenia, ALE menia svoju pozíciu (miesto) v texte správy

Šifrovací kľúč predstavuje predpis prestavenia (permutáciu) znakov otvoreného textu na získanie šifrovaného textu

o E(P1,P2,P3,P4,P5,P6) = (P4,P5,P1,P2,P6,P3) = (c1,c2,c3,c4,c5,c6)

Dešifrovací kľúč predstavuje predpis prestavenia (inverznú permutáciu) znakov šifrovaného textu na získanie otvoreného textu

o D(c1,c2,c3,c4,c5,c6) = (c4,c5,c1,c2,c6,c3) = (P1,P2,P3,P4,P5,P6)

Častým prípadom je stĺpcová transpozícia (permutácia získaná preusporiadaním stĺpcov otvoreného textu správy)

o Otvorený text THIS IS A MESSAGE TO SHOW HOW A COLUMNAR TRANSPOSITION WORKS

THISI OLUMN Šifrovaný text: tssoh oaniw haaso lrsto imghw utpir

SAMES ARTRA seeoa mrook istwe nasus

SAGET NSPOS

OSHOW ITION

HOWAC WORKS15

Page 16: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Klasické šifrovacie systémy – Transpozičná (permutačná) šifraKlasické šifrovacie systémy – Transpozičná (permutačná) šifra

Uvedený príklad predstavuje šifrovanie špecifickou transpozíciou (permutáciou)

o E(P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 ,P13,P14,P15 ,P16,P17,.........P46,P47,P48 ,P49,P50) = (P1,P6,P11,P16,P21,P26,P31,P36,P41,P46,P2,P7 ,P12,P17,P22,P27 ,P32,P37,.........P30,P35,P40 ,P45,P50) = (c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12 ,c13,c14,c15 ,c16,c17,.........c46,c47,c48 ,c49,c50)

Dešifrovanie sa vykoná inverznou permutáciou

o D (c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12 ,c13,c14,c15 ,c16,c17,.........c46,c47,c48 ,c49,c50) = (c1,c6,c11,c16,c21,c26,c31,c36,c41,c46,c2,c7 ,c12,c22,c27 ,c32,c37,.........c30,c35,c40,c45,c50) = (P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 ,P13,P14,P15 ,P16,P17,.........P46,P47,P48 ,P49,P50)

Rozbitie transpozičnej šifry pomocou frekvenčnej analýzy digramov a trigramov (TREBA nájsť predpis permutácie)

o Digram – usporiadaná dvojica znakov, Trigram - usporiadaná trojica znakov

o Existujú frekvenčné slovníky digramov a trigramov

Transpozíciu je možné aplikovať pri šifrovaní viackráto Algoritmy s dvojitou transpozíciou

Použitie všeobecnej transpozície

o (P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12 ,P13,P14,P15 ,P16,P17,.........P46,P47,P48 ,P49,P50)

o (P3,P6,P9,P12,..P48,P4,P8,P16,..P44,P5,P10,P25,..P50,P49,P47 ,P46,P43, P41,P38 ,..P13,P11,P7 ,P2,P1)

16

Page 17: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Moderné šifrovacie systémyModerné šifrovacie systémy

Klasické šifrovacie systémy boli navrhnuté a používané pred príchodom počítačov

S použitím počítača sa môžu významne komplikovať šifrovacie algoritmy

Bezpečné moderné šifrovacie algoritmy sú založené na riešení problémov veľkej matematickej zložitosti

Rozbitie takéhoto šifrovacieho algoritmu útokom hrubou silou (BFA - brutal force attack) je v reálnom čase nezvládnuteľné

Príklad problému veľkej matematickej zložitostio Zistenie splniteľnosti formuly - problém je určiť, či daná logická formula je splniteľná

alebo nie. Logický výraz je zložený z logických premenných v1,v2,v3,.. vn , a |v1,|v2,|v3,.. |vn, členy formuly sú súčty, formula je tvorená súčinom členov. Ak je možné zvoliť hodnoty v1,v2,v3,.. vn ako 0 alebo 1 tak, aby logická formula nadobúdala hodnotu 1, potom sa hovorí, že formula je splniteľná.

o Príklad: f = v1.(v2 + v3). (|v2 + |v3), je splniteľná formula

o Na preskúmanie splniteľnosti treba preskúmať 23=8 možností

o Na preskúmanie splniteľnosti treba vo všeobecnosti preskúmať 2n možností, kde n je počet logických premenných (exponenciálna zložitosť).

17

Page 18: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Svet veľkých čísel a zložitostiSvet veľkých čísel a zložitosti

Malé a veľké číslao 2-12 pravdepodobnosť smrti v aute

o 214, 104 doba v rokoch od poslednej doby ľadovej

o 230, 109 doba v rokoch od vzniku planét slnka

o 2170, 1051 počet atómov v zemeguli

Zložitosť (časová)Zložitosť operácií pre n = 106 doba riešenia pri 106 op/s

O(1) 1 1 mikrosekunda

O(n) 106 1 sekunda

O(n2) 1012 1,6 dní

O(n3) 1018 32000 rokov

O(2n) 10301030 ???? rokov

Problémy aplikácií výsledkov teórie zložitosti v kryptografiio Kryptoanalytik veľakrát rieši veľký súbor štatisticky podobných problémov (mnoho šifier

generovaných tým istým kľúčom)

o Obťažnosť nesmie platiť v „priemere“ alebo „v najhoršom prípade“, ale „vždy“

o Nie je možné použiť akýkoľvek ťažký problém, pri riešení musí byť možnosť uplatniť „zadné vrátka“ 18

Page 19: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Výpočtová bezpečnosť kryptosystémuVýpočtová bezpečnosť kryptosystému

Bezpečnosť je daná silou algoritmuo Ako skrýva redundaciu

o Dĺžkou kľúča

Útok hrubou silou, skúšanie všetkých hodnôt kľúčov (celý kľúčový priestor)

Dĺžka kľúča počet pokusov pri 1MIPS doba riešenia pri 106 MIPS

8 28 256 mikrosekúnd

56 256 1142 rokov 10 hodín

128 2128 5.1024 rokov 5.1018 rokov

1024 21024 ~10295 rokov

2048 22048 ~10597 rokov

Aplikovateľnosť podľa dĺžky kľúčao Symetrické šifrovacie systémy 128 bitov

o Asymetrické šifrovacie systémy 1024 bitov

19

Page 20: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Šifrovací systém DESŠifrovací systém DES

Blokový symetrický šifrátor, 64 bitový šifrátor s 56 bitovým šifrovacím kľúčom

Bol vyvinutý vládou USA (modifikácia šifrovacieho systému LUCIFER od IBM) pre všeobecné verejné použitie (Data Encryption Standard – DES)

Je to šifrátor Feistalovského typu, využíva 16 cyklov (iterácií)

Bol akceptovaný ako štandard v USA v roku 1976 (v roku 2005 skončil ako štandard, stále sa však ešte používa). Je ustanovený jeho nástupca Advanced Encryption Standard (AES), 128 bitový šifrátor s 128 alebo 192 alebo 256 bitovým kľúčom

V súčasnosti sa na zvýšenie kryptografickej sily používa verzia TripleDES (64 bitový šifrátor so 112 bitovým kľúčom, pri šifrovaní: prvým kľúčom sa šifruje, druhým sa dešifruje a prvým sa opäť šifruje, pri dešifrovaní: prvým kľúčom sa dešifruje, druhým sa šifruje a prvým sa opäť dešifruje)

Využíva základné šifrovacie techniky ako sú substitúcia (S-boxy) a permutácia (P-boxy)

Na začiatku šifrovania sa vykoná iniciálna permutácia a na konci šifrovania sa vykoná inverzná iniciálna permutácia

20

Page 21: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Štruktúra iterácie v systéme DESŠtruktúra iterácie v systéme DES

21

Page 22: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Šifrovací systém DESŠifrovací systém DES

Dátový blok pri šifrovaní DES je rozdelený na dva 32 bitové podbloky L a R Zo základného 56 bitového kľúča sa odvádzajú kľúče aplikované v jednotlivých

iteráciách k0, k1, k2, k3,…k15

o Základný 56 bitový šifrovací kľúč je rozdelený na dve 28 bitové časti. Každá časť vykoná v iterácii ľavý kruhový posuv oproti stavu v predchádzajúcej iterácii a to tak, že v iterácii 1,2,9 a 16 sa vykoná vždy jeden ľavý cyklický posuv, v ostatných iteráciách sa vykonajú dva ľavé cyklické posuvy. Permutovaným výberom sa z 56 bitového aktuálneho kľúča vyberie 48 bitový kľúč v danej iterácii.

Šifrovanie DESo Li = Ri – 1

o Ri = Li –1 xor f (Ri – 1 , ki – 1)

Dešifrovanie DESo Ri – 1 = Li

o Li -1 = Ri xor f (Li , ki – 1)

Dešifruje sa rovnakým algoritmom s tým rozdielom, že kľúče sa prikladajú v opačnom poradí k15, k14, k13, k12,…k0

Pri výbere šifrovacích kľúčov treba dať pozor na doplnky (binárnym doplnkom šifrovacieho kľúča sa nesmie šifrovať binárny doplnok správy), 4 slabé kľúče (dve 28 bitove časti kľúča sú všetky 0 alebo všetky 1) a 8 poloslabých kľúčov (páry kľúčov k1, k2 , pre ktoré platí DES(P, k1) = DES(P, k2))

22

Page 23: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Šifrovací systém DES – režimy činnostiŠifrovací systém DES – režimy činnosti

ECB – Electronic Code Booko Rovnaké otvorené texty s rovnakým šifrovacím kľúčom majú rovnaký šifrovaný texto Táto situácia môže spôsobiť problém, pokiaľ útočník pozná štruktúru celkovej správy

(jedným šifrovaním sa zašifruje iba 8 znakov ASCII, čo predstavuje iba časť celkovej správy), vie odchytiť z kanála posielané správy a vie vložiť do kanála falošnú správu

o Útočník môže zložiť novú modifikovanú zašifrovanú správu CBC – CipherBlock Chaining

o Blok otvoreného textu sa pred vložením do šifrátora xor-uje so zašifrovanám predchádzajúcim blokom. Pri dešifrovaní sa dešifrovaný predchádzajúci blok xor-uje s príchodzím šifrovaným blokom.

o V tomto režime sa štandardne ako prvý blok šifruje t.zv. Iniciálny vektor. Rôzne iniciálne vektory zabezpečia, že v tomto režime budú mať rovnaké otvorené texty s rovnakým šifrovacím kľúčom rôzny šifrovaný text.

OFB – Output FeedBacko Tento režim umožňuje vytvoriť prúdový šifrátoro DES šifrátor vytvára náhodnú postupnosť bitov, s ktorou sa xor-uje bitová postupnosť

otvoreného textuo Ako prvý blok pri šifrovaní sa vezme dohodnutý iniciálny vektor. V druhom kroku sa

iniciálny vektor posunie a na uprázdnené bity sa zasunú bity zašifrovaného iniciálneho vektora (spätná väzba cez šifrátor) a takto vytvorený blok sa opäť zašifruje.

CFB – Cipher FeedBack o Rovnako ako v režime OFB s tým rozdielom, že sa na uprázdnené bity zasunú bity

zašifrovaného textu (po aplikovaní funkcie xor)23

Page 24: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Šifrovací systém RSAŠifrovací systém RSA

Rivest, Shamir, Adleman, 1978o Teoretické základy šifrovacieho systému sú založená na malej Fermatovej

vete a Eulerovej veteo Bezpečnosť je založené na obťažnosti faktorizácie veľkých čísel

(exponenciálna zložitosť) Je to asymetrický šifrovací systém, jeden kľúč (e, n) je použitý na

šifrovanie – súkromný kľúč, druhý kľúč (d, n) na dešifrovanie – verejný kľúč

Správa P je zašifrovaná operáciou Pe mod n Zašifrovaná správa c je dešifrovaná operáciou cd mod n Zrejme platí

o Pe.d mod n = Pd.e mod n = Po P = cd mod n = (Pe mod n)d mod n = Pe.d mod n = P

Podrobnejší opis algoritmuo Číslo n je súčinom prvočísel p a q (každé aspoň 200 dekadických miest)o Číslo e (súkromný kľúč) je vybraté tak, že nemá spoločných deliteľov s

číslami p -1 a q -1 (vyberá sa prvočíslo väčšie ako p -1 a q -1)o Číslo d (verejný kľúč) sa vyberie tak, že platí e.d = 1 mod (p -1).(q -1)

24

Page 25: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Šifrovací systém RSA – Fermatova a Eulerova vetaŠifrovací systém RSA – Fermatova a Eulerova veta

Malá Fermatova veta (Pierre de Fermat, 1601 – 1665): Ak n je prvočíslo a a nie je násobkom n, potom platí an-1 = 1 mod n

o Fermatova veta umožňuje počítať inverzné čísla v module n, pretože a-1 mod n = an-2 mod n. Napríklad inverzné číslo k číslu 5 v aritmetike mod 7 je: 5-1 mod 7 = 57-2 mod 7 = 55 mod 7 = ((53 mod 7). (52 mod 7)) mod 7 = (6.4) mod 7 = 3.

Eulerova veta (Leonhard Euler, 1707 - 1783) o zavádza funkciu eulerových totientov fi(n). Je to počet kladných čísel menších ako n, ktoré nedelia

číslo n, napríklad ak n je prvočíslo, potom fi(n)= n-1.

o Keď n je súčinom prvočísel p a q, potom fi(n)= fi(p.q)= fi(p).fi(q)= (p-1).(q-1).

o Eulerove zovšeobecnenie malej Fermatovej vety: ak a a n nemajú spoločných deliteľov, potom afi(n)

mod n = 1. Prečo šifrovací systém RSA funguje

o Pretože e.d = 1 mod (p-1).(q-1) = 1 mod fi(n), potom e.d = k.fi(n)+1o Ak predpokladáme, že správa P (hašovacia hodnota) je menšia ako p a q, teda P a n=p.q nemajú

spoločných deliteľov deliteľov, potom platí (Pe)d mod n = (Pd)e mod n = Pk.fi(n)+1 mod n = P mod n = P Príklad šifrovania a dešifrovania algoritmom RSA

o Nech p=11, q=13, potom n=p.q=143, fi(n)=(p-1).(q-1)=10.12=120o Zvoľme za e=11, číslo inverzné d je riešením rovnice 11.d=1 mod 120, čo je d=11 (v praxi nesmie

byť e=d)o Zašifrujme správu (hašovaciu hodnotu) P=7, c= Pe mod n = 711 mod 143= 106o Dešifrovanie správy P = cd mod n = P = 10611 mod 143 = 7.o Pri výpočte treba použiť vzťah (a.b) mod n = ((a mod n).(b mod n)) mod n

25

Page 26: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Šifrovací systém RSA – Test prvočíselnostiŠifrovací systém RSA – Test prvočíselnosti

Šifrovací systém RSA potrebuje prvočísla. Existuju štatistické testy na zisťovanie prvočíselnosti. Ak číslo p prejde testom, tak s istou pravdepodobnosťou je číslo p prvočíslo (napr. s pravdepodobnosťou 1/2 je číslo zložené, ak číslo p prejde testom pre 50 rôznych svedkov, potom s pravdepodobnosťou 1/250 je číslo zložené).

Lehmanov test na zistenie, či je číslo p prvočíslo

1. Zvoľte číslo a (svedok) menšie ako číslo p

2. Vypočítajte x=a(p-1)/2 mod p

3. Ak x≠1 alebo -1 mod p, potom p určite nie je prvočíslo

4. Ak x=1 alebo -1 mod p, potom pravdepodobnosť, že p nie je prvočíslo nie je väčšia ako ½.

Rabin–Millerov test na zistenie, či číslo p je prvočíslo. Algoritmus predpokladá rozloženie čísla p-1=m.2b, kde b je maximálne možné (číslo m nie je deliteľné 2)

1. Zvoľte náhodné číslo a (svedok) menšie ako číslo p2. Nastavte j=0 a nastavte z= am mod p3. Ak z=1 alebo z=p-1, potom p prešlo testom a môže byť prvočíslo4. Ak j>0 a z=1, potom p nie je prvočíslo5. Nastavte j=j+1. Ak j<b a z≠p-1, nastavte z=z2 mod p a choďte späť na krok 4. Ak z=p-1,

potom p prešlo testom a môže byť prvočíslo 6. Ak j=b a z≠p-1, potom p nie je prvočíslo.

Rabin-Millerov test konverguje s rýchlosťou 1/4 26

Page 27: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Hašovacie funkcieHašovacie funkcie

Jednosmerná funkciao Pre dané x je možné ľahko vypočítať F(x) a pre dané F(x) je veľmi ťažké vypočítať xo Pre dané x nie je ľahko nájsť x’≠x také, že F(x) = F(x’)o Je obťažné nájsť dve náhodné x, x’ také, že F(x) = F(x’) (odolnosť proti kolízii, rozbitie

skleneného pohára) Jednosmerná funkcia so zadnými vrátkami

o Jednocestná funkcia + pre dané F(x) je ľahko vypočítať x, pokiaľ sa pozná tajomstvo (rozložené hodinky na súčiastky, inštrukcie na zostavenie)

Jednosmerná hašovacia funkciao Jednosmerná funkcia, vstup premenlivej dĺžky a (kratší) výstup pevnej dĺžky (128 alebo 160

bitov) prípadne 256 (SHA-256) Odtlačok prsta, fingerprint, charakteristika

Hašovacie funkcie a hašovacie hodnoty chránia údaje pri prenose alebo pri uložení pred modifikáciou

o Funkcia parity a paritný bito Delenie postupnosti bitov (chápané ako koeficienty polynómu s vysokou mocninou) ireducibilným

polynómom a zvyšok po delení

Z hašovacej hodnoty nie je možné rekonštruovať pôvodné údaje, z ktorých bola hašovacia hodnota vypočítaná. (Bohužiaľ už to pre niektoré hašovacie funkcie nie je pravda, SHA-1, MD5)

Kryptografické hašovacie funkcie HMAC (nelineárne transformácie údajov do hašovacej hodnoty)

27

Page 28: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Diffie – Hellmanova výmena kľúčaDiffie – Hellmanova výmena kľúča

Účelom algoritmu je umožniť dvom vzdialeným používateľom vymeniť si bezpečným spôsobom šifrovací kľúč

Bezpečnosť algoritmu je založená na obťažnosti vypočítať diskrétny logaritmus v algebraickej štruktúre konečných polí

Primitívny koreň prvočísla po je také číslo a, že jeho mocniny v aritmetike mod p generujú všetky čísla od 1 po p-1o a je primitívny koreň prvočísla p, keď čísla a1 mod p, a2 mod p, a3 mod p,.. ap-1 mod p sú

rôzne a predstavujú čísla 1,2,3,..p-1 v nejakej permutáciio Pre každé b, 1≤ b ≤ p-1, je potom možné jednoznačne nájsť i (diskrétny logaritmus) tak,

že platí b = ai mod p Algoritmus výmeny kľúča

o Globálne verejné prvky: p-prvočíslo, a-primitívny koreň po Generovanie kľúča 1. používateľom: vyberie privátne x1 také, že x1<p a vypočíta

verejnú časť y1 = ax1 mod p. Číslo y1 pošle 2. používateľovi.o Generovanie kľúča 2. používateľom: vyberie privátne x2 také, že x2<p a vypočíta

verejnú časť y2 = ax2 mod p. Číslo y2 pošle 1. používateľovi.o Generovanie tajného kľúča 1. používateľom: vypočíta tajný kľúč k = (y2)x1 mod p.o Generovanie tajného kľúča 2. používateľom: vypočíta tajný kľúč k = (y1)x2 mod p.o Tajné kľúče generované obidvoma používateľmi sú zrejme rovnaké, pretože k = (y2)x1

mod p = (ax2 mod p)x1 mod p = (ax1 mod p)x2 mod p = (y1)x2 mod p = k. (Aplikovali sa pravidlá modulárnej aritmetiky.)

Tento spôsob dohodnutia tajného kľúča je náchylný na útok Man in the middle.28

Page 29: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Využitie šifrovania pri protokolochVyužitie šifrovania pri protokoloch

Protokolo Je usporiadaná postupnosť krokov dvoch alebo viac strán na vykonanie istej

úlohyo Každý, kto používa protokol musí byť s ním dopredu oboznámený a musí s

ním súhlasiťo Dobrý protokol má tieto vlastnosti

Je zriadený dopredu – protokol je zriadený predtým, než sa ide používať Vzájomne odsúhlasený – všetky zúčastnené strany súhlasia s protokolom, jeho

postupnými krokmi Jednoznačný – žiadna strana nemôže urobiť chybný krok z dôvodu, že strana

nerozumela kroku Úplný – v každej situácii, ktorá sa vyskytne, existuje predpis ako pokračovať ďalej

Typy protokolov – protokoly sa používajú pri komunikácii medzi účastníkmi rôznych typov aktivít (bankové transfery, voľby, referendá,..).

Treba zabezpečiť, aby protokoly realizovali férové – korektné operácie. Kto bdie nad férovosťou operácií?

o Arbitrované protokolyo Rozsúditeľné protokolyo Samozabezpečujúce protokoly

29

Page 30: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Využitie šifrovania pri protokolochVyužitie šifrovania pri protokoloch

Arbitrované protokolyo Transakcie medzi dvomi navzájom si nedôverujúcimi stranami sa realizujú

prostredníctvom tretej dôveryhodnej nezainteresovanej strane – arbitra. Arbitrovi obe strany dôverujú.

Obe strany nemusia nájsť dôveryhodného arbitra Arbiter musí byť stále dostupný Arbiter spôsobuje časovú stratu v komunikácii, pretože vstupuje do každej

transakcie Arbiter predstavuje úzke miesto, veľa používateľov sa naňho spolieha Je zraniteľné dôvernosť transakcií, pretože všetky správy idú cez arbiter

Rozsúditeľné protokolyo Podobne ako v prvom prípade je potrebná tretia strana, ktorá v prípade

potreby rozsúdi, či bola transakcia férová alebo nie a kto konal neférovo. Pri tomto protokole mujú obidve strany dostatok údajov, na základe ktorých môže arbiter (sudca) rozhodnúť o férovosti transakcie a tiež rozhodnúť, kto klamal. Tieto protokoly požadujú zásah tretej strany iba v prípade nezrovnalostí.

Samozabezpečujúce protokolyo Svojou podstatou zabezpečujú férovosť transakcií. Nie je potrebný arbiter. Ak

jedna strana klame, druhá to hneď zistí. (Protokol neexistuje pre každý prípad transakcie.)

30

Page 31: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Zábudlivý prenos (Oblivious transfer)Zábudlivý prenos (Oblivious transfer)

Tento protokol rieši problém, v ktorom odosielateľ posiela jednu z dvoch správ, pričom ani odosielateľ ani príjemca do istého kroku protokolu nevedia, ktorá správa to bola

Hádzanie mincou na diaľku. Odosielateľ S hodí mincu a zapíše výsledok (hlava, orol) na papierik. Príjemca R zapíše na papier svoj odhad. Tieto osoby sa potom musia stretnúť a porovnať si papieriky. Ak majú rovnakú stranu mince vyhral R, ak nie vyhral S.

Ako zabezpečiť, aby sa nemuseli stretnúť? Toto rieši Oblivious transfer. 1. S vyberie dva páry kľúčov pre asymetrické šifrovanie (Ei, Di) a (El, Dl). R vyberie tajný kľúč

k pre symetrické šifrovanie. R a S poznajú symetrický a asymetrický šifrovací systém.

2. S pošle R verejné kľúče Ei a El . Privátne kľúče si ponechá.

3. R vyberie jeden z verejných kľúčov Eh (odhadne výsledok hádzania mincou) a pošle S zašifrovaný tajný kľúč Eh (k).

4. S vyberie jeden z privátnych kľúčov napr. Dl (hádže mincou s nejakým výsledkom) a dešifruje prijatú správu K = Dl (Eh (k)). K je binárny reťazec nič nehovoriaci S. (Ak h=l, potom K=k, ináč K je bezvýznamný reťazec.)

5. S zašifruje symetrickou šifrou správu M=„Prehral som. S“ kľúčom K, vytvorí S(M,K). Ak K=k, potom skutočne prehral, k správe pridá svoj výber l a S(M,K) pošle R.

6. R dešifruje správu S(M,K) kľúčom k. R vybral h a S vybral l. Ak h=l vyhral R, pretože R správne dešifruje správu S(M,K). R pošle S správu M a h ako dôkaz, že R správne odhadol. Ak h≠l potom prehral R, pretože dešifrovaním správy S(M,K) nezíska M.

7. Keď je víťaz známy, S pošle R privátne kľúče Di a Dl a R môže verifikovať férovosť. 31

Page 32: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Podpísanie kontraktu na diaľkuPodpísanie kontraktu na diaľku

Nech Janko a Marka chcú podpísať kontrakt o Pretože podpis na kontrakte ich zaväzuje, urobia tak vtedy, keď to urobí aj ich partnero Najjednoduchšie riešenie je také, že sa stretnú a kontrakt podpíšu naraz alebo to

urobia cez arbitra (arbiter bude dohliadať na férovosť protokolu podpisu)o Ako to urobiť, aby podpísali kontrakt za vyššie uvedenej podmienky a nemuseli sa ani

stretnúť a ani využiť služby arbitra? Protokol podpisu musí splniť dve podmienky:

o Záväzok – aby v každom kroku protokolu mali obe strany rovnaký záväzok alebo aby záväzok nemala žiadna strana.

o Nesfalšovateľnosť – podpisy na kontrakte musia byť autentické. Každá strana musí preukázať svoju autentičnosť.

Papierová analógia protokolu podpisu:o Medzi Jankom a Markou cestuje viacero kópií zmluvy a každá strana si po každom kole

jednu súčasnú kópiu odložío V prvom kroku Janko podpíše kontrakt iba písmenom J a pošle Marke, ktorá ho

podpíše iba písmenom Mo Marka si jednu kópiu s podpisom Janka (iba prvé písmeno J) ponechá a ostatné kópie

pošle Jankovio Janko podpíše kontrakt druhým písmenom a, jednu kópiu si ponechá a ostatné pošle

Markeo Takto si Janko a Marka točia sadu zmlúv, až dospejú k stavu, že zmluvy sú podpísané

všetkými písmenami oboch partnerov a každý z nich má jednu kópiu. 32

Page 33: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Podpísanie kontraktu na diaľkuPodpísanie kontraktu na diaľku

Počítačové riešenie funguje rovnako: 1. Janko si náhodne vyberie 2n šifrovacích kľúčov j1,j2,j3,.... j2n pre symetrický kryptosystém (pozná ho i

Marka). Kľúče sú zoradené do párov (j1,jn+1),(j2,jn+2), ... (jn,j2n). Medzi kľúčmi nie je žiaden významný znak, ktorý by ich vydeľoval resp. vyjadroval, že ji a jn+i je pár.

2. Pre každý kľúč Janko zašifruje Ji=E(S, ji), kde S je štandardná správa, ktorej obsah je bezvýznamný, Janko pošle všetky zašifrované správy J1,J2,J3,...J2n Marke. To znamená, že Marka má šifrovanú verziu správy pod každým kľúčom.

3. Janko súhlasí, že má záväzok za kontrakt, ak Marka preukáže kľúčové páry (j i,jn+i) pre každé i.

4. Marka zopakuje vyššie uvedené tri kroky s kľúčmi mi, a zašifrovanými správami Mi.

5. Janko pošle Marke z každého páru (ji,jn+i) zábudlivým prenosom jeden náhodne vybratý šifrovací kľúč (alebo ji alebo jn+i). To znamená, že Marka nevie, ktorý kľúč z kľúčového páru prijala. To isté spraví aj Marka. Pošle Jankovi z každého páru (mi,mn+i) zábudlivým prenosom jeden náhodne vybratý šifrovací kľúč (alebo mi alebo mn+i). Na tomto mieste majú Janko aj Marka polovicu tajomstva toho druhého.

6. Nech l je dĺžka kľúčov ji a mi. Pre k=1,2,3,..l

Begin Janko pošle Marke k-tý bit všetkých kľúčov ji v poradí i=1,2,...2n a Marka pošle Jankovi k-tý bit všetkých kľúčov mi v poradí i=1,2,...2n End.

7. Ak predpokladáme, že ani jeden neprestane predčasne, nakoniec obaja majú všetkých l bitov kľúčov toho druhého a kontrakt je podpísaný.

V kroku 6 má Janko a Marka rovnaký počet bitov z každého z chýbajúcich kľúčov:o Marka pozná Ji,S a časť kľúča ji (to isté pozná aj Janko)o Majú rovnakú šancu prelomiť kľúče, resp. zostávajúce bity kľúčovo Ak by na istom bode prestal Janko alebo Marka vysielať, prestane aj ten druhýo Ak jeden začne vysielať chybné (vymyslené) bity, ten druhý ho môže usvedčiť, že klamal, pretože má

polovicu jeho kľúčov (ich platnosť si overil). 33

Page 34: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Doporučená poštaDoporučená pošta

Nech Janko chce Marienke poslať správu o Janko ale chce potvrdenie od Marienky, že prijala správu (Janko nechce vydať správu,

pokiaľ Marienka nedá potvrdenie)o Marienka takisto nechce vydať potvrdenie Jankovi, že prijala správu, pokiaľ ju nemáo V reálnom živote to robí poštový úradník (arbiter), my to chceme urobiť na diaľku cez

počítačovú sieť Protokol poslatia správy s potvrdením prevzatia je založený na dvoch podmienkach:

o Janko pošle Marienke správu G v zašifrovanom tvare a dá Marienke šifrovací kľúč iba v prípade, že Marienka mu dá potvrdenie.

o Marienka potvrdí prijatie správy G iba v prípade, že obdrží šifrovací kľúč, ktorým dešifruje správu.

Počítačové riešenie funguje takto:

1. Janko si náhodne vyberie n+1 šifrovacích kľúčov j0,j1,j2,.... jn pre symetrický kryptosystém (pozná ho i Marienka). Janko ďalej stanoví šifrovacie kľúče jn+i= j0 xor ji , pre všetky i=1,2,...n.

2. Janko zašifruje správu G kľúčom j0, J=E(G, j0) a zašifrovanú správu pošle Marienke. Pretože pre všetky i platí jn+i xor ji = j0 xor ji xor ji = j0, môže Marienka dešifrovať správu vtedy, ak dostane ľubovolný pár šifrovacích kľúčov (ji,jn+i).

3. Pre každý kľúč Janko zašifruje Ji=E(S, ji) i=1,2,...2n, kde S je štandardná správa, ktorej obsah je bezvýznamný. Janko pošle všetky zašifrované správy J1,J2,J3,...J2n Marienke. To znamená, že teraz má Marienka šifrovanú správu G a štandardnú správu S šifrovanú každým kľúčom (okrem kľúča j0). 34

Page 35: Kryptografia a pou ž itie kryptografie na zaistenie bezpe č nosti

Doporučená poštaDoporučená pošta

Počítačové riešenie funguje rovnako: 4. Marienka si náhodne vyberie 2n šifrovacích kľúčov m1,m2,m3,.... m2n a zašifruje správu

S všetkými kľúčami, Mi=E(S, mi) i=1,2,...2n , a všetky Mi pošle Jankovi.5. Marienka pošle Jankovi prehlásenie, že potvrdzuje prijatie otvoreného textu

zašifrovanej správy G, ak Janko je schopný určiť kľúče Marienkinho páru (m i,mn+i) a všetky ji, i=1,2,3,..2n . Týmto vyhlásením Marienka potvrdzuje, že ak Janko má čas na určenie jedného z jej páru kľúčov (mi,mn+i), ona bude mať tiež čas na určenie jedného z jeho páru kľúčov (jm,jn+m). Kedykoľvek Marienka získa kľúčový pár, je schopná vypočítať šifrovací kľúč j0 a získať správu G, G=D(J, j0). Druhá podmienka Marienkinho prehlásenia je zabezpečenie, že Janko koná fér – t.j. Každý pár (j i,jn+i) dá j0.

6. Podobne ako v protokole podpisu kontraktu si Janko a Marienka zábudlivým prenosom vymenia kľúčové páry (j1,jn+1), (j2,jn+2), ... (jn,j2n) a (m1,mn+1), (m2,mn+2), ... (mn,m2n). To znamená, že Marienka dostane od Janka kľúč ji alebo jn+i, pričom ani Janko ani Marienka nevie ktorý. Podobne Janko dostane od Marienky kľúč z páru (m i,mn+i) a nevie ktorý.

6. Nech l je dĺžka kľúčov ji a mi. Pre k=1,2,3,..l

Begin Janko pošle Marienke k-tý bit všetkých kľúčov j i v poradí i=1,2,...2n a Marienka pošle Jankovi k-tý bit všetkých kľúčov m i v poradí i=1,2,...2n End.

7. Ak predpokladáme, že ani jeden neprestane predčasne, nakoniec obaja majú všetkých l bitov kľúčov toho druhého a pošta je doručená.

35