You are on page 1of 59

KLASIČNA KRIPTOGRAFIJA

Jelena Ignjatović
Univerzitet u Nišu
PMF
Fysis kriptesthai filei
Priroda voli da se sakriva. *
* Heraklit, Fragment 123

Samopokazujuće izrastanje (biće


u celini) voli da se krije. **
** Heideger, Uvod u metafiziku
Kada komuniciramo sa nekim, najčešće želimo
da ta komunikacija ne bude prisluškivana, ali bez
obzira na sredstva (medijume) komunikacije
uvek postoji mogućnost presretanja ili čak
izmene naše poruke.
Prisluškivanje je vrlo teško sprečiti, pa je stoga
svaku poverljivu, privatnu poruku moguće zaštiti
samo na neki drugi način. Poznavanje
kriptografije je jedan od načina zaštite poruke
koja se šifrira, tako da je može razumeti samo
onaj kome je poruka namenjena.
Kriptologija

 Kriptologija  Umetnost i nauka pravljenja i


razbijanja “tajnih kodova”
 Kriptografija  pravljenje “tajnih kodova”
 Kriptoanaliza  razbijanje “tajnih kodova”
 Steganografija  sakrivanje informacija
 Kriptologija =
Kriptografija + Kriptoanaliza + Steganografija
Šta je kriptologija?

Kriptologija

Kriptografija Kriptonaliza
„Umetnost i nauka o čuvanju „ Umetnost i nauka o
sigurnosti poruke“ razbijanju šifrovanog teksta“
Kriptologija
 Kriptografija obezbeđuje sigurnost web sajtova i čini
mogućim bezbedan elektonski prenos informacija.
 Da bi web strana obezbedila sigurnost prenosa podataka
između računara gde se podaci čuvaju i onog gde se
primaju podaci se moraju šifrovati.
 To omogućava korisnicima online banking i online
kupovinu putem njihovih kreditnih kartica i bez
opasnosti da će bilo koji od njihovih računa biti ugrožen.
 Kriptografija je jako značajna za stalni razvoj Interneta i
elektronske razmene i kupovine.

private communication system -


"for your eyes only"
Kriptologija
 Oblast proučavanja pokriva sve oblike zaštite
poruke i njenog otkrivanja. Kriptologija, u stvari, obuhvata:
– kriptografiju (metode koje prevode poruku u
nečitljivu i nerazumljivu formu)
– kriptoanalizu (metode koje otkrivaju informaciju
skrivenu kriptografijom)

 Nekad se takođe kaže da ona obuhvata:


– Presecanje (presretanje) poruke,
– Analizu saobraćaja (upotrebu prenosa informacija,
kao i vreme postanka, traženje znakova i
određivanje dužine poruke, i osnove proučavanja)
– Steganografiju (methode koje skrivaju postojeću
poruku i čine je nevidljivom )
Osnovni zadatak kriptografije je da omogući
dvema osobama (pošiljalac i primalac) da
komuniciraju preko nesigurnog komunikacijskog
kanala (telefonska linija, računarska mreža, ...) na
način da treća osoba (njihov protivnik) ne može
razumeti njihove poruke.
Poruku koju pošiljalac želi da pošalje primaocu
zvaćemo otvoreni tekst (jednostavan, čist ili
nešifrovan tekst, engl. plaintext).
To može biti tekst na njihovom maternjem jeziku,
numerički podaci ili bilo šta drugo.
Pošiljalac transformiše otvoreni tekst koristeći
unapred dogovoreni ključ. Taj postupak se zove
šifrovanje, a dobijeni rezultat šifrat (šifrovani
tekst, engl. ciphertext) ili kriptogram.
Posle toga pošiljalac pošalje šifrat preko nekog
komunikacijskog kanala. Protivnik prisluškujući
može da sazna sadržaj šifrata, ali ne može da
odredi otvoreni tekst. Za razliku od njega,
primalac koji zna ključ kojim je šifrovana poruka
može da dešifruje šifrat i odredi otvoreni tekst.
Kriptografija – Osnovna terminologija

 Plaintext (otvorena) poruka (podaci)


 Hipertekst (transformisana, šifrovana)
poruka
 Šifrovanje/šifarski algoritam EK
– transformiše plaintext to ciphertext
 Dešifrovanje/dešifarski algoritam DK
– transformiše hipertext natrag u plaintext
 Ključevi
