Professional Documents
Culture Documents
KISS - Predavanje 3 I 4 - Nepreradena Verzija
KISS - Predavanje 3 I 4 - Nepreradena Verzija
UNIVERZITET U SARAJEVU
Odsjek za telekomunikacije
MSc studij, I godina
- PREDAVANJE 3/4
**NEPRERAENA VERZIJA slijedi dopunjena formatirana verzija sa slikama
1.1.1
ifrat
( 0 (+26) b) = ( b (+26) 0) = b ;
FA K U L T E T
ROT 13 je jedan od jednostavnih programa za ifrovanje, to se koristi
u UNIX sistemima, a pripada klasi obinih supstitucionih ifara (svako
slovo se pomjera za 13 mjesta udesno A prelazi u N, D u Q....).
Originalni element se dobije ifrovanjem dva puta sa ROT13, dakle
M = ROT13(ROT13(M))
Sutinski ROT13 nije izvorno namjenjen sigurnosti nego da se
potencijalno uvredljiv tekst sakrije od ireg kruga.
Dobar raunarski algoritam za razbijanje ifara ovog tipa je dat u radu
G.W. Hart To Decode Short Cryptograms, Communications of the
ACM, v.37, n.9, Sep 1994, pp. 102-108.
Nije teko primjetiti da koncept obine supstitucionalne ifre,
kada se primjeni na engleski alfabet, omoguava kriptologu da
razotkrije izvorni tekst u relativno kratkom vremenu.
Neto vie sigurnosti nudi ifriranje pomou linarne (afine)
funkcije, kada su postupci ifriranja i deifriranja odreeni relacijama:
eK (x) = (a x + b )mod 26;
(2.11)
koje se mogu uspostaviti samo za one vrijednosti parametra a, za koje
postoji multiplikativni inverz na skupu Z26 (dakle parametar a mora
biti relativno prost s modulom 26).
Afina ifra se stoga definie na slijedei nain:
Neka je: M = C = Z26 , te neka je = {(a, ) Z26 x Z26 : (a,26)=1}
Za K = (a,b) definie se da je:
eK (x) = (a x + b ) mod 26 , odnosno dK (y) = a-1 ( y - b ) mod 26
Nije teko provjeriti da je:
dK ( eK (x) ) = dK ( ax +b )= a-1 ( ax +b - b ) = x
pri emu se brojne vrijednosti za a, biraju tako da je najvei zajedniki
djelitelj za takvo a Z26 i broja 26, jednak broju 1 (formalno se to
oznaava s ( a, 26 ) = 1). Ti brojevi a, zajedno s njihovim
multiplikativnim inverzima a-1 na skupu Z26 , sadrani su u tabeli broj
2, koja slijedi:
Tabela broj 2
11
15
17
19
21
23
25
a-1
21
15
13
19
23
11
17
25
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Odnosno da je za eK (x) = Y
dK ( (Y) ) = 15( 24 - 9 ) = 15(15) mod 26 = 225 mod 26;
225 17 (mod 26)
17 (mod 26) x = R;
Nadalje je i za eK (x) = U
dK ( (U) ) = 15( 20 - 9 ) = 15(12) mod 26 = 165 mod 26;
180 9 (mod 26)
9 (mod 26) x = J;
Kao i za eK (x) = L
dK ( (L) ) = 15( 11 - 9 ) = 15(2) mod 26 = 30 mod 26;
30 4 (mod 26)
4 (mod 26) x = E;
Konano za eK (x) = H
dK ( (H) ) = 15( 7 - 9 ) = 15(-2) mod 26 = 15( 26 - 2 ) mod 26 =
dK ( (H) ) = 360 mod 26;
340 14 (mod 26)
14 (mod 26) x = O;
Cezarova i afina ifra, specijalni su sluajevi - primjeri - supstitucijske
ifre, koja je generalno definisana na slijedei nain:
Neka je: M = C = Z26 i neka se prostor kljueva sastoji od svih
permutacija skupa: Z26 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ...23, 24, 25}. Za svaku
permutaciju p definie se:
ep (x) =p ( x ) , odnosno dp (y) = p-1( y )
pri emu je p-1, inverzna permutacija od permutacije p.
S obzirom da je na skupu Zp = Z26 , prema prethodnoj definiciji,
mogue generisati p! = 26! = 4 1026 = 2 62 razliitih kljueva, u tom
sluaju napad na ifrirani tekst, postupkom potpune provale (BruteForce Attack - postupak grube sile potpuna provala), ak i uz
upotrebu raunara je teko ostvarljiv.
Supstitucijske ifre se meutim mogu razotkrivati i znatno
jednostavnije, a to znai i mnogo bre, nego u sluaju kada se koristi
postupak grube sile dakle pretraivanje cijelog prostora kljueva (2 62
razliitih kljueva). Naime dovoljno je odgonetnuti na kojem jeziku se
komunicira, a potom saznati i vlastitu frekventnu raspodjelu simbola u
tom jeziku. Korisno je poznavati i najee bigrame i trigrame tog
jezika, pa je veina posla u deifrovanju uinjena. U engleskom jeziku
najee je slovo e, zatim slijedi slovo t, pa slovo a , kao to je to
prikazano u tabeli broj 4. Tabela broj 4 daje frekvenciju simbola
engleskog jezika u procentima prema radu H. Beker i F. Pajper
Cipher Systems:The Protection of Communication
Tabela broj 4
8.2
1.5
2.8
4.3
13
2.2
2.0
6.1
7.0
0.2
0.8
4.0
2.4
6.7
7.5
1.9
0.1
6.0
6.3
9.1
2.8
1.0
2.4
0.2
2.0
0.1
Tabela broj 6.
I/J
2.
3.
4.
Primjer broj 4
Neka je klju za ifriranje Hillovom ifrom, definisan relacijom:
1
0 0
K = 5 25 0
0 25
prvoj etapi
a u drugoj etapi:
( 13, 0, 3 )K-1 = ( 13, 0, 75) mod 26 =
(13, 0, 23) = ( N, A, X ).
Hillov algoritam ifriranja, za m 3, predstavlja jo bolju
prepreku za frekventnu analizu kriptologa. S obzirom da za blokove
duine m simbola, na skupu
( Z26 ) , postoji tano (26)m razliitih
blokova. Ve pri
m = 3 postoji 17 576 razliitih trigrama, pa je
prethodna konstatacija u vezi kriptolokog napada, kada kriptolog
posjeduje samo ifrat, sasvim jasna.
Razmatrani algoritam se relativno lako kompromituje napadom
tipa poznat izvorni tekst, a pogotovu pomou napada odabrani
izvorni tekst. Naime ti napadi su povezani sa rjeavanjem matrine:
Y=XK
u kojoj je nepoznata veliina kvadratna matrica K odnosno klju
algoritma. Ukoliko je poznati izvorni tekst struktuiran tako da postoji
X-1, tada je:
K = X-1 Y
Ako to nije sluaj, treba traziti izvorni tekst kod kojeg uz X postoji
i X .
-1
Primjer broj 5
Izvorni tekst E L E K T R O T E H N I C K I F A K U L T E T
ifrirati kolonskim transpozicijskim algoritmom, ukoliko je dogovoreni
klju
( 4 3 1 2 5 6 ).
S obzirom da klju ima 6 brojeva, kolone e sadravati po 4 slova,
a nedostajue slovo e se nadopuniti slovom x.
4 3 1 2 5 6
ELEKTR
OTEHNI
CKI FAK
ULTETX
ifrat je EEIT KHFE LTKL EOCU TNAT RIKX.
Prepoznavanje transpozicijske ifre je olakano, jer je frekvencija
pojavljivanja simbola u koritenom jeziku zadrana. Kriptoanaliza
kolonske transpozicije zapoinje traganjem za podatkom o
dimenzijama pravougaonika, koje nam daju prvu informaciju o kljuu.
U
tom
smislu
mogue
dimenzije
ifrata:
EEITKHFELTKLEOCUTNATRIKX su:
12 x 2; 6 x 4; 4 x 6; 2 x 12.
3.
2.
3.
Ako fiksirate krajnji lijevi bit i krajnji desni bit S kutije i mijenjate
preostala etiri unutranja bita, svaki mogui 4-bitni izlaz dobije se
tano jednom.
4.
5.
Ako se dva ulaza S-kutije razlikuju u tano dva srednja bita, izlazi se
moraju razlikovati u najmanje dva bita.
6.
Ako se dva ulaza S-kutije razlikuju u prva dva bita, a posljednja dva
bita su identini, izlazi ne smiju biti isti.
7.
Za bilo koju 6-bitnu razliku izmeu ulaza, koja nije jednaka nuli,
najvie 8 od 32 para ulaza s tom razlikom mogu da prpizvedu istu
razliku ulaza.
8.
2.
3.
0101010101010101
2.
1F1F1F1F1F1F1F1F
3.
4.
b)
ifriranja se ne
oni kljuevi, kod
C0, odnosno D0,
heksadecimalnoj
y = eM(dL(eK(x))),
x = dK(eL(dM(y)))
Klju kod trostrukog DES-a je duzine 168 bita. Pri verziji u kojoj je M =
K duzina kljua je 112 bita. Dvostruki DES ima izrazene slabosti pri napadu
tipa susret u sredini (Meet-in-the- Middle, opisao ga je Diffie ve 1977.
godine), kada pokazuje samo neznatno bolje karakteristike od obinog DESa.
2.
3.
Mnozenje po modulu (216 +1), u algoritmu IDEA ima slinu ulogu, ulozi
S kutija u algoritmu DES.
Modul (216 +1), je odabran zbog
efikasnije implementacije modularnog mnozenja. Pobrojane tri operacije su
inkopatibilne u smislu da nikada dvije od njih ne udovoljavaju zakone
asocijativnosti i distributivnosti. IDEA ima osam rundi i zavrnu
transformaciju. U tih osam rundi koriste se 52, 16-bitna subukljua ((K1(r),
K2(r),... K6(r)) tokom osam rundi ( r= 1,2,..,8) i etiri subkljua (K1(9), K2(9),
K3(9), K4(9)) za zavrnu transformaciju) koji se generiraju na osnovu polaznog
128 bitnog kljua. U prvoj iteraciji se pravi 6 16- bitnih subkljueva ((K1(1),
K2(1),... K6(1)) i prva dva subkljua druge iteracije ((K1(2), K2(2)). Potom se
bitovi polaznog 128 bitnog kljua K pomjeraju za 25 mjesta ulijevo, ime se
pravi novi 128 bitni raspored kao osnova za preostala etiri kljua druge
iteracije ((K3(2), K4(2), K5(2), K6(2)) i prva etiri kljua tree runde ((K1(3), K2(3),
K3(3),K4(3)).
Izvorni tekst se prikazuje u obliku X = (X1, X2, X3, X4) pri emu su Xi 16
bitni podblokovi. Na slici broj 2.3.1 prikazan je blok dijagram algoritma
IDEA.
2.
3.
4.
5.
6.
7.
Pomnozi rezultate koraka (5) i peti subklju K5(1) , po modulu (216 +1).
8.
9.
10.
11.
12.
13.
14.
2.
3.
2.
d0 = ( a0 b0 ) + ( a3 b1 ) + ( a2 b2 ) + ( a1 b3)
d1 = ( a1 b0 ) + ( a0 b1 ) + ( a0 b2 ) + ( a3 b3)
d2 = ( a2 b0 ) + ( a1 b1 ) + ( a0 b2 ) + ( a3 b3)
d3 = ( a3 b0 ) + ( a2 b1 ) + ( a1 b2 ) + ( a0 b3)
C3=3
C3=4
oblika
(a0,j + a1,j X + a2,j X2 + a3,j X3)c(x)(mod (X4 + 1)) moze se
realizovati i u matrinom obliku prema slijedeoj emi: