You are on page 1of 10

Visoka kola elektrotehnike i raunarstva

strukovnih studija
Beograd
Specijalistike studije

PRIMENJENA KRIPTOGRAFIJA

8
Kriptoanaliza

Sadraj:
1. Osnovi kriptoanalize i klasifikacija kriptoanalitikih napada
2. Znaajnije kriptoanalitike tehnike
3. Primeri klasine kriptoanalize
4. Hellmanov TMTO
5. Napadi na RC4

dr Nemanja Maek

Beograd, 2015

Kriptoanaliza
1. Osnovi kriptoanalize i klasifikacija kriptoanalitikih napada
Kriptoanaliza (William Friedman, 1920) je napad na ifrat s ciljem otkrivanje otvorenog teksta ili,
jo ee, kljua!
Pretpostavke:
1. Shannon: Kriptoanalitiar poznaje sistem
2. Kerckhoffs: Kriptoanalitiar poznaje sistem, ali ne poznaje klju

Ova pretpostavka ne mora biti tana ali se sloenost procedure bitno ne menja
ak i ako kriptoanalitiar treba da proveri nekoliko moguih kriptosistema

3. Kriptosistem je pravilno implementiran i pravilno se upotrebljava

Napad na kriptosistem se znaajno olakava u sluaju nepravilne implementacije


ili upotrebe

4. ovek je najslabiji faktor!


Sumarna pretpostavka: tajnost ifrata u potpunosti lei u kljuu.
Tipovi napada:

Samo ifrat (ciphertext-only attack).

Kriptoanalitiar ima samo ifrate nekoliko poruka ifrovanih pomou istog


algoritma.

Poznat otvoreni tekst (known-plaintext attack).

Kriptoanalitiar ima ifrat neke poruke i njemu odgovarajui otvoreni tekst.

Odabran otvoreni tekst (chosen-plaintext attack).

Kriptoanalitiar je dobio privremeni pristup alatu za ifrovanje, tako da moe dobiti


ifrat odabranog otvorenog teksta.

Ovaj napad je jai od prethodnog.

Odabrani ifrat (chosen-ciphertext attack).

Kriptoanalitiar je dobio pristup alatu za deifrovanje, tako da moe dobiti otvoreni


tekst odabranog ifrata

Ovo je tipian napad na kriptosisteme sa javnim kljuem.

Prilagodljivi odabrani otvoreni tekst (adaptive chosen-plaintext)

Slian prethodnom, s tim to napada moe izabrati sledei otvoreni tekst na


osnovu informacija koje je prikupio u prethodno opisanom nainu deifrovanja.
2

Kriptoanaliza

Napad odgovarajuim kljuem (related-key attack)

Slian napadu odabranim otvorenim tekstom ili ifratom

Napada moe otkriti ifrat ifrovan sa dva razliita kljua.

Pri tome, kljuevi nisu poznati napadau, ali je poznat je odnos meu njima

NAPOMENA: Izraz kriptoanaliza ponekad se odnosi na pokuaj zaobilaenja sigurnosti


kriptografskih algoritama ili protokola, a ne samo kriptografske zatite!
Lars Knudsen-ova klasifikacija rezultata kriptoanalitikih napada prema koliini i kvalitetu
otkrivenih tajnih informacija (od najboljeg rezultata ka najloijem)

Potpuno probijanje (total break)

napada je otkrio tajni klju.

Globalna dedukcija (global deduction)

napada je otkrio funkciju koja je ekvivalent algoritma za (de)ifrovanje, ali ne i


klju.

Lokalna dedukcija (instance or local deduction)

napada je otkrio dodatne otvorene tekstove (ili ifrate) koji ranije nisu bili
poznati.

Informaciona dedukcija (information deduction)

napada dobija meru informacije sadrane u odreenoj poruci o otvorenim


tekstovima (ili ifratima) koji ranije nisu bili poznati.

Algoritam koji omoguuje razlikovanje (distinguishing algorithm)

napada moe razlikovati ifrat od sluajne permutacije

Prema sloenosti postupaka, kriptoanaliza se moe klasifikovati u kategorije u odnosu na


koliinu resursa koje zahteva. Kategorije su odreene koliinom:

vremena broj potrebnih operacija (osnovne instrukcije ili cijela metoda ifrovanja)

memorije koliina memorije potrebne za skladitenje podataka za vreme napada

podataka koliina potrebnih otvorenih tekstova i ifrata

Kriptoanaliza

Slika 1. Zimmerman-ov telegram. Deifrovanje ovog telegrama uvelo je SAD u II svetski rat!
2. Znaajnije kriptoanalitike tehnike
2.1. Klasina kriptoanaliza

Analiza uestalosti (frequency analysis)

prouavanje uestalosti pojave pojedinih slova ili grupe slova u ifratu