– parametri za algoritme za šifrovanje/
dešifrovanje
Kriptografija – Osnovna terminologija

ključ K

sorqjz
Otvoreni
tekst Šifrovanje plvnwk
ghanqd
EK(P) = C
P C
plaintext Cipher ciphertext

sorqjz
otvoreni Dešifrovanje plvnwk
tekst
DK(C) = P ghanqd
P C

ključ K
Kriptografski algoritam ili šifra je matematička
funkcija koja se koristi za šifrovanje i dešifrovanje
(radi se o dve funkcije, jednoj za šifrovanje, a
drugoj za dešifrovanje).
Njeni argumenti su ključ i otvoreni tekst, odnosno
ključ i šifrat.
Skup svih mogućih vrednosti ključeva zovemo
prostor ključeva. Kriptosistem se sastoji od
kriptografskog algoritma, svih mogućih otvorenih
tekstova, šifrata i ključeva. Dakle, imamo sljedeću
formalnu definiciju:
Definicija: Kriptosistem je uređena petorka (P, C, K, E, D)
za koju važi:
      1) P je konačan skup svih mogućih otvorenih tekstova;

      2) C je konačan skup svih mogućih šifrata;


      3) K je prostor ključeva, tj. konačan skup svih mogućih
ključeva;
      4) Za svaki ključ K iz skupa K postoji algoritam
šifrovanja eK iz E i odgovarajući algoritam dešifrovanja dK
iz D.
Pri tom funkcija šifrovanja eK vrši preslikavanje: PC, a
funkija dešifrovanja dK preslikavanje: C  P.
Takođe, važi svojstvo da je dK(eK(x)) = x za svaki otvoreni
tekst x iz skupa P.
Kriptosisteme obično klasifikujemo na osnovu sledeća
tri kriterijuma:
 
1. Prema tipu operacija koje se koriste pri šifrovanju
imamo:
supstitucijske (supstitucione )šifre - u kojima se svaki
element otvorenog teksta (bit, slovo, grupa bitova ili
slova) preslikava u neki drugi element;
transpozicijske (transpozicione ) šifre - u kojima se
elementi otvorenog teksta permutuju.
Npr. ako riječ TAJNA šifrujemo u XIWOI, uradili smo
supstituciju, a ako je šifrujemo u JANAT, uradili smo
transpoziciju. Postoje takođe i sistemi koji kombinuju
ove dvije metode.
2. Prema načinu na koji se obrađuje otvoreni tekst
razlikujemo:
blok (blokovske) šifre - kod kojih se obrađuje jedan po
jedan blok elemenata otvorenog teksta korišćenjem
jednog istog ključa K;
protočne šifre (engl. stream cipher) - kod kojih se
elementi otvoreg teksta obrađuju jedan po jedan
korišćenjem niza ključeva (engl. keystream) koji se
paralelno generiše.

3. Prema broju ključeva koji se koristi


Osnovna podela je na simetrične kriptosisteme i
kriptosisteme s javnim ključem.
Kod simetričnih ili konvencionalnih kriptosistema, ključ
za dešifrovanje se može izračunati poznavanjem ključa
za šifrovanje i obratno. Sigurnost ovih kriptosistema leži
u tajnosti ključa - kriptosistemi s tajnim ključem.
Kod kriptosistema s javnim ključem ili asimetričnih
kriptosistema, ključ za dešifrovanje se ne može (bar ne u
nekom razumnom vremenu) izračunati iz ključa za
šifrovanje.
Ovde je ključ za šifrovanje javni ključ. Naime, bilo ko može
šifrovati poruku pomoću njega, ali samo osoba koja
ima odgovarajući ključ za dešifrovanje (privatni ili tajni
ključ) može dešifrirati tu poruku.
Ideja javnog ključa javila se 1976. godine (prvi su je javno
izneli Whitfield Diffie i Martin Hellman) zbog potrebe
razmene ključeva simetričnih kriptosistema putem
nesigurnih komunikacionih kanala.
Princip simetrične kriptologije

Algoritam za šifrovanje nije tajan


Princip simetrične kriptologije

