uvod u kriptologiju - jovicicsvekrva .. 6889 avioni ... 9502 k daca ..... 2352 r i p t o l o g i j...
TRANSCRIPT
UVOD UUVOD UKRIPTOLOGIJUKRIPTOLOGIJU
Aleksandar JovičićAleksandar Jovičić[email protected]@jovicic.name
DefinicijaDefinicijaDefinicijaDefinicija
Kri
pto
log
ijaK
ript
olo
gija
ΚΡΥΠΤOΣΚΡΥΠΤOΣ = = skrivenoskrivenoΛOΓΟΣΛOΓΟΣ = = naukanauka=>=> ??? ... ??? ... Nauka o skrivanjuNauka o skrivanju?!?!????!?!???
Nauka oNauka o skrivenom pisanjuskrivenom pisanju iineovlašćenom tumačenjuneovlašćenom tumačenjunečega skriveno napisanognečega skriveno napisanog
ΚΡΥΠΤOΣΚΡΥΠΤOΣ = = skrivenoskrivenoΛOΓΟΣΛOΓΟΣ = = naukanauka=>=> ??? ... ??? ... Nauka o skrivanjuNauka o skrivanju?!?!????!?!???
Nauka oNauka o skrivenom pisanjuskrivenom pisanju iineovlašćenom tumačenjuneovlašćenom tumačenjunečega skriveno napisanognečega skriveno napisanog
A čemu to služiA čemu to služi??A čemu to služiA čemu to služi??● Skriveno pisanjeSkriveno pisanje ... ...
♦ Zaštita podataka pri prenosuZaštita podataka pri prenosu
○ od gledanja (pasivan napad)od gledanja (pasivan napad)○ od falsifikovaja (aktivan napad)od falsifikovaja (aktivan napad)
♦ Zaštita tajnosti lozinkeZaštita tajnosti lozinke (password-a) (password-a)
♦ Zaštita autorskih pravaZaštita autorskih prava
● Neovlašćeno tumačenjeNeovlašćeno tumačenje ... ...♦ Otkrivanje destruktivnih namera protivnikaOtkrivanje destruktivnih namera protivnika
♦ Testiranje sopstvenih sistema zaštiteTestiranje sopstvenih sistema zaštite
♦ ““KontaktKontakt” ” sasa ALFALF--omom i starim civilizacijamai starim civilizacijama
● Skriveno pisanjeSkriveno pisanje ... ...♦ Zaštita podataka pri prenosuZaštita podataka pri prenosu
○ od gledanja (pasivan napad)od gledanja (pasivan napad)○ od falsifikovaja (aktivan napad)od falsifikovaja (aktivan napad)
♦ Zaštita tajnosti lozinkeZaštita tajnosti lozinke (password-a) (password-a)
♦ Zaštita autorskih pravaZaštita autorskih prava
● Neovlašćeno tumačenjeNeovlašćeno tumačenje ... ...♦ Otkrivanje destruktivnih namera protivnikaOtkrivanje destruktivnih namera protivnika
♦ Testiranje sopstvenih sistema zaštiteTestiranje sopstvenih sistema zaštite
♦ ““KontaktKontakt” ” sasa ALFALF--omom i starim civilizacijamai starim civilizacijama
Kri
pto
log
ijaK
ript
olo
gija
A čemu to služiA čemu to služi??A čemu to služiA čemu to služi??● Skriveno pisanjeSkriveno pisanje ... ...
♦ Zaštita podataka pri prenosuZaštita podataka pri prenosu
○ od gledanja (pasivan napad)od gledanja (pasivan napad)○ od falsifikovaja (aktivan napad)od falsifikovaja (aktivan napad)
♦ Zaštita tajnosti lozinkeZaštita tajnosti lozinke (password-a) (password-a)
♦ Zaštita autorskih pravaZaštita autorskih prava
● Neovlašćeno tumačenjeNeovlašćeno tumačenje ... ...♦ Otkrivanje destruktivnih namera protivnikaOtkrivanje destruktivnih namera protivnika
♦ Testiranje sopstvenih sistema zaštiteTestiranje sopstvenih sistema zaštite
♦ ““KontaktKontakt” ” sasa ALFALF--omom i starim civilizacijamai starim civilizacijama
● Skriveno pisanjeSkriveno pisanje ... ...♦ Zaštita podataka pri prenosuZaštita podataka pri prenosu
○ od gledanja (pasivan napad)od gledanja (pasivan napad)○ od falsifikovaja (aktivan napad)od falsifikovaja (aktivan napad)
♦ Zaštita tajnosti lozinkeZaštita tajnosti lozinke (password-a) (password-a)
♦ Zaštita autorskih pravaZaštita autorskih prava
● Neovlašćeno tumačenjeNeovlašćeno tumačenje ... ...♦ Otkrivanje destruktivnih namera protivnikaOtkrivanje destruktivnih namera protivnika
♦ Testiranje sopstvenih sistema zaštiteTestiranje sopstvenih sistema zaštite
♦ ““KontaktKontakt” ” sasa ALFALF--omom i starim civilizacijamai starim civilizacijama
Kri
pto
log
ijaK
ript
olo
gija
TerminologijaTerminologijaTerminologijaTerminologija
● Skriveno pisanjeSkriveno pisanje = = KriptografijaKriptografija● Neovlašćeno tumačenjeNeovlašćeno tumačenje = = KriptoanalizaKriptoanaliza
● Skriveno pisanjeSkriveno pisanje = = KriptografijaKriptografija● Neovlašćeno tumačenjeNeovlašćeno tumačenje = = KriptoanalizaKriptoanaliza
● KriptografijaKriptografija = = SteganografijaSteganografija ++KriptografijaKriptografija u užem smisluu užem smislu
● SteganografijaSteganografija = = veštinaveština SKRIVANJASKRIVANJA
poruke odporuke od IntercepteraInterceptera
● IntercepterIntercepter = = NeželjeniNeželjeni primalac informacijeprimalac informacije
Kri
pto
log
ijaK
ript
olo
gija
KriptologijaKriptologijai teorija informacijai teorija informacija
Predajnik Predajnik Predajnik Predajnik PrijemnikPrijemnikPrijemnikPrijemnik
kanal vezekanal veze
primalacprimalacpošiljalacpošiljalac
Kri
pto
log
ijaK
ript
olo
gija
INTERCEPTERINTERCEPTER
Kri
pto
log
ijaK
ript
olo
gija
Predajnik Predajnik Predajnik Predajnik PrijemnikPrijemnikPrijemnikPrijemnik
kanal vezekanal veze
primalacprimalacpošiljalacpošiljalac
KriptologijaKriptologijai teorija informacijai teorija informacija
? ?
kriptovanjekriptovanje
? ?
dekriptovanjedekriptovanje
otvoreni tekstotvoreni tekst
(plain text)(plain text)
šifratšifrat
(ciphertext)(ciphertext)
Kri
pto
log
ijaK
ript
olo
gija
INTERCEPTERINTERCEPTER
Predajnik Predajnik Predajnik Predajnik PrijemnikPrijemnikPrijemnikPrijemnik
kanal vezekanal veze
primalacprimalacpošiljalacpošiljalac
otvoreniotvoreni teksttekst
(plain text)(plain text)
KriptologijaKriptologijai teorija informacijai teorija informacija
kriptoanalizakriptoanaliza
Kri
pto
log
ijaK
ript
olo
gija
KriptologijaKriptologijai teorija informacijai teorija informacija
? ?
kriptovanjekriptovanje
? ?
dekriptovanjedekriptovanje
otvoreni tekstotvoreni tekst
(plain text)(plain text)
šifratšifrat
(ciphertext)(ciphertext)
INTERCEPTERINTERCEPTER
Predajnik Predajnik Predajnik Predajnik PrijemnikPrijemnikPrijemnikPrijemnik
kanal vezekanal veze
primalacprimalacpošiljalacpošiljalac
otvoreni tekstotvoreni tekst
(plain text)(plain text)
SteganografijaSteganografijaSteganografijaSteganografija
● TehničkaTehnička ((nevidljivo mastilo, mikrotačkanevidljivo mastilo, mikrotačka, ...), ...)
● LingvističkaLingvistička SemagramiSemagrami ((označavanje slovaoznačavanje slova, , rečireči,...),...)
OtvoreniOtvoreni kkôôdd ŽargonŽargon ((promenapromena smislasmisla))
LozinkaLozinka ( (najava akcije preko radijanajava akcije preko radija, ...), ...)
MaskiranjeMaskiranje Sistem rešetkeSistem rešetke ((upisivanje u tačno odredjena poljaupisivanje u tačno odredjena polja)) Sistem dodavanjaSistem dodavanja null- null-vrednostivrednosti ((svakosvako n- n-toto ...) ...)
● TehničkaTehnička ((nevidljivo mastilo, mikrotačkanevidljivo mastilo, mikrotačka, ...), ...)
● LingvističkaLingvistička SemagramiSemagrami ((označavanje slovaoznačavanje slova, , rečireči,...),...)
OtvoreniOtvoreni kkôôdd ŽargonŽargon ((promenapromena smislasmisla))
LozinkaLozinka ( (najava akcije preko radijanajava akcije preko radija, ...), ...)
MaskiranjeMaskiranje Sistem rešetkeSistem rešetke ((upisivanje u tačno odredjena poljaupisivanje u tačno odredjena polja)) Sistem dodavanjaSistem dodavanja null- null-vrednostivrednosti ((svakosvako n- n-toto ...) ...)
Kri
pto
log
ijaK
ript
olo
gija
KriptoKripto--sistemisistemiKriptoKripto--sistemisistemiV V -- skup karaktera otvorenog tekstaskup karaktera otvorenog teksta
W W -- skup karaktera šifrataskup karaktera šifrata
- “- “praznaprazna” ” rečreč
V*, W* - V*, W* - skup reči formiranih odskup reči formiranih od V V ii W W
ZZn n Z* - Z* - skup reči dužineskup reči dužine n n
ZZ(n)(n) = { = {} } Z Z Z Z1 1 Z Z2 ... 2 ... Z Zn n
X : V* X : V* W* - W* - kriptovanjekriptovanje (encryption)(encryption) ...... x x y y
XX-1-1 : W * : W * V* - V* - dekriptovanjedekriptovanje (decr(decryyption)ption) ... ... x x y y
( x ( x z ) z ) ( y ( y z ) z ) (x = y) - (x = y) - jednoznačnostjednoznačnost
M - M - kriptokripto--systemsystem
M = {M = {00, , 11, , 22, ... , ... nn } } ii : V : V(n(nii)) W W(m(mii))
ii - “ - “korakkorak” ” kriptovanjakriptovanja
V V -- skup karaktera otvorenog tekstaskup karaktera otvorenog teksta
W W -- skup karaktera šifrataskup karaktera šifrata
- “- “praznaprazna” ” rečreč
V*, W* - V*, W* - skup reči formiranih odskup reči formiranih od V V ii W W
ZZn n Z* - Z* - skup reči dužineskup reči dužine n n
ZZ(n)(n) = { = {} } Z Z Z Z1 1 Z Z2 ... 2 ... Z Zn n
X : V* X : V* W* - W* - kriptovanjekriptovanje (encryption)(encryption) ...... x x y y
XX-1-1 : W * : W * V* - V* - dekriptovanjedekriptovanje (decr(decryyption)ption) ... ... x x y y
( x ( x z ) z ) ( y ( y z ) z ) (x = y) - (x = y) - jednoznačnostjednoznačnost
M - M - kriptokripto--systemsystem
M = {M = {00, , 11, , 22, ... , ... nn } } ii : V : V(n(nii)) W W(m(mii))
ii - “ - “korakkorak” ” kriptovanjakriptovanja
Kri
pto
log
ijaK
ript
olo
gija
● Transpozicijski sistemiTranspozicijski sistemi Prosta transpozicijaProsta transpozicija AnagramiAnagrami
● Supstitucijski sistemiSupstitucijski sistemi MonoalfabetskaMonoalfabetska supstitucijasupstitucija PoligrafskaPoligrafska supstitucija i kodovisupstitucija i kodovi Polialfabetska supstitucijaPolialfabetska supstitucija
● Transpozicijski sistemiTranspozicijski sistemi Prosta transpozicijaProsta transpozicija AnagramiAnagrami
● Supstitucijski sistemiSupstitucijski sistemi MonoalfabetskaMonoalfabetska supstitucijasupstitucija PoligrafskaPoligrafska supstitucija i kodovisupstitucija i kodovi Polialfabetska supstitucijaPolialfabetska supstitucija
Kri
pto
log
ijaK
ript
olo
gija
KriptoKripto--sistemisistemiKriptoKripto--sistemisistemi
● Kompozitni sistemiKompozitni sistemi DESDES IDEAIDEA
● Asimetrični sistemiAsimetrični sistemi (public key systems)(public key systems) RSARSA
● Kombinovani sistemiKombinovani sistemi PGPPGP
Kri
pto
log
ijaK
ript
olo
gija
Kripto-sistemiKripto-sistemi
Prosta transponzicijaProsta transponzicija
ich bin der doktor eisenbartich bin der doktor eisenbart
ichbin derdok toreis enbartichbin derdok toreis enbart ichbinichbin derdokderdok toreistoreis enbartenbart
IDTECEONHRRBBDEAIOIRNKSTIDTECEONHRRBBDEAIOIRNKST
Kri
pto
log
ijaK
ript
olo
gija
AnagramiAnagramiAnagramiAnagrami
admonition = dominationadmonition = dominationalgorithms = logarithmsalgorithms = logarithmsexcitation = intoxicateexcitation = intoxicatecompressed = decompresscompressed = decompressimpression = permissionimpression = permission......plava riba, kljukana dinastija, plava riba, kljukana dinastija, svastikin but, trt, trt, trtsvastikin but, trt, trt, trt ... ...!?!?????!?!?????
admonition = dominationadmonition = dominationalgorithms = logarithmsalgorithms = logarithmsexcitation = intoxicateexcitation = intoxicatecompressed = decompresscompressed = decompressimpression = permissionimpression = permission......plava riba, kljukana dinastija, plava riba, kljukana dinastija, svastikin but, trt, trt, trtsvastikin but, trt, trt, trt ... ...!?!?????!?!?????
Kri
pto
log
ijaK
ript
olo
gija
Monoalfabetska supstitucijaMonoalfabetska supstitucijaMonoalfabetska supstitucijaMonoalfabetska supstitucija
a b c d e f g h ...Y Z A B C D E F ...
otvorni tekstotvorni tekst
šifratšifrat d ac ad ac a
BYAYBYAY=>=>
a b ca b c
d e fd e f
g h ig h i
j k lj k l
m n om n o
p q rp q r
ss
tt uuvv
ww
xx yyzz
bez tačkebez tačke sa tačkomsa tačkom bez tačkebez tačke sa tačkomsa tačkom
Masonska šifraMasonska šifra
.. .. .. = ???= ???
Cezarova šifraCezarova šifra
Kri
pto
log
ijaK
ript
olo
gija
Monoalfabetska supstitucijaMonoalfabetska supstitucijaMonoalfabetska supstitucijaMonoalfabetska supstitucijaotvorni tekstotvorni tekst
šifratšifrat d ac ad ac a
BYAYBYAY=>=>
a b ca b c
d e fd e f
g h ig h i
j k lj k l
m n om n o
p q rp q r
ss
tt uuvv
ww
xx yyzz
bez tačkebez tačke sa tačkomsa tačkom bez tačkebez tačke sa tačkomsa tačkom
Masonska šifraMasonska šifra
.. .. ..
Cezarova šifraCezarova šifra
Kri
pto
log
ijaK
ript
olo
gija
= MINER= MINER
a b c d e f g h ...Y Z A B C D E F ...
Nedostaci monoalfabetske Nedostaci monoalfabetske supstitucijesupstitucije
A B C D E F G H ...4 % 10 % 1 % 1.2 % 2 % 9 % 0.4 % - ...
a e o k i t r u ...10 % 9.4 % 9 % 6.2 % 6 % 5.9 % 5.4 % 3 % ...
Analiza frekvencijaAnaliza frekvencija + ... + ...
... ... malo pogadjanjamalo pogadjanja = ... = ...
PROVALJENA ŠIFRA!!!PROVALJENA ŠIFRA!!!(the, then, all ...)(the, then, all ...)
Kri
pto
log
ijaK
ript
olo
gija
Još jednostavnijeJoš jednostavnije ... ...
Analiza frekvencije dvoznakaAnaliza frekvencije dvoznaka + ... + ...
... ... još manje pogadjanjajoš manje pogadjanja = ... = ...PROVALJENA ŠIFRA!!!PROVALJENA ŠIFRA!!!
F[%%] a b c ...a 1 32 39b 8c 44 12...
Kri
pto
log
ijaK
ript
olo
gija
VišestrukaVišestrukamonoalfabetska supstitucijamonoalfabetska supstitucija
VišestrukaVišestrukamonoalfabetska supstitucijamonoalfabetska supstitucija
1 2 3 4 5 6 7 8 9
4,5,6,7,8,9,0 e t a o n i r s h
2,3 b c d f g j k l m
1 p q u v w x y z
daca -> 23 43 22 83daca -> 23 43 22 83
Kri
pto
log
ijaK
ript
olo
gija
daca -> 23 43 22 83daca -> 23 43 22 83
... ... medjutim uz malo statistikemedjutim uz malo statistike, , pogadjanja i pogadjanja i malo više tekstamalo više teksta ... ... PROVALJENA ŠIFRA!!!PROVALJENA ŠIFRA!!!
Kri
pto
log
ijaK
ript
olo
gija
VišestrukaVišestrukamonoalfabetska supstitucijamonoalfabetska supstitucija
VišestrukaVišestrukamonoalfabetska supstitucijamonoalfabetska supstitucija
1 2 3 4 5 6 7 8 9
4,5,6,7,8,9,0 e t a o n i r s h
2,3 b c d f g j k l m
1 p q u v w x y z
Poligrafska supstitucijaPoligrafska supstitucija
a b c d e f g h i
a XZ KJ YH HP PL EL VB CI DW
b LP QT HE RS UR CR ZH GV WC
c DX MN AO NH SF GI WL MN AH
da ca -> HP YHda ca -> HP YH
Kri
pto
log
ijaK
ript
olo
gija
da ca -> HP YHda ca -> HP YH... ... setimo se frekvencije dvoznakasetimo se frekvencije dvoznaka,,
posmatrajmo ovo kao veći alfabetposmatrajmo ovo kao veći alfabet,,
uz dovoljno materijala i malo srećeuz dovoljno materijala i malo sreće ... ...
PROVALJENA ŠIFRA!!!PROVALJENA ŠIFRA!!!
Kri
pto
log
ijaK
ript
olo
gija
Poligrafska supstitucijaPoligrafska supstitucija
a b c d e f g h i
a XZ KJ YH HP PL EL VB CI DW
b LP QT HE RS UR CR ZH GV WC
c DX MN AO NH SF GI WL MN AH
KKôôdovidovi
daca -> 2352daca -> 2352
... ... ako kodove posmatramo kao veoma veliki alfabet, nad njima možemo ako kodove posmatramo kao veoma veliki alfabet, nad njima možemo primeniti istu statistiku koju smo primenili na šiframaprimeniti istu statistiku koju smo primenili na šiframa ... ... medjutim, ovde nam medjutim, ovde nam treba dooosta materijala treba dooosta materijala ... ... Generalno gledano ... matematičari su korisniji Generalno gledano ... matematičari su korisniji za kriptoanalizu šifara a lingvisti kodova ... uz sreću i više napora ...za kriptoanalizu šifara a lingvisti kodova ... uz sreću i više napora ...
PROVALJENA ŠIFRA!!!PROVALJENA ŠIFRA!!!
napad .... 1023napad .... 1023
zora ..... 1045zora ..... 1045
tenk ..... 3450tenk ..... 3450
svekrva .. 6889svekrva .. 6889
avioni ... 9502avioni ... 9502
daca ..... 2352daca ..... 2352Kri
pto
log
ijaK
ript
olo
gija
Polialfabetska supstitucijaPolialfabetska supstitucijaPolialfabetska supstitucijaPolialfabetska supstitucija
... ... ovde već nema šaleovde već nema šale, ... , ... ako je ključ ako je ključ dovoljno dugačak i ako ga šifrer koristi dovoljno dugačak i ako ga šifrer koristi pravilnopravilno ... ...
PROVALJENA ŠIFRA!!!PROVALJENA ŠIFRA!!!
Kri
pto
log
ijaK
ript
olo
gija
a b c ...a Z Y Xb D M Rc Q R F...
Otvoreni tekst a b b aKljuč b c a bŠifrat D R Y D
... ... medjutim ako retko menja ključevemedjutim ako retko menja ključeve ili ili koriste previše kratke ključevekoriste previše kratke ključeve ... ...
Kri
pto
log
ijaK
ript
olo
gija
PROVALJENA ŠIFRA!!!PROVALJENA ŠIFRA!!!
a b c ...a Z Y Xb D M Rc Q R F...
Otvoreni tekst a b b aKljuč b c a bŠifrat D R Y D
Polialfabetska supstitucijaPolialfabetska supstitucijaPolialfabetska supstitucijaPolialfabetska supstitucija
DES DES ii IDEA IDEADES DES ii IDEA IDEA
● KriptovanjeKriptovanje 8- 8-bajtnihbajtnih blokovablokova● DESDES jeje ( (biobio) ) standardstandard uu USAUSA● IDEAIDEA je registrovana markaje registrovana marka● Sistem kriptovanja se zasniva na Sistem kriptovanja se zasniva na
operacijama nad bitovima u bajtuoperacijama nad bitovima u bajtu● DESDES JE PROVALJENJE PROVALJEN!!!!!!
● KriptovanjeKriptovanje 8- 8-bajtnihbajtnih blokovablokova● DESDES jeje ( (biobio) ) standardstandard uu USAUSA● IDEAIDEA je registrovana markaje registrovana marka● Sistem kriptovanja se zasniva na Sistem kriptovanja se zasniva na
operacijama nad bitovima u bajtuoperacijama nad bitovima u bajtu● DESDES JE PROVALJENJE PROVALJEN!!!!!!
RSARSA(Rivest, Shamir, Adleman)(Rivest, Shamir, Adleman)
RSARSA(Rivest, Shamir, Adleman)(Rivest, Shamir, Adleman)
• Asimetričan šifarski sistemAsimetričan šifarski sistem• A, B – A, B – Veliki prosti brojeviVeliki prosti brojevi
• P – P – Javni ključJavni ključ• Q – Q – Tajni ključTajni ključ
P = ABP = AB
Q = ( k (A-1)(B-1) + 1) / nQ = ( k (A-1)(B-1) + 1) / n deljivo sa deljivo sa nn bez ostatka bez ostatka
Q = ( 2 (A-1)(B-1) + 1) / 3Q = ( 2 (A-1)(B-1) + 1) / 3najprostiji obliknajprostiji oblik
D = CD = C33 mod P mod P
C = DC = DQQ mod P mod P• C – C – otvoreni tekstotvoreni tekst
• D – D – šifratšifrat
““Elektronski potpisElektronski potpis””““Elektronski potpisElektronski potpis””
Koriste se asimetrični šifarski sistemiKoriste se asimetrični šifarski sistemi
● 1 1 - - pošiljalac kriptuje svojim tajnim ključempošiljalac kriptuje svojim tajnim ključem
● 2 2 - - zatim kriptuje primaočevim javnim ključemzatim kriptuje primaočevim javnim ključem
● 11-1-1
- - primalac dekriptuje svojim tajnim ključemprimalac dekriptuje svojim tajnim ključem
● 22-1 -1
- - zatim dekriptuje pošiljaočevim javnim ključemzatim dekriptuje pošiljaočevim javnim ključem
PGPPGP((PPretty retty GGood ood PPrivacy)rivacy)
PGPPGP((PPretty retty GGood ood PPrivacy)rivacy)
Otvoreni Otvoreni teksttekst
IDEAIDEA
RSARSA
Još malo o kriptoanalizi ...Još malo o kriptoanalizi ...
„„Nikad ne reci nikad“Nikad ne reci nikad“„„Nikad ne reci nikad“Nikad ne reci nikad“
● Šenonova maksimaŠenonova maksima○ „„Neprijatelj zna sistem“Neprijatelj zna sistem“
● Kerkhofsov principKerkhofsov princip○ „„Dobar kriptosistem je siguran čak i kad su poznati svi Dobar kriptosistem je siguran čak i kad su poznati svi
njegovi detalji ... osim ključa“njegovi detalji ... osim ključa“
● Najslabiji deo kripto-sistema je čovekNajslabiji deo kripto-sistema je čovek○ I najsnažniji kripto-sistem može da „padne“ zbog I najsnažniji kripto-sistem može da „padne“ zbog
nepravilne upotrebenepravilne upotrebe
● Komplikovano šifrovanje ne znači i Komplikovano šifrovanje ne znači i komplikovana kriptoanalizakomplikovana kriptoanaliza
● Šenonova maksimaŠenonova maksima○ „„Neprijatelj zna sistem“Neprijatelj zna sistem“
● Kerkhofsov principKerkhofsov princip○ „„Dobar kriptosistem je siguran čak i kad su poznati svi Dobar kriptosistem je siguran čak i kad su poznati svi
njegovi detalji ... osim ključa“njegovi detalji ... osim ključa“
● Najslabiji deo kripto-sistema je čovekNajslabiji deo kripto-sistema je čovek○ I najsnažniji kripto-sistem može da „padne“ zbog I najsnažniji kripto-sistem može da „padne“ zbog
nepravilne upotrebenepravilne upotrebe
● Komplikovano šifrovanje ne znači i Komplikovano šifrovanje ne znači i komplikovana kriptoanalizakomplikovana kriptoanaliza
AlatiAlatiAlatiAlati● „„Ako neće, uzmi veći čekić“ Ako neće, uzmi veći čekić“ (Brute Force)(Brute Force)
○ Pokušati sve moguće kombinacije ključaPokušati sve moguće kombinacije ključa○ Efikasno za kratke (loše izabrane) ključeveEfikasno za kratke (loše izabrane) ključeve○ Povećanje računarskih performansi prouzrokuje Povećanje računarskih performansi prouzrokuje
potrebu za povećanjem dužine ključa i kod sistema potrebu za povećanjem dužine ključa i kod sistema koji su nekada bili „sigurni“koji su nekada bili „sigurni“
● Analiza frekvencijaAnaliza frekvencija○ Govorni jezik je „predvidiv“Govorni jezik je „predvidiv“○ Neka slova se pojavljuju češće od drugih, to važi i za Neka slova se pojavljuju češće od drugih, to važi i za
parove slova ... a i za reči pa čak i delove rečenicaparove slova ... a i za reči pa čak i delove rečenica○ I jaki sistemi sa loše izabranim ključem otkrivaju I jaki sistemi sa loše izabranim ključem otkrivaju
osobine tekstaosobine teksta
● „„Eci-peci-pec“Eci-peci-pec“
● „„Ako neće, uzmi veći čekić“ Ako neće, uzmi veći čekić“ (Brute Force)(Brute Force)○ Pokušati sve moguće kombinacije ključaPokušati sve moguće kombinacije ključa○ Efikasno za kratke (loše izabrane) ključeveEfikasno za kratke (loše izabrane) ključeve○ Povećanje računarskih performansi prouzrokuje Povećanje računarskih performansi prouzrokuje
potrebu za povećanjem dužine ključa i kod sistema potrebu za povećanjem dužine ključa i kod sistema koji su nekada bili „sigurni“koji su nekada bili „sigurni“
● Analiza frekvencijaAnaliza frekvencija○ Govorni jezik je „predvidiv“Govorni jezik je „predvidiv“○ Neka slova se pojavljuju češće od drugih, to važi i za Neka slova se pojavljuju češće od drugih, to važi i za
parove slova ... a i za reči pa čak i delove rečenicaparove slova ... a i za reči pa čak i delove rečenica○ I jaki sistemi sa loše izabranim ključem otkrivaju I jaki sistemi sa loše izabranim ključem otkrivaju
osobine tekstaosobine teksta
● „„Eci-peci-pec“Eci-peci-pec“
Tip napada: „Poznat samo šifrat“Tip napada: „Poznat samo šifrat“Tip napada: „Poznat samo šifrat“Tip napada: „Poznat samo šifrat“
● U slučaju monoalfabetske supstitucije dovoljna U slučaju monoalfabetske supstitucije dovoljna je uglavnom analiza frekvencijaje uglavnom analiza frekvencija
○ sve poruke su čitljivesve poruke su čitljive
● Polialfabetska supstitucija sa kratkim ključem Polialfabetska supstitucija sa kratkim ključem može biti potpuno razbijenamože biti potpuno razbijena
○ većina poruka je čitljivavećina poruka je čitljiva
● Ako se isti ključ primeni na dve ili više poruke, Ako se isti ključ primeni na dve ili više poruke, čak i polialfabetska supstitucija sa beskonačnim čak i polialfabetska supstitucija sa beskonačnim ključem može biti oslabljenaključem može biti oslabljena
○ E(A) xor E(B) = (A xor C) xor (B xor C) = A xor B xor C xor E(A) xor E(B) = (A xor C) xor (B xor C) = A xor B xor C xor C = A xor BC = A xor B
○ neke poruke su čitljiveneke poruke su čitljive
● U slučaju monoalfabetske supstitucije dovoljna U slučaju monoalfabetske supstitucije dovoljna je uglavnom analiza frekvencijaje uglavnom analiza frekvencija
○ sve poruke su čitljivesve poruke su čitljive
● Polialfabetska supstitucija sa kratkim ključem Polialfabetska supstitucija sa kratkim ključem može biti potpuno razbijenamože biti potpuno razbijena
○ većina poruka je čitljivavećina poruka je čitljiva
● Ako se isti ključ primeni na dve ili više poruke, Ako se isti ključ primeni na dve ili više poruke, čak i polialfabetska supstitucija sa beskonačnim čak i polialfabetska supstitucija sa beskonačnim ključem može biti oslabljenaključem može biti oslabljena
○ E(A) xor E(B) = (A xor C) xor (B xor C) = A xor B xor C xor E(A) xor E(B) = (A xor C) xor (B xor C) = A xor B xor C xor C = A xor BC = A xor B
○ neke poruke su čitljiveneke poruke su čitljive
Tip napada: „Poznat je i otvoreni tekst“Tip napada: „Poznat je i otvoreni tekst“Tip napada: „Poznat je i otvoreni tekst“Tip napada: „Poznat je i otvoreni tekst“
● Telegram sa otvorenim tekstom može biti Telegram sa otvorenim tekstom može biti ukraden ili greškom objavljenukraden ili greškom objavljen
● Pogadjanje tipičnih rečiPogadjanje tipičnih reči○ Česte reči ili formalizovana zaglavlja porukaČeste reči ili formalizovana zaglavlja poruka○ „„Vremenska prognoza“Vremenska prognoza“
● Provokacija da se pošalju nama poznate Provokacija da se pošalju nama poznate informacijeinformacije
○ Akcija koja navodi neprijatelja da javi poziciju i opisAkcija koja navodi neprijatelja da javi poziciju i opis
● Telegram sa otvorenim tekstom može biti Telegram sa otvorenim tekstom može biti ukraden ili greškom objavljenukraden ili greškom objavljen
● Pogadjanje tipičnih rečiPogadjanje tipičnih reči○ Česte reči ili formalizovana zaglavlja porukaČeste reči ili formalizovana zaglavlja poruka○ „„Vremenska prognoza“Vremenska prognoza“
● Provokacija da se pošalju nama poznate Provokacija da se pošalju nama poznate informacijeinformacije
○ Akcija koja navodi neprijatelja da javi poziciju i opisAkcija koja navodi neprijatelja da javi poziciju i opis
Tip napada: „Napad izabranim tekstom“Tip napada: „Napad izabranim tekstom“Tip napada: „Napad izabranim tekstom“Tip napada: „Napad izabranim tekstom“
● Slabosti sistema se otkrivaju proizvoljnim brojem Slabosti sistema se otkrivaju proizvoljnim brojem poznatih poruka šifrovanih od strane kriptoanalitičarapoznatih poruka šifrovanih od strane kriptoanalitičara
● „„Zašto bi neko dobrovoljno pristao da šifruje naše Zašto bi neko dobrovoljno pristao da šifruje naše poruke?“poruke?“
○ Asimetrični šifarski sistemi funkcionišu tako što je ključ Asimetrični šifarski sistemi funkcionišu tako što je ključ za šifrovanje svakom poznatza šifrovanje svakom poznat
● Zavisno od sistema primenjuje se napad poznatim Zavisno od sistema primenjuje se napad poznatim otvorenim tekstom ili poznatim šifratomotvorenim tekstom ili poznatim šifratom
● Provokacija da se pošalje tekst koji nam je poznatProvokacija da se pošalje tekst koji nam je poznat○ Podmetanje „vrlo važne“ informacijePodmetanje „vrlo važne“ informacije
● Slabosti sistema se otkrivaju proizvoljnim brojem Slabosti sistema se otkrivaju proizvoljnim brojem poznatih poruka šifrovanih od strane kriptoanalitičarapoznatih poruka šifrovanih od strane kriptoanalitičara
● „„Zašto bi neko dobrovoljno pristao da šifruje naše Zašto bi neko dobrovoljno pristao da šifruje naše poruke?“poruke?“
○ Asimetrični šifarski sistemi funkcionišu tako što je ključ Asimetrični šifarski sistemi funkcionišu tako što je ključ za šifrovanje svakom poznatza šifrovanje svakom poznat
● Zavisno od sistema primenjuje se napad poznatim Zavisno od sistema primenjuje se napad poznatim otvorenim tekstom ili poznatim šifratomotvorenim tekstom ili poznatim šifratom
● Provokacija da se pošalje tekst koji nam je poznatProvokacija da se pošalje tekst koji nam je poznat○ Podmetanje „vrlo važne“ informacijePodmetanje „vrlo važne“ informacije
Kako prepoznati sistem?Kako prepoznati sistem?Kako prepoznati sistem?Kako prepoznati sistem?
● Entropija alfabetaEntropija alfabeta● Entropija dvoznaka (i većih grupa)Entropija dvoznaka (i većih grupa)● Uslovna entropijaUslovna entropija● Kasiski testKasiski test
○ Ponavljanje grupe od 3 i više karakteraPonavljanje grupe od 3 i više karaktera
● Fridman test (Fridman test (KappaKappa test) test)○ Indeks podudarnostiIndeks podudarnosti
● Entropija alfabetaEntropija alfabeta● Entropija dvoznaka (i većih grupa)Entropija dvoznaka (i većih grupa)● Uslovna entropijaUslovna entropija● Kasiski testKasiski test
○ Ponavljanje grupe od 3 i više karakteraPonavljanje grupe od 3 i više karaktera
● Fridman test (Fridman test (KappaKappa test) test)○ Indeks podudarnostiIndeks podudarnosti
Još malo teorije informacijaJoš malo teorije informacija ... ...
- - ENTROPIJAENTROPIJA - -Još malo teorije informacijaJoš malo teorije informacija ... ...
- - ENTROPIJAENTROPIJA - -
n
iii ppz
12log
nz 2max log
• z - z - entropijaentropija
• p - p - frekvencijafrekvencija
• n - n - veličinaveličina uzorkauzorka
ZapamtiteZapamtite !!! !!!Koliko god Vam se VašaKoliko god Vam se Vaša šifra šifra
činila savršenomčinila savršenom,,ona je zadovoljavajućaona je zadovoljavajućasamo ako prodje testsamo ako prodje test
kriptoanalizekriptoanalize
LiteraturaLiteraturaLiteraturaLiteratura
F.L.Bauer, “DECRYPTED SECRETS”F.L.Bauer, “DECRYPTED SECRETS”Springer-Verlag Berlin Heidelberg, New York, 1997.Springer-Verlag Berlin Heidelberg, New York, 1997.
D.Kahn, “CODEBREAKERS”D.Kahn, “CODEBREAKERS”Macmillan, New York, 1967.Macmillan, New York, 1967.
F.L.Bauer, “DECRYPTED SECRETS”F.L.Bauer, “DECRYPTED SECRETS”Springer-Verlag Berlin Heidelberg, New York, 1997.Springer-Verlag Berlin Heidelberg, New York, 1997.
D.Kahn, “CODEBREAKERS”D.Kahn, “CODEBREAKERS”Macmillan, New York, 1967.Macmillan, New York, 1967.
UVOD UUVOD UKRIPTOLOGIJUKRIPTOLOGIJU
Aleksandar JovičićAleksandar Jovičić[email protected]@jovicic.name
http://www.jovicic.name/isp/crypto.pdfhttp://www.jovicic.name/isp/crypto.pdf