Bezpeˇcnost 3. Blokové, transpoziˇcní a exponenciální šifry
doc. Ing. Róbert Lórencz, CSc.
ˇ Ceské vysoké uˇcení technické v Praze Fakulta informaˇcních technologií Katedra poˇcítaˇcových systému˚
ˇ Pˇríprava studijních programu˚ Informatika pro novou fakultu CVUT je spolufinancována Evropským sociálním fondem ˇ a rozpoˇctem Hlavního mesta Prahy v rámci Operaˇcního programu Praha — adaptabilita (OPPA) projektem ˇ CZ.2.17/3.1.00/31952 – „Pˇríprava a zavedení nových studijních programu˚ Informatika na CVUT v Praze“. Praha & EU: Investujeme do vaší budoucnosti
ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
1 / 30
Obsah pˇrednášky
Blokové – polygrafické substituˇcní šifry Polyalfabetické šifry Transpoziˇcní šifry Exponenciální šifry Zˇrízení spoleˇcného klíˇce
ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
2 / 30
Blokové – polygrafické substituˇcní šifry (1) Shrnutí – afinní substituˇcní šifry Zranitelné pˇri použití kryptoanalýzy založené na frekvenˇcní analýze zašifrovaného textu. ˇ K eliminaci techto nevýhod byl vyvinut systém, který nahrazuje bloky urˇcité délky otevˇreného textu ⇒ šifry blokové – polygrafické. Dále: blokové – polygrafické šifry založené na modulární aritmetice, které byly vyvinuté Hillem v roce 1930. Blokové – polygrafické substituˇcní šifry Uvažujeme šifru s blokem o délce jednoho bigramu OT, který je ˇ do ŠT s dvoupísmenovými bloky. Na konec zprávy pˇreváden ˇ že zpráva konˇcí blokem s jedním pˇridáváme písmeno X v pˇrípade, písmenem. Zpráva THE GOLD IS BURIED IN ORONO je seskupená jako TH EG OL DI SB UR IE DI NO RO NO. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
3 / 30
Blokové – polygrafické substituˇcní šifry (2) V dalším jsou tato písmena pˇreložena do jejich cˇ íselných ekvivalentu˚ 19 7 4 6 14 11 3 8 18 1 20 17 8 4 3 8 13 14 17 14 13 14. Každý blok dvou cˇ ísel p1 , p2 otevˇreného textu je pˇreveden do bloku dvou cˇ ísel c1 , c2 šifrového textu pomocí definice c1 jako nejmenšího nezáporného zbytku modulo 26 lineární kombinace p1 a p2 a definice c2 jako nejmenšího nezáporného zbytku modulo 26 lineární kombinace p1 a p2 . Napˇríklad: c1 = |5p1 + 17p2 |26 ,
0 ≤ c1 < 26
c2 = |4p1 + 15p2 |26 ,
0 ≤ c2 < 26.
(1)
První blok 19 7 je pˇreveden do bloku 6 25 protože c1 = |5 · 19 + 17 · 7|26 = 6, c2 = |4 · 19 + 15 · 7|26 = 25. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
4 / 30
Blokové – polygrafické substituˇcní šifry (3) Po aplikaci této transformace na všechny bloky zprávy otevˇreného textu je šifrový text 6 25 18 2 23 13 21 2 3 9 25 23 4 14 21 2 17 2 11 18 17 2. Pokud tyto bloky pˇrevedeme na písmena, máme šifrový text GZ SC XN VC DJ ZX EO VC RC LS RC. Dešifrovací pˇredpis pro tento šifrovací systém získáme ˇrešením soustavy kongruencí (1), tj. ˇrešením soustavy dvou lineárních rovnic v modulární aritmetice s modulem 26 pro neznámé p1 a p2 p1 = |17c1 + 5c2 |26 ,
0 ≤ p1 < 26
p2 = |18c1 + 23c2 |26 ,
0 ≤ p2 < 26,
(2)
kde pro determinant 4 soustavy (1) platí gcd (4, 26) = 1. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
5 / 30
Blokové – polygrafické substituˇcní šifry (4) V maticovém zápisu mužeme ˚ rovnici (1) vyjádˇrit následovneˇ 5 17 c1 p 1 c2 = 4 15 · p2 26 26 a pro rovnici (2) je maticový zápis 17 5 p1 c 1 p2 = 18 23 · c2 26 26
(3)
(4)
ˇ v Hilloveˇ šifrovacím systému, tj. blokové – polygrafické šifˇre, Obecne, je ŠT získaný seskupením písmen OT do bloku˚ o velikosti n, pˇrevodem písmen do cˇ íselných ekvivalentu˚ a generováním ŠT podle vztahu |c|26 = |Ap|26 , (5) kde A je matice dimenze n × n a platí gcd (det A, 26) = 1, elementy c1 , c2 , . . . , cn vektoru c pˇredstavují blok ŠT odpovídající bloku OT, který je reprezentován elementy p1 , p2 , . . . , pn vektoru p a nakonec je ŠT vyjádˇren v cˇ íselných ekvivalentech pˇreveden do písmen. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
6 / 30
Blokové – polygrafické substituˇcní šifry (5) Pro dešifrování je použita inverzní matice A−1 k matici A modulo 26, kterou lze získat napˇríklad GJ eliminaˇcním procesem aplikovaným na matici A a souˇcasneˇ matici jednotkovou E v modulární aritmetice s modulem 26. Mužeme ˚ psát za použití platnosti |AA−1 |26 = |E|26 |A−1 c|26 = |A−1 (Ap)|26 = |(A−1 A)p|26 = |p|26 . Takže, pro získání otevˇreného textu ze šifrového textu použijeme následující vztah |p|26 = |A−1 c|26 .
(6)
Ilustrujme si popsanou proceduru na pˇríkladeˇ pro n = 3 se šifrovací maticí 11 2 19 A = 5 23 25 . 20 7 1 ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
7 / 30
Blokové – polygrafické substituˇcní šifry (6) Vzhledem k tomu, že determinant matice det A = 5 a platí gcd (5, 26) = 1 existuje inverzní matice k matici A a mužeme ˚ pro šifrování s bloky o velikosti tˇrech písmen psát c1 p 1 c2 = A p2 . c2 p3 26
26
K zašifrování zprávy STOP PAYMENT nejdˇríve seskupíme zprávu do bloku˚ po tˇrech písmenech s pˇridáním fiktivního písmena X na konec posledního bloku (výplnˇ — padding). Takto dostáváme OT v blocích STO PPA YME NTX. ˇ Pˇrevodem techto písmen do jejich cˇ íselných ekvivalentu˚ dostáváme: 18 19 14 ˇ R. Lórencz (CVUT FIT)
15 15 0
24 12 4
13 19 23.
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
8 / 30
Blokové – polygrafické substituˇcní šifry (7) ˇ První blok šifrového textu vypoˇcítáme následovne: 11 2 19 c1 8 18 c2 = 5 23 25 19 = 19 20 7 1 c2 13 14 26 26 Zašifrováním celé zprávy otevˇreného textu dostáváme 8 19 13
13 4 15
0 2 22
20 11 0
a koneˇcneˇ šifrový text v písmenné podobeˇ je ITN NEP ACW ULA. Pro dešifrovací proces použijeme transformaci p1 c1 −1 p2 = A c2 , p2 c 3 26 26 ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
9 / 30
Blokové – polygrafické substituˇcní šifry (8) kde −1 A
26
6 21 11 = 21 25 16 . 19 3 7 26
ˇ kryptoanalýzu založenou S blokovými šiframi je možné provádet na frekvenˇcní analýze bloku˚ n písmen (jednopísmenná frekvenˇcní analýza je neuˇcinná). ˇ Pro blokovou šifru se dvema písmeny v jednom bloku existuje 262 kombinací dvou písmen v bloku. Existují studie výskytu dvou písmen v textech ruzných ˚ jazyku. ˚ ˇ ˇ se vyskytující dvojice písmen Bylo zjišteno, že nejˇcasteji v anglickém textu je TH, a potom dvojice HE. Pokud Hilluv ˚ blokový šifrovací systém o délce bloku˚ dvou písmen byl ˇ vyskytuje dvojice použit pro zašifrování zprávy, ve které se nejˇcasteji písmen KX a následneˇ dvojice VZ, mužeme ˚ se domnívat, že dvojicím písmen KX a VZ v ŠT odpovídají dvojice písmen TH a HE v OT. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
10 / 30
Blokové – polygrafické substituˇcní šifry (9) Bloky 19 7 a 7 4 mohou být v ŠT bloky 10 23 a 21 25. Pokud A je ˇ ˇ mužeme šifrovací matice, potom na základeˇ techto zjištení ˚ psát A 19 7 = 10 21 . 23 25 26 7 4 26 Pokud platí
−1 4 19 19 7 19 19 = 7 4 26
,
26
pak a
10 21 4 19 23 17 A= = , 23 25 19 19 26 21 2 2 9 −1 . A = 5 23 26 26
ve vztahu (6) dešifrujeme ŠT, a po této operaci vidíme, jestli náš pˇredpoklad byl správný, tj. jestli je takto získaný OT smysluplný. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
11 / 30
Blokové – polygrafické substituˇcní šifry (10) ˇ Zobecnení: Pokud víme, že bloky o velikosti n znaku˚ ŠT c1j , c2j , . . . , cnj , j = 1, 2, . . . , n, a bloky o velikosti n znaku˚ OT p1j , p2j , . . . , pnj , j = 1, 2, . . . , n si vzhledem k cˇ etnosti výskytu v ŠT a OT vzájemneˇ odpovídají ⇒ obdržíme soustavu n lineárních kongruencí c11 . . . c1j . . . c1n p11 . . . p1j . . . p1n c21 . . . c2j . . . c2n p21 . . . p2j . . . p2n A .. .. .. .. .. = .. .. .. .. .. . . . . . . . . . . cn1 . . . cnj . . . cnn pn1 . . . pnj . . . pnn 26
26
a maticoveˇ
|AP|26 = |C|26 ,
kde P a C jsou matice dimenze n × n s elementy pij a cij . Pokud platí gcd (det P, 26) = 1, ⇒ pro A platí |A|26 = |CP−1 |26 , kde P−1 je inverzní matice k matici P modulo 26. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
12 / 30
Blokové – polygrafické substituˇcní šifry (11)
Shrnutí: Kryptoanalýza blokových šifer s použitím výskytu cˇ etnosti jednotlivých kombinací písmen v bloku o velikosti n má smysl jen tehdy, když n je malé cˇ íslo. Napˇríklad, pokud n = 10, existuje 2610 = 1, 4 × 1014 kombinací písmen s touto délkou bloku. ˚ Pro tak velký poˇcet ruzných ˚ kombinací deseti písmen v bloku je extrémneˇ obtížné použít analýzu založenou na srovnání ˇ relativních cˇ etností techto kombinací v šifrovém textu s výsledky relativní cˇ etnosti získanými z obyˇcejného textu.
ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
13 / 30
Polyalfabetické šifry (1) Monoalfabetické šifry jsou málo bezpeˇcné protože distribuce frekvence výskytu elementu˚ ŠT je odrazem distribuce frekvence výskytu elementu˚ OT. Polyalfabetické šifry ˇreší tento nedostatek. Systém polyalfabetických šifer nad abecedou ZN tvoˇrí koneˇcná pˇrípadneˇ nekoneˇcná posloupnost monoalfabetických transformací (T1 , T2 , . . . , Tn , . . . ) nad abecedou ZN . Tyto posloupnosti tvoˇrí prostor klíˇcu˚ tohto systému K = {T1 , T2 , . . . , Tn , . . . } Specielním pˇrípadem polyalfabetických šifer je systém Vigenerovských šifer. Tyto šifry tvoˇrí koneˇcnou posloupnost Caesarovských transformací. Naˇríklad pˇri základní abecede mohout být posloupnosti klíˇcu: ˚ K = {k1 , k2 , . . . , kn } kde ki ∈ ZN , pro i ∈ h1, 2, . . . , ni. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
14 / 30
Polyalfabetické šifry (2) Kryptografická transformace OT (p1 , p2 , . . . ) odvozená od klíˇce K je cj = |pj + k|j|n |N ˇ Císlo n se nazýva periodou Vigenerovské šifry, nebo také délkou klíˇce. Pˇríklad: Necht’ K = (0 B 0 ,0 R 0 ,0 I 0 ,0 D 0 ,0 G0 ,0 E 0 ) = (1, 17, 8, 3, 6, 4). OT je THE LITERATURE OF CRYPTOGRAPHY HAS A CURIOUS HISTORY
ŠT tohoto OT v 5 písmenových blocích Vigenerovy šifry s klíˇcem K je: THELI TERAT BRIDG EBRID UYMOO XFIIW
UREOF GEBRI ...
CRYPT DGEBR
OGRAP IDGEB
HYHAS RIDGE
ACURI BRIDG
... ...
Tento algoritmus snižuje použitím klíˇce K se 6 písmeny dostateˇcným ˇ zpusobem ˚ vliv cˇ etnosti každého písmene OT na nerovnomernost distribuce proto, že má k dispozici 6 ruzných ˚ transformací. Vyhovující vyhlazení distribuce jsou schopná i klíˇce o 3 znacích. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
15 / 30
Transpoziˇcní šifry (1) Transpozice – permutace Cílem substituce je konfúze, tj. ztížení urˇcení zpusobu ˚ transformace zprávy a klíˇce na ŠT. ˇ eˇ uspoˇrádání Transpozice je šifrování, kde dochází ke zmen písmen zprávy. Cílem transpozice je difúze, tj. rozptyl informace zprávy nebo klíˇce po celé šíˇrí ŠT. ˇ Transpozice odstranuje vzniklé systematické struktury. ˇ Transpozice je cˇ astokrát oznaˇcována za permutaci, protože mení uspoˇrádání symbolu˚ zprávy. Sloupcová transpozice ˇ Sloupcová transpozice pˇrerozdeluje znaky OT do sloupcu. ˚ ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
16 / 30
Transpoziˇcní šifry (2) ˇ ˇ ˇ do Pˇríklad: Mejme petisloupcovou transpozici ⇒ znaky OT se rozdelí ˇ ˇ samostatních bloku˚ po peticích a zapíší se po sobe: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 . . . ... Výsledný ŠT je potom p1 p6 p11 . . . p2 p7 p12 . . . p3 p8 p13 . . . ˇ Mejme dále OT: THIS IS THE MESSAGE TO SHOW HOW A COLUMNAR TRANSPOSITION WORKS Tento OT text mužeme ˚ zapsat pomocí sloupcové transpozice napˇríklad do 5 sloupcu˚ takto: ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
17 / 30
Transpoziˇcní šifry (3) T S E E O A M R O O K
H T S T W C N A S N S
I H S O H O A N I W X
S E A S O L R S T O X
I M G H W U T P I R X ...
Výsledný ŠT je potom TSEEO
AMROO
IWXSE ˇ R. Lórencz (CVUT FIT)
KHTST
ASOLR
WCNAS
STOXI
NSIHS
MGHWU
Blokové, transpoziˇcní a exponenciální šifry
OHOAN
TPIRX BI-BEZ, 2011, Pˇredn. 3.
18 / 30
Exponenciální šifry (1) Exponenciální šifry ˇ Založené na modulárním umocnování. Byly uvedeny v roce 1978 Pohlingem a Hellmanem. znaˇcneˇ odolné vuˇ ˚ ci kryptoanalýze Postup šifrování pomoci exponenciální šifry: Necht’ m je prvoˇcíslo, e je celé kladné cˇ íslo a je klíˇc a platí gcd (e, m − 1) = 1. Pro zašifrování zprávy je nejdˇríve OT pˇreveden do dvojciferného cˇ íselného ekvivalentu pomocí tabulky: písmeno num. ekv. písmeno num.ekv.
A 00 N 13
ˇ R. Lórencz (CVUT FIT)
B 01 O 14
C 02 P 15
D 03 Q 16
E 04 R 17
F 05 S 18
G 06 T 19
H 07 U 20
Blokové, transpoziˇcní a exponenciální šifry
I 08 V 21
J 09 W 22
K 10 X 23
L 11 Y 24
BI-BEZ, 2011, Pˇredn. 3.
M 12 Z 25
19 / 30
Exponenciální šifry (2) Seskupíme získaná cˇ ísla do 2s dekadických cˇ íslic tvoˇrících cˇ íslo, kde s je poˇcet písmen v jednom bloku. Tyto bloky tvoˇrí cˇ ísla menší než m. Když 2525 < m < 252525, potom s = 2. Každý blok p s s písmeny OT, který reprezentuje celé cˇ íslo s 2s dekadickými cˇ íslicemi, pˇrevedeme na blok c ŠT vztahem c = |pe |m ,
0≤c<m.
(7)
ŠT se skládá z takových bloku, ˚ že celá cˇ ísla, která je reprezentují, jsou menší než m. Hodnoty e urˇcují rozdílné šifry, a proto e mužeme ˚ pojmenovat šifrovacím klíˇcem. Pˇríklad: Necht’ m = 2633 (m je prvoˇcíslo) a necht’ šifrovací klíˇc e = 29, kde gcd (e, m − 1) = gcd (29, 2632) = 1. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
20 / 30
Exponenciální šifry (3) K zašifrování OT zprávy THIS IS AN EXAMPLE OF AN EXPONENTIATION CIPHER, kde její numerický ekvivalent se 4 cˇ íslicovými bloky (2 písmena) je 1907 0818 0818 0013 0423 0012 1511 0414 0500 1304 2315 1413 0413 1908 0019 0814 1302 0815 0704 1723. Na konec zprávy bylo kvuli zarovnání do bloku pˇridáno písmeno X (hodnota 23). Každý blok p OT je pˇreveden do bloku˚ ŠT s použitím vztahu c = |p29 |2633 , 0 < c < 2633. Napˇríklad k zašifrování prvního bloku otevˇreného textu poˇcítáme c = |190729 |2633 = 2199. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
21 / 30
Exponenciální šifry (4) ˇ Pro efektivní modulární umocnování použijeme algoritmus uvedený ve druhé pˇrednášce. Zašifrováním všech bloku˚ OT dostáváme ŠT: 2199 1745 1745 1209 2437 2425 1729 1619 0935 0960 1072 1541 1701 1553 0735 2064 1351 1704 1741 1459. K dešifrování bloku c ŠT potˇrebujeme znát dešifrovací klíˇc, tj. celé cˇ íslo d, pro které platí de ≡ 1 (mod m − 1) ⇒ d je multiplikativní inverze e modulo (m − 1), která existuje, pokud gcd (e, m − 1) = 1 ⇒ dešifrovací vztah pro náš blok p OT získame: |c d |m = |(pe )d |m = |ped |m = |pk (m−1)+1 |m = |(pm−1 )k p|m = |p|m , ˇ kde de = k (m − 1) + 1, pro nejaké celé cˇ íslo k , protože de ≡ 1 (mod m − 1). Pˇri odvození vztahu pro dešifrování bloku ŠT jsme ˇ použili malou Fermatovu vetu: pm−1 ≡ 1 (mod m). ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
22 / 30
Exponenciální šifry (5) Pˇríklad: K dešifrování bloku šifrového textu, který byl vygenerován s použitím modula m = 2633 a šifrovacího klíˇce e = 29, potˇrebujeme vypoˇcítat inverzi e modulo m − 1 = 2632. Podle EA vypoˇcítáme inverzi e−1 (2632) ⇒ |d|m−1 = e−1 (m − 1) = 29−1 (2632) = 2269. Potom dešifrování bloku ŠT c je vyjádˇreno výpoˇctem p podle vztahu p = |c 2269 |2633 . Pro dešifrování bloku 2199 šifrového textu potom platí p = |21992269 |2633 = 1907. ˇ ˇ provádeno ˇ Modulární umocnování muže ˚ být opet podle algoritmu uvedeném ve druhé pˇrednášce. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
23 / 30
Exponenciální šifry (6) ˇ Casová složitost Pro každý blok p OT zašifrovaný pomocí |pe |m potˇrebujeme ˇ 29. O((log2 m)3 ) bitových operací – Veta Pˇred dešifrováním potˇrebujeme nalézt inverzi d cˇ ísla e modulo m − 1. Výpoˇcet proveden EA potˇrebuje ((log2 m)3 ) bitových operací. Tento výpoˇcet je potˇrebné ho provést jen jednou. K pˇrevodu bloku ŠT na blok OT potˇrebujeme vypoˇcítat |c d |m a to je možné vykonat s použitím O((log2 m)3 ) bitových operací. ˇ S použitím modulárního umocnování muže ˚ být celý proces šifrování a dešifrování proveden znaˇcneˇ rychle. Na druhé straneˇ kryptoanalýza zprávy šifrované s použitím exponenciální šifry obecneˇ nemuže ˚ být vykonána v pˇrijatelneˇ rozumné dobeˇ se standardními výpoˇcetními prostˇredky. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
24 / 30
Exponenciální šifry (7) Pˇredpokládejme, že je použit pro exponenciální šifru modul m a navíc víme, jak vypadá blok OT p a blok ŠT c a platí c = |pe |m .
(8)
ˇ Pro úspešné provedení kryptoanalýzy potˇrebujeme najít šifrovací klíˇc e. Když vztah (8) platí, ˇríkáme, že e je logaritmus c o bázi p modulo m. ˇ Algoritmy pro nalezení logaritmu o dané bázi modulo nejaké prvoˇcíslo jsou známé jako problémy diskrétního logaritmu. p Nejrychlejší algoritmy potˇrebují pˇribližneˇ exp( log m log log m) bitových operací. ˇ K nalezení logaritmu modulo nejaké prvoˇcíslo s n dekadickými cˇ íslicemi a s použitím nejrychlejších známých algoritmu˚ pro výpoˇcet diskrétního logaritmu potˇrebujeme pˇribližneˇ stejný poˇcet bitových operací jako faktorizaci celého cˇ ísla o stejném poˇctu dekadických cˇ íslic s použitím nejrychlejších algoritmu. ˚ ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
25 / 30
Exponenciální šifry (8) Pˇríklad: Pro m se 100 dekadickými cˇ íslicemi, nalezení logaritmu modulo m vyžaduje pˇribližneˇ desítky let a pro m s 200 dekadickými cˇ íslicemi to je pˇribližneˇ 108 let. Délka klíˇce je jedním z parametru, ˚ které urˇcují bezpeˇcnost šifry ⇒ jeden z útoku˚ na prolomení šifry, je zjistit hodnotu klíˇce. ˇ hrubou silou (brute-force attack) je vyzkoušení Útok provádený n všech 2 možných kombinací hodnot klíˇce (n je # bitu˚ klíˇce). V orientaˇcní tabulce jsou uvedeny hodnoty bitu˚ n klíˇce, tak aby jeho prolomení mimo dosah možností ruzných ˚ kategorií luštitelu. ˚ # µPC # testu/s ˚ cˇ as [s] # operací n
hacker
firma
taj. služba
lidé
???
1 104 1 W [106 ] 1010 34
103 106 1 M [107 ] 1016 54
105 109 1 Y [108 ] 1022 73
108 1012 100 Y [1010 ] 1030 100
1051 1019 1000 Y [1011 ] 1081 269
ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
26 / 30
Zˇrízení spoleˇcného klíˇce (1) ˇ Délka klíˇce je pˇrímo úmerná kvaliteˇ šifry. Když m je prvoˇcíslo a m − 1 je souˇcinem malých prvoˇcísel ⇒ je možné použít specielních metod pro nalezení logaritmu modulo m s menším poˇctem binárních operací než O(log22 m) ⇒ je vhodné jako modula pro exponenciální šifrovací systémy používat cˇ ísla m = 2q + 1, kde q je prvoˇcíslo. Zˇrízení spoleˇcného klíˇce Exponenciální šifra je vhodná pro zˇrízení spoleˇcného klíˇce pro dva nebo více subjektu. ˚ Spoleˇcný klíˇc muže ˚ být napˇríklad použit jako ˇ šifrovací klíˇc pro šifrovací systém nejaké datové komunikace a je sestrojen tak, že neautorizovaný subjekt ho nemuže ˚ rozluštit ˇ v nejakém rozumném poˇcítaˇcovém cˇ ase. ˇ Necht’ m je velké prvoˇcíslo a necht’ a je nejaké celé cˇ íslo a platí gcd(m, a) = 1. Každý subjekt v síti si vybere celé cˇ íslo ki jako klíˇc tak, že gcd(ki , m − 1) = 1. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
27 / 30
Zˇrízení spoleˇcného klíˇce (2) ˇ vygenerovat klíˇc, tak nejdˇríve Když dva subjekty s klíˇci k1 a k2 si chtejí první subjekt pošle druhému subjektu celé cˇ íslo y1 takové, že platí y1 = |ak1 |m ,
0 < y1 < m
a druhý subjekt vypoˇcítá spoleˇcný klíˇc K na základeˇ vztahu K = |y1k2 |m = |ak1 k2 |m ,
0 < K < m.
ˇ druhý subjekt vyšle prvnímu subjektu celé cˇ íslo y2 , kde Podobne, y2 = |ak2 |m ,
0 < y2 < m
a první subjekt si vypoˇcítá spoleˇcný klíˇc K za pomocí vztahu K = |y2k1 |m = |ak1 k2 |m ,
0 < K < m.
Neautorizované subjekty nacházející se v komunikaˇcní síti nemohou najít spoleˇcný klíˇc K v rozumném poˇcítaˇcovém cˇ ase, protože jsou nuceni hledat logaritmus modulo m pro nalezení K . ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
28 / 30
Zˇrízení spoleˇcného klíˇce (3) ˇ Pˇríklad: Mejme subjekt A, B a m = 7, a = 4, k1 = 5, k2 = 4 |ak1 |m |ak2 |m
|45 |
1
A pošle B y1 =
2
B pošle A y2 =
3
A vypoˇcítá spoleˇcný klíˇc K = |y2k1 |m = |y2k1 |m = |45 |7 = 2
4
B vypoˇcítá spoleˇcný klíˇc K = |y1k2 |m = |y1k2 |m = |24 |7 = 2
=
7
⇒
=2
= |44 |7 = 4
Podobným zpusobem ˚ je možné spoleˇcný klíˇc K sdílet i s více než ˇ ˇ dvema subjekty. V pˇrípadeˇ n subjektu˚ má každý z techto subjektu˚ vlastní klíˇc k1 , k2 , . . . , kn . Potom pro spoleˇcný klíˇc K platí K = |ak1 k2 ···kn |m ,
0 < K < m.
ˇ schéma pro zˇrízení spoleˇcného klíˇce K pro 3 Úloha: Navrhnete subjekty A, B a C. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
29 / 30
Zˇrízení spoleˇcného klíˇce (4) Pˇredchozí schéma zˇrízení spoleˇcného klíˇce je v podstateˇ Diffie-Hellmanuv ˚ kryptorafický algoritmus veˇrejného klíˇce 1
Volba veˇrejných prvku˚ úˇcastníkem A: m prvoˇcísla a celého cˇ ísla 0 < a < m.
2
Generování parametru˚ klíˇce úˇcastníkem A: volba cˇ ísla k1 < m a výpoˇcet y1 = |ak1 |m , A odešle prostˇrednictvím komunikaˇcního kanálu B cˇ ísla a, m a y1 .
3
Generování parametru˚ klíˇce úˇcastníkem B: volba cˇ ísla k2 < m a výpoˇcet y2 = |ak2 |m , B odešle prostˇrednictvím komunikaˇcního kanálu A cˇ íslo y2 .
4
Generování tajného klíˇce úˇcastníkem A: K = |y2k1 |m .
5
Generování tajného klíˇce úˇcastníkem B: K = |y1k2 |m .
Veˇrejné prvky jsou v tomto pˇrípadeˇ cˇ ísla m a a. ˇ R. Lórencz (CVUT FIT)
Blokové, transpoziˇcní a exponenciální šifry
BI-BEZ, 2011, Pˇredn. 3.
30 / 30