XBW HGQW XS
Potreba za ACFPSUWG
FWPGWXF CF
otkrivanjem tajni
AWWKZV
duboko je ukorenjena CDQGJCDWA CD
u ljudskoj prirodi. BHYJD DJXHGW;
Čak i najmanje WUWD XBW ZWJFX
radoznao um PHGCSHF YCDA
zainteresovan je za CF GSHFWA LV
sticanje znanja koja XBW KGSYCFW SI
drugi pokušavaju da FBJGCDQ
RDSOZWAQW
sakriju u medjusobnoj
OCXBBWZA IGSY
komunikaciji. SXBWGF
Princip asimetrične kriptologije
Poverljivost: C = E(jav.ključ,M)
Kriptoanaliza
Sada ćemo dati nekoliko opštih napomena o kriptoanalizi.
Osnovna pretpostavka kriptoanalize je da kriptoanalitičar
zna koji se kriptosistem koristi. To se zove Kerckhoffsov
princip, po Holanđaninu Augustu Kerckhoffsu (1835-1903),
autoru važne knjige "La Cryptographie militaire" (Vojna
kriptografija).
Ova pretpostavka u konkretnom slučaju ne mora biti tačna,
ali mi ne želimo da nam sigurnost kriptosistema leži na
"klimavoj" pretpostavci da naš protivnik ne zna koji
kriptosistem koristimo. Čak ukoliko kriptoanalitičar treba da
proveri nekoliko mogućih kriptosistema, time se
kompleksnost procedure bitno ne menja. Dakle, mi
pretpostavljamo da tajnost šifre u potpunosti leži u ključu.
Kriptoanaliza – Osnovne pretpostavke

Sigurnost šifre može da se oslanja


Samo na tajnosti ključa!

 Napadač zna svaki detalj kriptografskog algoritma


 Napadač poseduje opremu za šifrovanje/dešifrovanje
 Napadač ima pristup proizvoljnom broju plaintext /
hipertext parova generisanih nekim (nepoznatim) ključem.
Jaka šifra: Najbolji napad bio bi pretraživanje ključeva
grubom silom (brute force)!
Potpuno pretraživanje ključeva
 Napadač može da isproba sve moguće ključeve i
proveriti da li je jadan od njih pravi
– Potpuno pretraživanje ključeva
 Da bi se izbegao ovaj tip napada, kriptosistem mora
imati veliki prostor mogućih ključeva (prostor ključeva)
– Mora biti toliko potencijalnih ključeva da napadač ne može da ih isproba u
razumnom vremenu
 Veliki prostor ključeva je neophodan, ali ne i dovoljan
uslov za bezbednost šifarskih sistema
 Može da postoji neki skraćeni napad
 U kriptografiji gotovo nikad ne možemo dokazati da
skraćeni napadi ne postoje
 Ovo čini kriptografiju interesantnom i izazovnom
Razlikujemo četiri osnovna nivoa kriptoanalitičkih napada:

1. Samo šifrat
Kriptoanalitičar poseduje samo šifrat od nekoliko poruka
šifrovanih pomoću istog algoritma. Njegov zadatak je da
otkrije otvoreni tekst od što više poruka ili u najboljem
slučaju da otkrije ključ kojim su poruke šifrovane.

2. Poznat otvoreni tekst


Kriptoanalitičar poseduje šifrat neke poruke, ali i njemu
odgovarajući otvoreni tekst. Njegov zadatak je da otkrije
ključ ili neki algoritam za dešifrovanje poruka šifrovanih
tim ključem.
3. Odabrani otvoreni tekst
Kriptoanalitičar je dobio privremeni pristup alatu za
šifrovanje. Tako ima mogućnost odabira teksta koji će
biti šifrovan i da dobije njegov šifrat. Ovaj napad je jači
od prethodnog.

4. Odabrani šifrat
Kriptoanalitičar je dobio pristup alatu za dešifrovanje,
pa može da odabere šifrat i da dobije odgovarajući
otvoreni tekst. Ovaj napad je tipičan kod kriptosistema
s javnim ključem.

5. Potkupljivanje, ucena, krađa i slično


Ovaj napad ne spada u kriptoanalizu, ali je vrlo efikasan
i često primenjiv.
Definicija sigurnosti
 Kriptosistem je siguran ukoliko je najbolji poznati napad
potpuna pretraga svih ključeva
 Kriptosistem je nesiguran ukoliko postoji bilo koji
skraćeni napad
Prema ovim definicijama, jedan nesiguran sistem
može biti teži za razbijanje od nekog sigurnog
sistema čiji je prostor ključeva mali!

Zašto je sigurnost definisana na ovaj način?


 Veličina prostora ključeva je “nominovani-reklamirani”