zasniva se na injenici da se u svakom delu ifrata odreena slova i kombinacije


slova pojavljuju sa proverenom verovatnoom

Kriptoanaliza

Analiza podudaranja (coincidence counting)

tehnika poreenja dva teksta uz raunanje koliko se puta isto slovo pojavljuje na
istom mestu u oba teksta

rezultat, koji se moe pokazati normalizovati deljenjem s oekivanim rezultatom,


naziva se indeksom podudaranja (koincidencije)

Kasiskijev test

zasnovan je na injenici da postoji verovatnoa ifrovanja estih rei istim slovima


kljua, tj. da e se u ifratu pojaviti ponovljene grupe slova koje odgovaraju
ponovljenim segmentima otvorenog teksta.

2.2. Kriptoanaliza simetrinih algoritama

Diferencijalna kriptoanaliza

opti oblik kriptoanalize kojim se odreuje kako razlike u ulaznim podacima utiu
na razlike u izlaznim vriednostima.

kod blokovskih ifara odnosi se na skup tehnika za praenje razlika kroz mreu
tranformacija

trai se gde ifra pokazuje ponaanje koje NIJE pseudosluajno kako bi se to


ponaanje iskoristilo za otkrivanje tajnog kljua!

Linearna kriptoanaliza (Mitsuru Matusui)

opti oblik kriptoanalize koji se zasniva na pronalaenju srodnih priblinih


vrednosti ifri

Napad je razvijen za blokovske i sekvencijalne ifre

Ostali korieni napadi (uglavnom primenljivi na blokovske algoritme)

Davies-ov napad (Donald Davies, 1987; Biham i Biryukov, 1994)

Square napad (Lars Knudsen), poznata i kao integralna kriptoanaliza

Napad "meet-in-the-midle" (Diffie I Hellman, 1977)

Mod n kriptoanaliza (John Kelsey, Bruce Schneier i David Wagner, 1999)

Napad klizanjem (slide attack) (David Wagner, Alex Biryukov, Bruce Schneier 1999)

XSL (eXtended Sparse Linearization) (Nicolas Courtois, Josef Pieprzyk, 2002)

Kriptoanaliza
2.3. Napad koji koriste slabosti u implementaciji ili upotrebi algoritama
Tipian primer je napad na RSA kriptosistem u kome se ponavlja vrednost n!

Pretpostavite da Alisa i Bob koriste RSA kriptosistem sa parametrima (n, b1) i (n, b2).

Neka su vrednosti javnih kljueva b1 i b2 takve da je NZS(b1, b2)=1

Trudi (napada) moe otkriti isti osnovni tekst koji se alje Alisi i Bobu.

Pretpostavimo da su Y1 i Y2 poslati ifrati.

Trudi, koji je uhvatila oba ifrata, moe odrediti otvoreni tekst X1 na sledei nain:

Ako je ulaz n, b1, b2, y1, y2, onda:


c1 = b1-1 mod b2
c2 = (c1b1 1)/b2
x1 = y1c1 (y2c2)-1 mod n

3. Primeri klasine kriptoanalize


3.1. Kriptoanaliza Vienerove ifre
Vigenreova ifra je polialfabetska, to znai da se svako slovo otvorenog teksta moe preslikati
u jedno od m moguih slova, gde je m duina kljua. Operacije ifrovanja i deifrovanja date su
jednainama:
E (x, k) = x1 + k1 (mod n), x2 + k2 (mod n), xm + km (mod n)
D (y, k) = y1 k1 (mod n), y2 k2 (mod n), ym km (mod n)
gde je n broj slova u alfabetu, k = (k1, k2, , km) klju duine m, x = (x1, x2, , xm) deo
otvorenog teksta duine m, a y = (y1, y2, , ym) deo ifrata duine m.

Broj moguih kljueva koje treba ispitati prilikom kriptoanalize Vigenreove ifre metodom grube
sile u optem sluaju iznosi n1 + n2 + + nm, gde je n broj slova u alfabetu, a m najvea duina

Kriptoanaliza
kljua. Broj kljueva koje treba ispitati priblino eksponencijalno raste sa duinom kljua, tako da
je metoda kriptoanalize grubom silom nepraktina. Analiza uestalosti pojedinih slova u ifratu
takoe nije od koristi zato to je ifra polialfabetska.
Kriptoanaliza Vigenreove ifre odvija se u dva koraka:

odreivanje duine kljua i

pronalaenje samog kljua.

Duina kljua odreuje se pomou Kasiskijevog testa ili Friedmanovog testa.