nivo sigurnosti
 Ukoliko napad zahteva manje posla, tada je kriptosistem
pogrešno nominovan, odnosno reklamiran.
Definicija sigurnosti
 Šifarski sistem mora da bude siguran (prema našoj
definiciji) i uz to mora da ima “veliki” prostor ključeva

Pretpostavimo da kripto sistem ima ključ dužine 100


bitova.
Tada je prostor ključeva veličine 2100 .
U proseku, za potpuno pretraživanje napadač mora da
testira 2100/2 = 299 ključeva
Pretpostavimo da on može da testira 230 ključeva/sekundi
Tada bi ključ mogao da se nađe za oko 37.4 triliona
godina.
Kriptografija sa
simetričnim ključem

SUPSTITUCIONE ŠIFRE
Cezarova monoalfabetska supstituciona šifra

MESSAGE FROM MARY STUART KILL THE QUEEN

Substitution Table - Caesar‘s Cipher


ABCDEFGHIJKLMNOPQRSTUVWXYZ
ključ = 3 ciklični
DEFGHIJKLMNOPQRSTUVWXYZABC
pomeraj

P
PH
PHVV
PHVVD JHIUR PPDUB VWXDU WNLOO WKHTX HHQ
J ci=pi+3
General Substitution Table
ABCDEFGHIJKLMNOPQRSTUVWXYZ
EYUOBMDXVTHIJPRCNAKQLSGZFW 26! Mogućih ključeva

JBKKE DBMAR JJEAF KQLEA QHVII QXBNL BBP


otvoreni tekst
A BCDEFGH I J K L M NOPQRS T U V W X YZ
šifrat D E F GH I J K L M NO P Q R S T U VWX Y Z A B C

Kada radimo sa otvorenim tekstom na našem jeziku,


onda ćemo Č i Ć zamijeniti sa C, a Đ, Dž, Lj, Nj, Š, Ž
redom sa DJ, DZ, LJ, NJ, S, Z.
Danas se Cezarovom šifrom nazivaju i šifre istog oblika
sa pomerajem različitim od 3. Zamenom slova A, B, C,
..., Z redom brojevima 0, 1, 2,...,25, Cezarovu šifru
možemo definisati na sljedeći način:

Neka je P = C = K = Z26. Za 0 K  25 definišemo


šifrovanje: y = eK(x) = x + K mod 26,  
dešifrovanje: dK(y) = y  K mod 26.
.
Dešifrujmo šifrat   PWNUYTLWFKNOF, dobijen
Cezarovom šifrom. Ključ K je nepoznat.

Kako je broj mogućih ključeva jako mali (ima ih 26)


zadatak možemo rešiti "grubom silom", tj. tako da ispitamo
sve moguće ključeve, sve dok ne dođemo do nekog
smislenog teksta.
Za K=0, K=1, K=2, ... dobijamo redom:

       PWNUYTLWFKNOF K=0           
 
OVMTXSKVEJMNE K=1             
NULSWRJUDILMD K=2             
MTKRVQITCHKLC K=3             
LSJQUPHSBGJKB K=4             
KRIPTOGRAFIJA K=5

Dakle, ključ je K = 5, a otvoreni tekst je KRIPTOGRAFIJA.


Neka se slova otvorenog teksta i šifrata označavaju
brojevima kao i kod Cezarove šifre tj. neka je:
P = C = Z26 i neka je ključ K definisan uređenim
parom (a,b) koji su elementi skupa Z26. Za proizvoljan
ključ K = (a,b) definišemo:
Šifrovanje: eK(x) = ax + b mod 26,
Dešifrovanje: dK(y) = a–1(y – b) mod 26.

Ova šifra se zove afina po funkciji kojom se vrši


šifrovanje.
Proverimo da li je uslov: dK(eK(x)) = x zadovoljen.
Zaista,
dK(eK(x)) = dK(ax + b) = a–1 (ax + b – b) = x. 
Ovdje a–1 ne označava recipročnu vrednost broja a, već
je on tzv. multiplikativni inverz broja a.
Brojevi a–1 i a zadovoljavaju jednakost: a–1a mod 26 =1.
Nemaju svi brojevi iz skupa Z26 svoj multiplikativni inverz
(već samo oni koji su uzajamno prosti sa brojem).
Prikažimo te brojeve zajedno s njihovim inverzima:
a 1 3 5 7 9 11 15 17 19 21 23 25

a–1 1 9 21 15 3 19 7 23 11 5 17 25

Neka je K = (7, 3). Treba da šifriramo otvoreni tekst  


ZASTITA.
Z → 25 . 7 + 3 ≡ 22 (mod 26) → W,
A → 0 . 7 + 3 ≡ 3 (mod 26) → D,
S → 18 . 7 + 3 ≡ 25 (mod 26) → Z,
T → 19 . 7 + 3 ≡ 6 (mod 26) → G,
I → 8 . 7 + 3 ≡ 7 (mod 26) → H,
T → 19 . 7 + 3 ≡ 6 (mod 26) → G,
A → 0 . 7 + 3 ≡ 3 (mod 26) → D,
pa je šifrat   WDZGHGD.
Ispod je dat i odgovarajući tabelarni prikaz:
Z A S T I T A     - Otvoreni tekst
Brojevi koji odgova-
25 0 18 19 8 19 0    raju tekstu (x)
y = ax + b mod 26       
Brojevi koji odgo
22 3 25 6 7 6 3    -varaju šifratu (y)
W D Z G H G D     - Šifrat
Neka je K = (5, 5). Dešifrujte šifrat:  XWGXM ZSTWZ DRW.
Kako je a=5 iz tabele se može videti da je a–1=21, pa se
primenom formule
dK(y) = a–1(y – b) mod 26,
dK(y) = 21.(y – 5) mod 26 dolazi do rješenja.
Npr. X→ 23 → dK(23) = 21.(23 – 5) = 378 ≡ 14 (mod 26).
Dešifrovanjem svih slova dobijaju se dešifrovane reči:
OTVORENI TEKST.
X W G X M Z S T W Z D R W  - Šifrat
- Brojevi koji odgovaraju
23 22 6 23 12 25 18 19 22 25 3 17 22
  šifratu (y)
dK(y) = 21.(y – 5) mod 26  
- Brojevi koji odgoravarju
14 19 21 14 17 4 13 8 19 4 10 18 19
  tekstu (x)
O T V O R E N I T E K S T  - Otvoreni tekst
Neka je K = (5, 5). Dešifrujte šifrat:  XWGXM ZSTWZ DRW.
Kako je a=5 iz tabele se može videti da je a–1=21, pa se
primenom formule
dK(y) = a–1(y – b) mod 26,
dK(y) = 21.(y – 5) mod 26 dolazi do rješenja.
Npr. X→ 23 → dK(23) = 21.(23 – 5) = 378 ≡ 14 (mod 26).
Dešifrovanjem svih slova dobijaju se dešifrovane reči:
OTVORENI TEKST.
X W G X M Z S T W Z D R W  - Šifrat
- Brojevi koji odgovaraju
23 22 6 23 12 25 18 19 22 25 3 17 22
  šifratu (y)
dK(y) = 21.(y – 5) mod 26  
- Brojevi koji odgoravarju
14 19 21 14 17 4 13 8 19 4 10 18 19
  tekstu (x)
O T V O R E N I T E K S T  - Otvoreni tekst
Dešifrujmo šifrat
OZWHR YEZCV WFCTP CUWRC FPWTC HWI
dobijen afinom šifrom. Ključ nije poznat, a otvoreni tekst
je pisan na našem jeziku.
Kako je ključ K=(a,b) kombinacija 12 mogućih brojeva a i
26 mogućih brojeva b to postoji 12 . 26 = 312 mogućih
ključeva.
Ali, postoji elegantniji način za dešifrovanje osim primene
grube sile. Ako znamo kojim je jezikom pisan otvoreni
tekst možemo iskoristiti statističke podatke o frekvenciji
pojedinih slova u tom jeziku. Frekvencijom slova u
pojedinim jezicima detaljnije ćemo se pozabaviti malo
kasnije. Za sada nam je potrebna samo činjenica da su
najfrekventnija slova u našem jeziku A, I, O, E, N, i to u
ovom redosljedu. U našem šifratu uočavamo da su
najfrekventnija slova C i W, koja se javljaju po 5 puta.
Mada je naš šifrat prekratak, možemo da očekujemo da
su ova dva slova šifrati od A, I, O, E ili N.
Криптоанализа

Фреквенција слова у српском језику