Kasiskijev test zasnovan je na injenici da postoji verovatnoa ifrovanja estih rei istim
slovima kljua, tj. da e se u ifratu pojaviti ponovljene grupe slova koje odgovaraju
ponovljenim segmentima otvorenog teksta. Dakle, potrebno je nai takve segmente u
ifratu i odrediti udaljenosti izmeu njihovih poetnih poloaja. Pretpostavlja se da duina
kljua deli ove udaljenosti, pa se za duinu kljua se uzima njihov najvei zajedniki
delilac. Na primer, ako je rastojanje izmeu jednog ponovljenog segmenta 18, a drugog
ponoveljenog segmenta 27, pretpostavlja se da je duina kljua 9.

Friedmanov test, poznat i kao kappa test zasniva se na upotrebi indeksa podudarnosti,
tj. koincidencije. I.C. niza x od n slova se definie kao verovatnoa da su dva sluajno
izabrana elementa niza x jednaka, odnosno meri neravnomernost frekvencije slova
ifata. Neka je uoena mera podudarnosti:

o =

ci=1 ni (ni1)
N (N1)

gde je c veliina alfabeta, N duina teksta, a n1 do nc frekvencije slova ifrata. Ako je


poznata verovatnoa p da u dva sluajno odabrana teksta slova budu ista (za engleski
jezik iznosi oko 0,067) i verovatnoa podudaranja uniformne sluajne selekcije alfabeta r
(za engleski jezik iznosi 1/26 = 0,0385) duina kljua se moe odrediti na osnovu izraza:
(p r) / (o r)
NAPOMENA: ovo je samo aproksimacija ija se tanost poveava sa poveanjem duine
teksta. U praksi se obino isprobaju razliite duine kljueva bliske procenjenoj.

Kriptoanaliza
Kljuna re se dalje odreuje frekvencijskom analizom. ifrat se prepisuje u odgovarajui broj
kolona tako da svaka kolona odgovara jednom slovu kljua. Dakle, svaka kolona predstavlja
ifrat otvorenog teksta dobijen Cezarovom ifrom, iji je klju jedno slovo kljune rei
Vigenreove ifre (koje je upotrebljeno za tu kolonu). Alternativni nain za otkrivanje kljune rei
je upotreba meusobnog indeksa koincidencije dva niza.
3.2. Primer
Kriptoanaliza analizom podudaranja bit e prikazana na primeru ifrata, za koji se pretpostavlja
da pisan na engleskom jeziku i ifrovan Vigenre-ovom ifrom sa normalnim A-Z komponentama
i kratkim kljuem koji se ponavlja:
QPWKA LVRXC QZIKG RBPFA EOMFL JMSDZ VDHXC XJYEB IMTRQ WNMEA
IZRVK CVKVL XNEIC FZPZC ZZHKM LVZVZ IZRRQ WDKEC HOSNY XXLSP
MYKVQ XJTDC IOMEE XDQVS RXLRL KZHOV
ifrat se deli:
QPWKALV
RXCQZIK
GRBPFAE
OMFLJMS
DZVDHXC
XJYEBIM
TRQWN...
Ako se duina kljua poklopi s pretpostavljenim brojem kolona, sva slova jedne kolone mogu se
deifrovati upotrebom istih kljunih slova (jednostavna Cezarova ifra).
Raunajui indeks IC za sve kolone potrebno je dobiti vrednost oko 1.73. Tablica vrednosti
indeksa IC za sve pretpostavljene vrijednosti kljua tj. od 1 do 10 je:
duina kljua = 1

IC = 1.12

duina kljua = 2

IC = 1.19

duina kljua = 3

IC = 1.05
8

Kriptoanaliza
duina kljua = 4

IC = 1.17

duina kljua = 5

IC = 1.82

duina kljua = 6

IC = 0.99

duina kljua = 7

IC = 1.00

duina kljua = 8

IC = 1.05

duina kljua = 9

IC = 1.16

duina kljua = 10

IC = 2.07

Izraunata vrijednost indeksa IC pokazuje da je odgovarajua duina kljua 5 pa je tekst


potrebno podeliti u 5 kolona:
QPWKA
LVRXC
QZIKG
RBPFA
EOMFL
JMSDZ
VDH...
Zatim je potrebno izabrati kljuno slovo koje daju najveu korelaciju deifrovane kolone i
relativnih verovatnoa slova za normalni tekst u engleskom jeziku. Korelacija je data izrazom:
x= sum i=1,c (ni fi)

ni je verovatnoa posmatranog slova u koloni

fi je relativna verovatnoa slova u engleskom jeziku

Kljuna re: EVERY


Otvoreni tekst:
MUST CHANGE MEETING LOCATION FROM BRIDGE TO UNDERPASS
SINCE ENEMY AGENTS ARE BELIEVED TO HAVE BEEN ASSIGNED
TO WATCH BRIDGE STOP MEETING TIME UNCHANGED XX

Kriptoanaliza

4. Hellman-ov TMTO
Dokument u prilogu.
5. Napadi na RC4
Dokument u prilogu.

10

You might also like