37
Pretpostavimo da je C šifrat slova A, kao i da je W šifrat
slova I tj. eK(A) = C i eK(I) = W.
Korišćenjem tabele pomoću koje pretvaramo slova u
brojeve imamo da je: eK(0) = 2 i eK(8) = 22.
Sada na osnovu definicije imamo eK(0) = a . 0 + b = b,
eK(8) = 8a + b.
Vidimo da je b = 2 i 8a + b ≡ 22 (mod 26),
odakle možemo izračunati a = 9. Dakle, dobili smo da je
eK(x) = 9x + 2 (mod 26).
Tada je dK(y) = 3(y − 2 ) (mod 26).
Primjenimo li funkciju dK na naš šifrat, dobijamo otvoreni
tekst (s umetnutim razmacima):
KRIPTOGRAFIJA ZNAČI TAJNI ZAPIS.
Sigurnost supstitucionih šifara

Supstitucionu šifru je moguće lako dešifrovati korišćenjem


statistička svojstva jezika kojim je pisan otvoreni tekst.
Osnovna metoda je analiza frekvencije slova.
Broji se pojavljivanje svakog slova u šifratu, pa se
distribucija slova u šifratu upoređuje s poznatim podacima
o distribuciji slova u jeziku otvorenog teksta. Vrlo je
verojatno da najfrekventnija slova šifrata odgovaraju
najfrekventnijim slovima jezika.
Ta verovatnoća raste s dužinom šifrata. Takođe, korisni
mogu biti i podaci o najčešćim bigramima (parovima
slova) i trigramima (nizovima od 3 slova) u jeziku.
Začeci analize frekvencija se mogu naći u 14. veku u delu
arapskog autora Ibn ad-Duraihima, a izgleda da su tu
metodu u isto vrijeme poznavali i italijanski kriptografi.
Navešćemo osnovne podatke za naš, engleski i nemački
jezik.
Smatramo da u tekstu nema interpunkcijskih znakova, ni
razmaka između reči (u protivnom bi kriptoanaliza bila
puno lakša), kao i da su slova Č, Ć, Đ, Dž, Lj, Nj, Š, Ž
zamijenjena na napred opisan način.
FREKVENCIJA SLOVA (u promilima)
A I O E N S R J T U D K V L M P C Z G B H F
NAŠ JEZIK 115 98 90 84 66 56 54 51 48 43 37 36 35 33 31 29 28 23 16 15 8 3

E T A O I N S H R D L C U M W F G Y P B V K J Q XZ
ENGLESKI 127 91 82 75 70 67 63 61 60 43 40 28 28 24 23 22 20 20 19 15 10 8 2 1 1 1

E N I R S A T D H U L G O C M B F W K Z P V J Y XQ
NJEMAČKI
175 98 77 75 68 65 61 48 42 42 35 31 30 27 26 19 17 15 15 11 10 9 3 1 0 0
Najfrekventniji bigrami u našem jeziku su:
JE (2.7 %), NA (1.5 %), RA (1.5 %), ST, AN, NI, KO, OS,
TI, IJ, NO, EN, PR (1.0 %).
Ovde je važno da uočimo da je JE najfrekventniji bigram,
iako J nije među najfrekventnijim slovima. Više od pola
pojavljivanja slova J otpada na bigram JE.
Druga zanimljivost je da su svi najfrekventniji bigrami
oblika suglasnik-samoglasnik ili samoglasnik-suglasnik,
osim bigrama ST i PR.
Najfrekventniji recipročni bigrami su NA i AN
(1.5 % + 1.4 %), a zatim NI i IN (1.3 % + 0.9 %).
Jedino kod ova dva para frekvencije oba bigrama su veće
od 0.9%.
Za ijekavicu najfrekventniji trigram u našem jeziku je IJE
(0.6 %). Slede (s frekvencijama između 0.3 % i 0.4 %):
STA, OST, JED, KOJ, OJE, JEN.
U engleskom jeziku najfrekventniji bigrami su:
TH (3.2 %), HE (2.5 %), AN, IN, ER, RE, ON, ES, TI, AT
(1.2 %), a trigrami THE (3.5 %), ING (1.1 %), AND (1.0 %),
ION, TIO, ENT, ERE, HER (0.7 %).
Prema tome, uprkos velikom prostoru ključeva,
supstituciona šifra je vrlo laka za kriptoanalizu. To je bilo
poznato već početkom 15. veka, kada je u Italiji počela
upotreba tzv. homofonih šifara.
To je šifrovanje najfrekventnijih slova sa više različitih
simbola. To svakako povećava sigurnost šifre, ali i dalje
analiza frekvencija bigrama i trigrama može da dovede do
rešenja.
Takođe se može iskoristiti delomično ponavljanje, kao na
primer ako kod šifrovanja slova pomoću dvocifrenih
brojeva naiđemo na nizove:
12 17 37 23 57 i 12 17 42 23 57,
onda je prilično izvesno da 37 i 42 predstavljaju isto slovo
otvorenog teksta.
Homofone supstitucione šifre

 Da bi izbegli analizu frekvencije, možemo da koristimo


homofone supstitucione šifre.
– Predstavljena mapa symbola umnožava simbole.
– na pr. 0 -> {01,10}, 1->{00,11}

Homofoni supstitucioni ključ Simeonea de Crema


u Mantui 1401. god.
Homofone supstitucione šifre
Homofone supstitucione šifre
Homofone supstitucione šifre
a 10, 48, 22, 36, 24, 13, 42, 06
b 37
We will encipher the c 57, 77, 92
message Hello World d 99, 56, 96, 30
e 89, 85, 47, 28, 91,63, 55, 09, 07, 11, 51, 08
  f 02, 01
h e l l o g 52, 16
h 05, 66, 54, 32, 29, 33
05 28 76 17 90 i 81, 67, 00, 74, 58, 72, 71
j 69
k 25
w o r l d l 76, 17, 95, 46
86 64 78 95 99 m 50, 15
n 04, 98, 34, 70, 53, 97
  o 90, 64, 40, 18, 62, 73, 49
p 38, 93
q 31
r 78, 20, 59, 39, 21, 26
s 88, 65, 79, 94, 83, 27
t 41, 35, 68, 19, 87, 82, 60, 23, 14, 43
u 12, 61, 84
v 44
w 86, 45
x 80
y 03
z 75
Polialfabetske supstitucione šifre
Polialfabetske supstitucione šifre
Polialfabetske supstitucione šifre

Kod supstitucijske šifre svakom slovu otvorenog teksta


odgovara jedinstveno slovo šifrata. Takvi kriptosistemi
se zovu monoalfabetski. Prikazaćemo sada Vigenère-
ovu šifru koja spada u polialfabetske kriptosisteme.
Naime, kod nje svako slovo otvorenog teksta može se
preslikati u jedno od m mogućih slova ( gdje je m dužina
ključa).
Blaise de Vigenère je 1586. godine objavio knjigu u
kojoj se nalazilo sve što se u to vrijeme znalo o
kriptografiji (ali gotovo ništa o kriptoanalizi). U njoj je
opisano više originalnih polialfabetskih sistema. Sistem
koji se danas naziva Vigenère-ova šifra definisana je na
sljedeći način:
Neka je m fiksan prirodan broj. Za ključ K = (k1, k2, ... , km),
definišemo
šifrovanje: eK(x1, x2, ... , xm) = (x1 + k1, x2 + k2, ... , xm + km),
dešifrovanje: dK(y1, y2, ... , ym) = (y1−k1, y2−k2, ... , ym−km),

gdje su svi numerički ekvivalenti (brojevi koji odgovaraju slovima)


otvorenog teksta (x), šifrata (y), ključa (k) elementi skupa Z26
(tj. brojevi 0,1,...,25).
Takođe, sve operacije su unutar skupa Z26 (znači da se sabiranje i
oduzamnje vrši po modulu 26).
Vigenrova šifra
Primer: Neka je m = 4 i ključna riječ BROJ. Šifrovati
otvoreni tekst KRIPTOLOGIJA.
Numerički ekvivalent za ključnu riječ BROJ je ključ
K = (1, 17, 14, 9).
Šifrovanje se sprovodi na sledeći način:

  K R I P T O L O G I J A  - otvoreni tekst
- numerički ekvivalent
10 17 8 15 19 14 11 14 6 8 9 0  otvorenog teksta
  B R O J B R O J B R O J  - ključna riječ
1 17 14 9 1 17 14 9 1 17 14 9   - ključ (numerički ekvivalent)
  x+k mod 26    
  11 8 22 24 20 5 25 23 7 25 23 9   - numerički ekvivalent šifrata
  L I W Y U F Z X H Z X J  - šifrat
Vigenrova šifra
Istu poruku sada šifrujemo na drugi način:
Vigenèrova šifra
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 Z alphabet plaintexta
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXYZA
CDEFGHIJKLMNOPQRSTUVWXYZAB
DEFGHIJKLMNOPQRSTUVWXYZABC Vigenèrov kvadrat
EFGHIJKLMNOPQRSTUVWXYZABCD
EF G H I J K L M N O P Q R S T U V W X Y Z A B C D E
GHIJKLMNOPQRSTUVWXYZABCDEF
HIJKLMNOPQRSTUVWXYZABCDEFG
Ključna reč: WHITE
IJKLMNOPQRSTUVWXYZABCDEFGH
HJ K L M N O P Q R S T U V W X Y Z A B C D E F G H I
IK L M N O P Q R S T U V W X Y Z A B C D E F G H I J
LMNOPQRSTUVWXYZABCDEFGHIJK
MESSAGE FROM ...
MNOPQRSTUVWXYZABCDEFGHIJKL WHITEWH ITEW
NOPQRSTUVWXYZABCDEFGHIJKLM
OPQRSTUVWXYZABCDEFGHIJKLMN I
IL
ILA
ILAL
ILALE
ILALEC
ILALECL NKSI
N
NK
NKS
PQRSTUVWXYZABCDEFGHIJKLMNO
QRSTUVWXYZABCDEFGHIJKLMNOP
RSTUVWXYZABCDEFGHIJKLMNOPQ
STUVWXYZABCDEFGHIJKLMNOPQR
TUVWXYZABCDEFGHIJKLMNOPQRS
UVWXYZABCDEFGHIJKLMNOPQRST
VWXYZABCDEFGHIJKLMNOPQRSTU
WXYZABCDEFGHIJKLMNOPQRSTUV
TX Y Z A B C D E F G H I J K L M N O P Q R S T U V W
YZABCDEFGHIJKLMNOPQRSTUVWX
Z A B C D E F G H I J K L M N O P Q R S T U V WKriptonaliza
XY – Kasiski Method 1863
Vigenrova šifra
 Primer: neka je ključ MATH
– Tj. ključ je, K = (12,0,19,7), budući da je M
označeno sa 12, A sa 0 i td.
 Otvoreni tekst: SECRETMESSAGE
 Šifrat: EEVYQTFLESTNQ
 Šifrovanje:
S E C R E T M E S S A G E
18 4 2 17 4 19 12 4 18 18 0 6 4
+12 0 19 7 12 0 19 7 12 0 19 7 12
4 4 21 24 16 19 5 11 4 18 19 13 16 (mod 26)
E E V Y Q T F L E S T N Q
 Zadatak
Vigenèrov kvadrat
 šifrovati odgovarajuća
slova plaintexta
 Korišćenjem ključne reči
deceptive

hipertext:ZICVTWQNGRZGVTWAVZHCQYGLMGJ
ključ: deceptivedeceptivedeceptive
Otvoreni text: wearediscoveredsaveyourself
Vigenrova šifra
Vigenrova šifra
Vižnerova šifra je kriptosistem koji je relativno lako razbiti
korišćenjem modernih sredstava. Interesantno je da jedini sistem
koji je potpuno siguran od kriptoanalize ima veoma sličan algoritam
kao i Vižnerova šifra. Taj sistem je slučajna šifra (šifra sa
jednokratnim ključem) koju su 1917. godine patentirali Moborn i
Vernam. 

U svom klasičnom obliku, slučajna šifra je prosto veliki skup


slučajnih, nezavisnih znakova ključa, ispisanih na listove papira i
spojenih zajedno u svesku. Pošiljalac koristi svaki znak ključa za
šifrovanje tačno jednog znaka otvorenog teksta. Primalac ima
identičnu svesku, i koristi slova iz nje da bi dešifrovao

odgovarajuće znakove šifrata.


Vigenrova šifra
Svaki ključ se koristi samo jednom, za šifrovanje samo jedne
poruke. Pošiljalac je nakon šifrovanja poruke uništavao iskorišćene
listove iz sveske ključeva što je predstavljalo uobičajenu meru
predostrožnosti. Primalac postupa isto posle dešifrovanja poruke.
Pod pretpostavkom da kriptoanalitičar ne može doći do sveske
koja se koristi za šifrovanje, ovaj sistem je savršeno siguran.
Multimedijalni kurs
https://www.khanacademy.org

You might also like