Sie sind auf Seite 1von 22

UNIVERZITET ZA POSLOVNE STUDIJE

FAKULTET ZA POSLOVNE I FINANSIJSKE STUDIJE


BANJA LUKA

SEMINARSKI RAD

KRIPTOGRAFIJA

Elektronski biznis i internet poslovanje

Prof: Mladen Radivojević Student: Vanja Tubak

NOVEMBAR,2009
UVOD

Kriptografija je znanost koja koristi matematiku i matematičke metode za


kriptiranje i dekriptiranje podataka. Kriptografija nam omogućava pohranjivanje ili
transportiranje "osjetljivih informacija" preko nesigurnih komunikacijskih kanala
bilo to korištenjem staromodnih pisama, radio odašiljača ili u današnje vrijeme
interneta na način da nitko ne može pročitati sadržaj tajne informacije osim
osobe kojoj je stvarno namijenjena.

Sama enkripcija se sastoji od toga da se čisti tekst (ili bilo kakva druga
informacija) sakrije tj. prikaže na nerazumljiv način svima osim osobama koje ne
poznaju dekripcijski ključ.

Kriptografija ima dugu i fascinantnu povijest. Postoje čak podaci da su Egipćani


prije više od 4000 godina koristili kriptografske sustave za zaštitu informacija.
Kriptografija se počela ubrzano razvijat tijekom 2. svjetskog rata. Jedno od
poznatijih kriptografskih metoda je bila njemačka Enigma. To je bio mehanički
stroj za kriptiranje koji je pomoću rotora i mehaničkih kontakata šifrirala poruke te
omogućava njemcima da tajno razgovaraju sa svojim podmornicama.

Početkom 60-ih sa razvojem računala došlo je do sve većih zahtjeva za zaštitom


informacija a time i do razvojem kriptografije. U zadnjih 20-ak godina desila se
prava eksplozije u razvoju kriptografije kod akademskim zajednicama. Dok je
klasična kriptografija bila u upotrebi od običnih ljudi već duže vrijeme,
kompjuterska kriptografija je bila u potpunosti u vojnoj domeni još od 2. svjetskog
rata. Američka NSA (National Security Agency) i njihovi ekvivalenti u bivšem
Sovjetskom savezu, Engleskoj, Izraelu, Francuskoj i drugdje potrošili su milijarde
dolara na razno razne igre osiguranja svojih komunikacija i pritom želeći razbiti
tuđe. Privatne osobe sa manje znanja i novaca su bile bespomoćne u zaštiti
svoje privatnosti od takvih vlada.

Danas je situacija bitno drugačija. Postoji puno sustava, što besplatnih koji koji
omogućavaju vrlo visoki nivo kriptiranja svakome tko želi. Doduše u nekim
državama i danas postoje zakoni o ograničenju korištenja kriptografskih alata, ali
sve je to uzaludno kada se na internetu mogu naći gotovo sve implementacije
kriptografskih metoda.

Osnovni ciljevi kriptografije su:

 tajnost podataka: da podacima mogu pristupiti samo oni koji smiju


 integritet podataka: da se otkrije neovlaštena promjena podataka
 provjera identiteta: dokazivanje da su stranke u komunikaciji zaista one
koje tvrde da jesu
 neosporivost: onemogućava sudioniku komunikacije da zaniječe svoje
prethodne poruke

2
ISTORIJA KRIPTOGRAFIJE

Kroz cijelu povijest čovječanstva postojala je potreba za sigurnom razmjenom


informacija. Problemom sigurne komunikacije bavili su se već Egipćani i Indijci
prije više od 3000 godina i od tada do danas osnovna ideja se nije promijenila –
prenijeti neku poruku s jednog mjesta na drugo što je sigurnije moguće, tj.
napraviti algoritam koji bi omogućio skrivanje originalne poruke tako da bude
potpuno (u idealnom slučaju) nerazumljiva osobama koje bi neovlašteno došle u
njen posjed. Prve korištene metode nisu bili složeni matematički algoritmi nego
se počelo korištenjem alternativnih jezika koji su bili poznati samo malom broju
ljudi. Razvoj složenijih metoda sigurne komunikacije počeo je tek razvojem
pisma, što je omogućilo da se bilo koja informacija prikaže određenim brojem
znakova koji bi, nakon upotrebe određenog ključa, formirali ponovno početnu
poruku1. S vremenom se javila i ideja prikaza slova drugim simbolima. Primjeri
koji su i danas u upotrebi su: Morseov kod, Braille-ovo pismo i ASCII kod.

Nikad nije točno utvrđen početak kriptografije, ali se smatra da je počela više od
2000 godina pr. Kr. jer iz tog vremena potječu prvi pronađeni tragovi šifriranja.
Točnije, oko 1900. godine pr. Kr. u Egiptu nastao je natpis koji se danas smatra
prvim dokumentiranim primjerom pisane kriptografije. U 6. stoljeću pr. Kr. u
zapisu dijela Biblije, Knjige o Jeremiji, korištena je jednostavna šifra koja izvrće
abecedu naopako. Šifra je poznata pod imenom ATBASH, a bila je jedna od
hebrejskih šifri koje su u to vrijeme korištene. U 6. desetljeću pr. Kr. Julije Cezar
je u državnim komunikacijama koristio jednostavnu supstituciju koja je kasnije
njemu u čast dobila ime "caesar" šifriranje. Ideja je bila u pomicanju svih slova za
tri mjesta naprijed. Takva šifra danas se smatra slabijom čak i od ATBASH šifre,
ali je u to vrijeme bila dobra jer je mali broj ljudi znao čitati.

U srednjem vijeku kriptografija je često korištena u službi Crkve, a jedan od


primjera toga je nomenclator – kombinacija malog koda i supstitucijske abecede
kojeg je na zahtjev pape Clementa VII stvorio Gabrieli di Lavinde. Ova šifra
ostala je u upotrebi sljedećih 450 godina, iako su u međuvremenu stvorene i
sigurnije šifre. Razlog tome je najvjerojatnije bio u njenoj jednostavnosti. 1518.
Johannes Trithemius je napisao prvu tiskanu knjigu o kriptografiji. Oko 1790.
Thomas Jefferson je uz pomoć matematičara Dr. Roberta Pattersona izumio
šifrarnik s kotačem. On je kasnije ponovno izumljen u nekoliko različitih oblika i
korišten u II. svjetskom ratu od strane američke ratne mornarice. 1861. u

1
A. Dujella, M. Maretić: Kriptografija, Element, Zagreb, 2007.

3
Patentnom uredu u SAD-u prijavljen je prvi izum vezan uz kriptografiju. Do 1980.
prijavljeno je 1769 takvih izuma.
20. stoljeće bilo je vrlo burno: 2 svjetska rata i mnogo raznih sukoba u kojima je
kriptografija odigrala značajnu ulogu. William Frederick Friedman (kasnije poznat
kao otac američke kriptoanalize) prvi je uveo pojam "kriptoanaliza". Kriptografiju
su rado koristili i kriminalci, a jedan vrlo slikovit primjer je iz razdoblja prohibicije.
Da bi mogli švercati alkohol koristili su vrlo komplicirane sustave šifriranja koji su
u to vrijeme bili vrlo napredni. 1923. Arthur Scherbius proizvodi svoj najslavniji
proizvod - široko poznatu Enigmu. Ona je prvotno trebala biti komercijalni
proizvod, ali nije uspjela pa su je preuzeli njemački nacisti. Oni su je poboljšali pa
je postala glavni uređaj za šifriranje u nacističkoj Njemačkoj. Prvi je njenu šifru
slomio jedan poljski matematičar na osnovi ukradenog primjerka šifriranog teksta
i dnevnih ključeva za tri mjeseca unaprijed. Kasnije su uspješno razbijene i druge
Enigmine šifre prvenstveno pod vodstvom Alana Turinga.

30-ih godina 20. stoljeća nastaje američki «suparnik» Enigme SIGABA. Važno je
spomenuti da je bila tehnički naprednija od Enigme.

Nakon II. Svjetskog rata razvoj [računalo|računala]] daje novi zamah kriptografiji.
Tako 1970. IBM razvija šifru pod nazivom Lucifer, koja kasnije, 1976. inspirira
stvaranje DES (Data Encryption Standard) šifre. Široko je prihvaćena u svijetu
zbog svoje dokazane otpornosti na napade. 1976. se također pojavila ideja
javnih klučeva. Godinu kasnije grupa početnika u kriptografiji Rivest, Shamir i
Adleman stvorili su algoritam koji su po prvim slovima svojih prezimena nazvali
RSA algoritam2. To je bila praktična šifra sa javnim ključevima koja se mogla
koristiti i za šifriranje poruka i za digitalni potpis, a bazirala se na težini
faktoriziranja velikih brojeva. 1984.-1985. u softveru za čitanje novosti na
USENET-u upotrebljena je rot13 šifra (rotiranje slova za 13, slično "caesar" šifri)
da bi se spriječio pristup djece za njih neprikladnim sadržajima. Ovo je prvi
poznati primjer uspješnog korištenja šifre sa javnim ključem. 1990. je u
Švicarskoj objavljen "Prijedlog za novi Standard za šifriranje blokova podataka"
tj. prijedlog za International Data Encryption Algorithm (IDEA), koji bi trebao
zamijeniti DES. IDEA koristi 128-bitni ključ i koristi operacije koje je lako
implementirati na računalu. 1991. Phil Zimmermann objavljuje prvu verziju svog
PGP-a (Pretty Good Privacy) programa za zaštitu e-mailova i podataka općenito.
Zbog toga što je bio freeware komercijalni proizvodi iste vrste su redom propali, a
PGP je postao svjetski standard. U prvo vrijeme koristio je RSA algoritam koji se
dugo vremena smatrao dosta sigurnim. Računala su sve brža i brža, a razvoj
svega vezanog uz njih sve je teže pratiti. Budućnost kriptografije je danas
povezana s budućnošću računala.

2
A. Dujella, M. Maretić: Kriptografija, Element, Zagreb, 2007.

4
METODE ŠIFRIRANJA

Povijesno najduže korištena metoda šifriranja je metoda olovke i papira. Primjer


ove metode je supstitucija. Također su uz ovu metodu vezane kodne knjige koje
su služile za standardno šifriranje jer su u njima bile fraze i riječi i tako se
olakšalo šifriranje. Primjer kodne knjige je ranije spomenuti nomenclator. Još
jedna davno korištena metoda je metoda transpozicije. Ideja te metode je u
pomicanju slova naprijed ili nazad za određen broj mjesta. Primjeri su caesar
šifra i rot13. Općenito danas postoje dvije vrste metoda šifriranja. To su metoda
simetričnog šifriranja i metoda asimetričnog šifriranja. Metoda simetričnog
šifriranja je donedavno bila jedina poznata metoda. Metoda koristi jedinstveni
ključ. Prednost je svakako njena jednostavnost i brzina, a od mana treba
spomenuti problem sigurnosti, pogotovo u slučaju krađe ključa. Od 1976. i pojave
javnog ključa možemo govoriti i o metodi asimetričnog šifriranja. Razlika je u
tome što ova metoda koristi dva odvojena ključa – javni i tajni. Javni se koristi za
šifriranje, a tajni za dešifriranje. Iz imena javni ključ jasno je da isti ne mora biti
tajan. Prednost ove metode je svakako veća kvaliteta šifriranja koja omogućuje
veću sigurnost i, što je često iznimno važno, tajnost. Mana je definitivno količina
vremena koja je potrebna za svaki postupak dešifriranja.

Još jedna važna metoda šifriranja je jednosmjerno šifriranje. Njegova glavna


osobina je ireverzibilnost tj. ne može se dobiti originalni sadržaj. Danas se koristi
za potvrde, (digitalne) potpise, softver, ... Za još sofisticiranije metode šifriranja
koristi se tzv. jako šifriranje. Ta kompleksnija metoda je u nekim državama
zabranjena.

SUPSTITUCIJSKE ŠIFRE

Znameniti rimski vojskovođa i državnik Gaj Julije Cezar u komunikaciji sa svojim


prijateljima koristio se šifrom u kojoj su se slova otvorenog teksta zamjenjivala
slovima što su se nalazila tri mjesta dalje od njih u alfabetu (A D, B E, itd.).
Pretpostavljamo da se alfabet ciklički nastavlja, tj. da nakon zadnjeg slova Z,
ponovo dolaze A, B, C. Ako bi smo upotrijebili današnji engleski alfabet od 26
slova, onda bi poznata Cezarova izreka

VENI VIDI VICI

bila šifrirana ovako:

5
YHQL YLGL YLFL.

Cezarovu šifru možemo pregledno zapisati na sljedeći način:


otvoreni tekst ABCDEFGHIJKLMNOPQRSTUVWXYZ

šifrat DEFGHIJKLMNOPQRSTUVWXYZABC
U daljnjim primjerima koristit ćemo se engleskim (međunarodnim) alfabetom od
26 slova. Ukoliko ćemo raditi s otvorenim tekstom na hrvatskom jeziku, onda
ćemo Č i Ć zamijeniti s C, a Đ, Dž, Lj, Nj, Š, Ž redom s DJ, DZ, LJ, NJ, S, Z.

Danas se Cezarovom šifrom nazivaju i šifre (tj. kriptosustavi) istog oblika s


pomakom različitim od 3. Da bismo Cezarovu šifru precizno definirali u smislu
Definicije 1.1, uvest ćemo prirodnu korespodenciju između slova alfabeta (A - Z) i
cijelih brojeva (0 - 25)3.

Skup {0,1,2,...,25} označavat ćemo sa Z26 i pretpostavljat ćemo da su na njemu


definirane operacije zbrajanja, oduzimanja i množenja na isti način kao u skupu
cijelih brojeva, ali tako da se rezultat (ukoliko nije iz skupa {0,1,2,...,25}) na kraju
zamijeni s njegovih ostatkom pri dijeljenju s 26. Koristit ćemo oznake a +26 b ili (a
+ b) mod 26,, te analogno za oduzimanje i množenje. Skup Z26, uz operacije +26 i
·26 čini prsten. Postpuno analogno se definira skup Zm i operacije na njemu za
proizvoljan prirodan broj m.

Primijetimo da na ovom mjestu zamjena slova brojevima još nije bila nužna
(mogli bismo sve definirati u terminima zamjena slova i njihovog pomicanja
unutar alfabeta, te pojasniti što se događa kad "preskočimo" zadnje slovo), no
uskoro će korištenje ovog matematičkog rječnika postati nužno.

Dakle, Cezarovu šifru možemo definirati na sljedeći način:

Neka je P = C = K = Z26. Za 0 ≤ K ≤ 25 definiramo

eK(x) = x + K mod 26,   dK(y) = y - K mod 26.

Šifra je definirana nad Z26 budući da koristimo 26 slova, pa imamo sljedeću


korespondenciju, koja za svako slovo alfabeta daje njegov "numerički
ekvivalent":

ABCDEFGHIJK L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
U Cezarovoj šifri su osnovni elementi (simboli) otvorenog teksta slova (odnosno
njihovi numerički ekvivalenti), a ključ K određuje za koliko mjesta udesno ćemo
pomicati slova pri šifriranju. Očito je dK(eK(x)) = x, kao što se zahtjeva u definiciji
3
http://os2.zemris.fer.hr/ostalo/2002_saban/index.htm

6
kriptosustava. Za K = 3 dobiva se originalna Cezarova šifra. Postoje naznake da
je Cezarov nećak, prvi rimski car August, koristio najjednostavniju verziju ove
šifre, pomičući slova samo za jedno mjesto u alfabetu, tj. uzimajući da je K = 1.

Primjer 1.1: Dekriptirati šifrat   PWNUYTLWFKNOF   dobiven Cezarovom


šifrom.

Rješenje. Budući da je prostor ključeva jako mali (ima ih 26) zadatak možemo
riješiti "grubom silom", tj. tako da ispitamo sve moguće ključeve, sve dok ne
dođemo do nekog smislenog teksta. Za d0, d1, d2, ... dobivamo redom:

       PWNUYTLWFKNOF
       OVMTXSKVEJMNE
       NULSWRJUDILMD
       MTKRVQITCHKLC
       LSJQUPHSBGJKB
       KRIPTOGRAFIJA
Dakle, ključ je K = 5, a otvoreni tekst je KRIPTOGRAFIJA.

Da bismo dobili barem malo sigurniju šifru, možemo promatrati funkcije za


šifriranje koje će uključivati više od jednog parametra 4. Najjednostavnija takva
funkcija je afina funkcija e(x) = ax + b. No, tu se pojavljuje jedan novi problem jer
takva funkcija na skupu Z26 ne mora imati inverz (ne mora biti injekcija). Zato
parametar a ne može biti proizvoljan, već mora biti relativno prost s modulom 26.

Afina šifra definira se na sljedeći način:

Neka je P = C = Z26, te neka je K = { (a,b) Z26 × Z26 : (a, 26) = 1 }. Za K


= (a,b) K definiramo

eK(x) = ax + b mod 26, dK(y) = a-1(y - b) mod 26.

Ova šifra se zove afinoma zato što su funkcije šifriranja afine. Provjerimo je li
uvjet dK(eK(x)) = x zadovoljen. Zaista,

dK(eK(x)) = dK(ax + b) = a-1 (ax + b - b) = x.

Ovdje a-1 označava multiplikativni inverz broja a u prstenu Z26. Budući da broj 26
nije prost, nemaju svi elementi iz Z26 multiplikativni inverz, već ih imaju upravo
brojevi koji su relativno prosti s 26, tj. za koje vrijedi da je najveći zajednički
4
http://os2.zemris.fer.hr/ostalo/2002_saban/index.htm

7
djelitelje od a i 26 jednak 1 (to pišemo: (a, 26) = 1). 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

Primjer 1.2: Neka je K = (7, 3). Šifrirati otvoreni tekst   ZADAR.

Rješenje. Koristeći ranije navedenu tablicu, slova otvorenog teksta


poistovjećujemo s njihovim numeričkim ekvivalentima. Imamo:

25 · 7 + 3 ≡ 22 (mod 26),
0 · 7 + 3 ≡ 3 (mod 26),
3 · 7 + 3 ≡ 24 (mod 26),
17 · 7 + 3 ≡ 18 (mod 26),
pa je šifrat   WDYDS.

Primjer 1.3: Dekriptirati šifrat

OZWHRYEZCVWFCTPCUWRCFPYHWI

dobiven afinom šifrom.

Rješenje. Imamo φ(26) · 26 = 12 · 26 = 312 mogućih ključeva. To je još uvijek


premalo, pa bi uz pomoć računala sigurno mogli primijeniti "grubu silu", kao u
Primjeru 1.1.

No, postoji i elegantniji način ukoliko znamo kojim je jezikom pisan otvoreni tekst.
Recimo da nam je poznato da je u ovom slučaju otvoreni tekst pisan hrvatskim
jezikom. Frekvencijom slova u hrvatskom, a i nekim drugim jezicima, detaljnije
ćemo se pozabaviti malo kasnije. Za sada nam je potrebna samo činjenica da su
najfrekventnija slova u hrvatskom jeziku A, I, O, E, N, i to upravo u tom
redoslijedu. U našem šifratu uočavamo da su najfrekventnija slova C i W, koja se
javljaju po 4 puta. Iako je naš šifrat prekratak, možemo ipak očekivati da su ova
dva slova šifrati od A, I, O, E ili N. Pa pogledajmo kakve smo sreće.

Imamo eK(A) = a · 0 + b = b, eK(I) = 8a + b. Pretpostavimo da je eK(A) = C i eK(I) =


W. Dobivamo da je b = 2 i 8a + b 22 (mod 26), odakle je a = 9. (Općenito se
linearne kongruencije rješavaju pomoću (proširenog) Euklidovog algoritma, no u
slučaju malog modula, kao što je naš modul 26, dovoljno je uvrstiti sve dopustive
(invertibilne) a-ove, te provjeriti koji zadovoljava kongruenciju.) 5 Dakle, dobili smo
da je eK(x) = (9x + 2) mod 26. Tada je dK(y) = 3(y - 2) mod 26. Primijenimo li

5
http://dokumentacija.linux.hr/Sigurnost-KAKO-6.html

8
funkciju dK na naš šifrat, dobivamo otvoreni tekst (s umetnutim razmacima i
"kvačicama"):

KRIPTOGRAFIJA ZNAČI TAJNOPIS.

Cezarova i afina šifra su specijalni slučajevi supstitucijske šifre, koja je definirana


na sljedeći način:

Neka je P = C = Z26. Prostor ključeva K se sastoji od svih permutacija


skupa {0, 1, 2, ... , 25}. Za svaku permutaciju π K definiramo eπ(x) =
π(x), dπ(y) = π-1(y), gdje je π-1 inverzna permutacija od π.

Ovdje imamo čak 26! ≈ 4 · 1026 mogućih ključeva, tako da je napad ispitivanjem
svih mogućih ključeva praktički nemoguć, čak i uz pomoć računala. Međutim,
supstitucijsku šifru je moguće lako dekriptirati koristeći statistička svojstva jezika
na kojem je pisan otvoreni tekst. Osnovna metoda je analiza frekvencije slova.
Broji se pojavljivanje svakog slova u šifratu, te se distribucija slova u šifratu
uspoređuje s poznatim podatcima o distribuciji slova u jeziku na kojem
pretpostavljamo da je napisan otvoreni tekst. Vrlo je vjerojatno da najfrekventnija
slova šifrata odgovaraju najfrekventnijim slovima jezika. Ta vjerojatnost je to veća
što je dulji šifrat. Također, korisni mogu biti i podatci o najčešćim bigramima
(parovima slova) i trigramima (nizovima od tri slova) u jeziku. Kod nizova od četiri
ili više slova, frekvencije već uvelike ovise o sadržaju teksta, i najfrekventniji
nizovi obično dolaze od jedne riječi koja se često ponavlja u tesktu (npr. osobnog
imena).

Začetci analize frekvencija se mogu naći u 14. stoljeću u djelu arapskog autora
Ibn ad-Duraihima. Njegova zapažanja su objavljena u odjeljku posvećenom
kriptologiji u velikoj enciklopediji u četrnaest svezaka čiji je autor Qalqashandi.
Odjeljak ima naslov "O skrivanju tajnih poruka u pismima". Nedavno pronađeni
rukopisi sugeriraju međutim da su arapski lingvisti tu metodu poznavali možda i
pet stoljeća ranije. Čini se da su u europskoj kriptografiji metodu analize
frekvencija u kriptoanalizi prvi počeli koristiti talijanski kriptografi u 15. stoljeću.
Naime, poznato je da su svoje poruke šifrirali na način da su najfrekventnija
slova zamjenjivali s više različitih simbola, pa na osnovu toga možemo zaključiti
da im je bilo poznato kako analiza frekvencija slova može dovesti do razbijanja
supstitucijske šifre. Za razliku od znanstvenika ad-Duraihima, oni svoja saznanja
nisu javno objavljivali, već su ih nastojali što bolje unovčiti. Naime, mnoge su
tadašnje talijanske kneževine imale ljude plaćene za razbijanje šifriranih poruka
(jedan od najpoznatijih je venecijanski "tajnik za šifre" Giovanni Soro), i taj se
posao često prenosio unutar obitelji6. Ovakvu situaciju u kojoj praktički
istovremeno do otkrića značajnih za kriptografiju dođu znastvenici koji žele što
6
http://dokumentacija.linux.hr/Sigurnost-KAKO-6.html

9
prije objaviti svoje rezultate i dobiti za njih priznanje, te ljudi iz obavještajnih ili
komercijalnih institucija koji ne žele ili ne smiju odmah objaviti svoje rezultate,
susrećemo često u povijesti kriptografije sve do današnjih dana (npr. pitanje
prvenstva kod otkrića diferencijalne kriptoanalize ili kriptosustava s javnim
ključem).

Navest ćemo osnovne podatke o frekvenciji slova, bigrama i trigrama za hrvatski,


engleski i njemački jezik. Pritom smatramo da u tekstu nema interpunkcijskih znakova ni
razmaka između riječi (u protivnom bi kriptoanaliza bila puno lakša), te da su slova Č, Ć,
Đ, Dž, Lj, Nj, Š, Ž iz hrvatske abecede zamijenjena na prije opisani način slovima iz
međunarodnog alfabeta. Podatci za hrvatski jezik su dobiveni analizom tekstova iz
dnevnog tiska, dok su podatci za engleski i njemački jezik preuzeti iz literature [Bauer,
Stinson].

FREKVENCIJA SLOVA (u promilima)

HRVATSKI   ENGLESKI   NJEMAČKI


               
A 115   E 127   E 175
I 98   T 91   N 98
O 90   A 82   I 77
E 84   O 75   R 75
N 66   I 70   S 68
S 56   N 67   A 65
R 54   S 63   T 61
J 51   H 61   D 48
T 48   R 60   H 42
U 43   D 43   U 42
D 37   L 40   L 35
K 36   C 28   G 31
V 35   U 28   O 30
L 33   M 24   C 27
M 31   W 23   M 26
P 29   F 22   B 19
C 28   G 20   F 17
Z 23   Y 20   W 15
G 16   P 19   K 15
B 15   B 15   Z 11
H 8   V 10   P 10
F 3   K 8   V 9

10
      J 2   J 3
      Q 1   Y 1
      X 1   X 0
      Z 1   Q 0

Najfrekventniji bigrami u hrvatskom jeziku su:

JE (2.7 %), NA (1.5 %), RA (1.5 %), ST, AN, NI, KO, OS, TI, IJ, NO, EN, PR (1.0
%).

Ovdje je važno uočiti na 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. Konačno,
najfrekventniji recipročni bigrami su NA i AN (1.5 % + 1.4 %), te NI i IN (1.3 % +
0.9 %). Jedino kod ovih dvaju parova su frekvencije obaju bigrama veće od 0.9
%.

Daleko najfrekventniji trigram u hrvatskom jeziku je IJE (0.6 %). Slijede (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 %).

U njemačkom jeziku najfrekventniji bigrami su

ER (4.1 %), EN (4.0 %), CH (2.4%), DE, EI, ND, TE, IN, IE, GE (1.5 %),

a trigrami EIN (1.2 %), ICH (1.1 %), NDE (0.9 %), DIE, UND, DER, CHE, END
(0.8 %).

Primjer 1.4: Dekriptirati šifrat

TQCWT QCKIQ RWNOQ OBCEW OQVKB UKAPK

OQOQB CQPQA JGDUQ EQORW TSJGR WEQKY

WGTWC JKRBI KZGVO GBQ


dobiven supstitucijskom šifrom, ako je poznato da je otvoreni tekst na hrvatskom
jeziku.

11
(Zbog preglednosti se kod duljih šifrata obično stavlja razmak nakon svakog
petog slova - to naravno nema nikakve veze s razmacima u otvorenom tekstu, za
koje smo se dogovorili da ćemo ih zanemarivati kod šifriranja.)

Rješenje. Napravit ćemo (istovremeno) analizu frekvencija slova i bigrama tako


da za svako slovo u alfabetu napišemo sve njegove sljedbenike u šifratu (za
zadnje slovo u šifratu stavljamo *). Dobivamo sljedeću tablicu:

A | P, J
B | C, U, C, I, Q
C | W, K, E, Q, J
D| U
E | W, Q, Q
F|
G | D, R, T, V, B
H|
I | Q, K
J | G, G, K
K | I, B, A, O, Y, R, Z
L|
M|
N| O
O | Q, B, Q, Q, Q, R, G
P | K, Q
Q | C, C, R, O, V, O, B, P, A, E, O, K, *
R | W, W, W, B
S| J
T | Q, Q, S, W
U | K, Q
V | K, O
W | T, N, O, T, E, G, C
X|
Y| W
Z| G
Iz tablice iščitavamo da su najfrekventnija slova:

Q (13), K (7), O(7), W(7), B, C, G, R, T, E, J,

a najfrekventniji bigrami:

OQ (4), QO (3), RW (3), BC, EQ, JG, QC, TQ, WT.

Logično je pretpostaviti da je e(A) = Q. Uočavamo također recipročne bigrame


OQ i QO, što nas navodi na e(N) = O. Nadalje, većina pojavljivanja slova R
vezana je uz bigram RW, te da je W jedno od najfrekventnijih slova. To nas vodi

12
na pretpostavku da je e(J) = R i e(E) = W. Pokušajmo otkriti šifrat čestog bigrama
ST (najčešćeg od neotkrivenih). Najozbiljniji kandidati su BC i JG. Možemo uzeti
neki od njih, pa vidjeti što ćemo dobiti. Mi ćemo krenuti s BC, jer frekvencije od B
i C odgovaraju očekivanim frekvencijama od S i T. Dakle, uzmimo da je e(S) = B i
e(T) = C. Od najfrekventnijih slova u hrvatskom jeziku, još nismo odgonetnuli
šifrate od I i O. Glavni kandidati su K i G, i to upravo tim redoslijedom. Pa
uzmimo da je e(I) = K i e(O) = G. Rezimirajmo ono što smo do sada pretpostavili:
otvoreni tekst 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
šifrat q w kr og bc
Ubacimo ove pretpostavke u polazni šifrat:

TQCWT QCKIQ RWNOQ OBCEW OQVKB UKAPK


ate ati a je na nst e na is i i

OQOQB CQPQA JGDUQ EQORW TSJGR WEQKY


nanas ta a o a anje oj e ai

WGTWC JKRBI KZGVO GBQ


eo et ijs i o n osa
Sada već imamo dovoljno elemenata otvorenog teksta da možemo postupno
odgonetavati čitave riječi (npr. prva riječ: matematika, zadnja riječ: odnosa).
Konačno dobivamo otvoreni tekst

Matematika je znanstvena disciplina nastala


proučavanjem brojeva i geometrijskih odnosa.
Alfabet šifrata izgleda ovako:
qsuvwxyzkriptogafjbcdehlmn
Uočavamo pojavljivanje riječi "kriptografija" unutar alfabeta šifrata. Radi se o
varijanti supstitucijske šifre koja se naziva Cezarova šifra s ključnom riječi. U njoj
ključ predstavlja ključna riječ (u ovom slučaju KRIPTOGRAFIJA), te broj (u ovom
slučaju 8) koji označava poziciju na kojoj počinjemo pisati ključnu riječ (bez
ponavljanja slova). Naravno, da smo znali da je riječ upravo o ovoj varijanti,
dekriptiranje bi nam bilo još lakše, no i bez toga nismo imali puno problema.

Možemo zaključiti da je usprkos velikom prostoru ključeva, supstitucijska šifra


vrlo laka za kriptoanalizu. To je bilo poznato već početkom 15. stoljeća, kada je u
Italiji počela uporaba homofona, tj. šifriranje najfrekventnijih slova s više različitih
simbola. Tu se ne zamjenjuje slovo za slovo, već npr. slovo za dvoznamenkasti
broj, tako da je moguće šifrirati najfrekventnija slova na nekoliko različitih načina,
dok će ona niskofrekventna i dalje imati samo jednu zamjenu. To svakako
povećava sigurnost šifre, ali i dalje analiza frekvencija bigrama i trigrama može
dovesti do rješenja. Također se može iskoristiti djelomično ponavljanje.
Primjerice, ako kod šifriranja slova pomoću dvoznamenkastih brojeva naiđemo
na nizove

13
12 17 37 23 57 i 12 17 42 23 57,
onda je prilično izvjesno da 37 i 42 predstavljaju isto slovo otvorenog teksta, pa
ih možemo "spojiti" u analizi frekvencija.

MODERNA KRIPTOGRAFIJA
U modernoj kriptografiji još se uvijek koristi šifriranje simetričnim ključem. Primjer
za to je IBM-ova DES šifra koju i danas koristi Unix, kao i njen prethodnik šifra
Lucifer. Najčešći problem ove metode je i danas način prijenosa ključa. Postoje i
varijante metode kod kojih su ključevi različiti ali se mogu jednostavno jedan iz
drugoga izračinati7. Dolazimo do paradoksa da bi najsigurnije bilo poslati ključ
šifrirano i počinje vrtnja u krug. DES je javno dostupna i korištena metoda
šifriranja od 1976. godine, iako se danas smatra nesigurnom, često je možemo
naći u upotrebi (ATM, šifriranje e-mailova, kod pristupanja sustava s udaljenosti
itd.)

Oba spadaju u "blok" metode i jedan od razloga popularnosti je činjenica da su


oba proglašena službenim metodama šifriranja od strane vlade S.A.D. Postoje
brojne varijacije tih metoda pa tako i trostruki DES koji je bitno sigurniji.

Također postoje metode šifiranja koja su prilagođene šifriranju protoka podataka,


kao npr. RC4. Kako nizovi podataka prolaze kroz program, mijenja se dio koji
šifira podatke, a način promjene se kontrolira ključem, a ponekad i samim
podacima koji se šifriraju.

Jedna od čestih upotreba šifriranja u današnje doba je i kontrola pristupa


(ustanovama, računalima, podatcima,...) ali i preračunavanja čitavih sadržaja u
jedinstven broj (hash s izuzetno malom vjerojatnosti dvostrukih rješenja za
različite sadržaje. Sličan način ali s drugom namjenom je MAC odnosno šifriranje
pristupne poruke, kada tajna, ključna lozinka daje šifrirani tekst koji se
uspoređuje s spremljenim za kontrolu pristupa, odnosno vjerodostojnosti.

Javni ključevi

Glavi problem u simetričnom šifriranju je rukovođenje tajnim šiframa, ključevima


koji su korišteni za šifriranje i dešifriranje poruke. Zbog toga se nakon
objavljivanja rada koji su napisali Whitfield Diffie i Martin Hellman 1976. godine
pojavilo šifriranje s javnim ključevima. Metoda je toliko promjenila rad s

14
ključevima da ju David Kahn opisuje kao "najveći, revolucionarni napredak u
kriptografiji od renesanse".

Stvaranje javnog i privatnog ključa je povezano matematičkim postupkom, nakon


čega se dobiveni tekst javnog ključa može slobodno podjeliti, ali se njime skriven
tekst može otključati samo privatnim ključem. 1978. godine Ronald Rivest, Adi
Shamir i Len Adleman objavili su RSA algoritam. Napokon je 1997. godine
obznanjeno kako je zapravo James H. Ellis u GCHQ, britanskoj obavještajnoj
službi zapravo ranih 1970-ih izmislio asimetrično šifriranje javnim ključem te da
su i Diffie-Hellman i RSA algoritam zapravo već izmisliliMalcolm J. Williamson,
odnosno Clifford Cocks.

Često korišteni primjeri su RSA algoritam, digitalni potpisi, VPN, SSL/TLS i


program PGP, koji se također temelje na ovakvim metodama. Današnje metode
bazirana su na problemima gdje se brzo i jednostavno pomoću računala tekst
šifrira ali je rješenje "teško", u metematičnom smislu. Dok se RSA na problemu
faktoriziranja prirodnih brojeva, DSA i Diffie-Hellman metode se oslanjanju na
problem diskretnih logaritama.

Problemi moderne kriptografije su svakako sigurnost, ali i zakonska ograničenja


u mnogim zemljama. Pitanje sigurnosti je goruće pitanje zbog sve veće pojave
programa za razbijanje lozinki kao što su: Crack i John the Ripper. Drugi veliki
problem su zakonska ograničenja.

U SAD-u se recimo kriptografija smatra oružjem. Do 1999. u Francuskoj je bila


znatno ograničena upotreba kriptografije. Od ostalih država sa strogim
zakonskim ograničenjima upotrebe kriptografije prednjači Kina ispred Bjelorusije,
Mongolije, Rusije, Pakistana, Tunisa i drugih. Vrijeme će pokazati što nam
donosi budućnost na ovom području.

Iako kriptografija postoji već 4000 godina ona još nije ni blizu svom kraju. Razni
događaji kroz povijest utjecali su na razvoj kriptografije (svjetski i drugi ratovi -
Enigma), a novu dimenziju dobila je razvojem računala. Vječni problem
kriptografije svakako je pitanje sigurnosti, a zakonske odredbe nekih zemalja još
uvijek ne dozvoljavaju njenu slobodnu uporabu. Unatoč tome kriptografija se sve
više širi. Problem koji se u najnovije vrijeme javlja zbog širenja terorizma je i
problem privatnosti. Taj problem je vrlo ozbiljan jer se zbog sigurnosnih razloga
zadire u privatnost običnog čovjeka. Čak ni šifriranje ne garantira privatnost jer
se razbijanje šifri jako brzo razvija.

PRIMJERI

15
Vigenèreova šifra
 Playfairova šifra
Hillova šifra
 Jednokratna bilježnica
Transpozicijske šifre

Navest cemo samo jedan primjer i to Hillove šifre.

Lester Hill je 1929. godine izumio kriptosustav kod kojeg se m uzastopnih slova
otvorenog teksta zamjenjuje s m slova u šifratu. Dakle, radi se o poligramskoj
šifri. Ukoliko broj slova u originalnom otvorenom tekstu nije djeljiv s m, poruku
trebamo nadopuniti da bimso je mogli podijeliti u blokove od po m slova.
Kripotsustav je definiran na sljedeći način:

Neka je m fiksan prirodan broj. Neka je P = C = (Z26)m, te

K = {m × m invertibilne matrice nad Z26}.

Za K K definiramo

eK(x) = xK,
dK(y) = yK-1,

gdje su sve operacije u prstenu Z26.

Hill je preporučio uporabu involutornih matrica, tj. onih kod kojih je K-1 = K. To
teoretski smanjuje sigurnost, jer je prostor ključeva manji, ali olakšava postupak
šifriranja i dešifriranja. Napomenimo da je matrica invertibilna u Z26 ako i samo
ako joj determinanta ima inverz u Z26, tj. ako je (det A, 26)=1.

Primjer 1.1: Neka je

5 8 22
K= 2 5 24 ,
10 20 17

16
te neka je otvoreni tekst   UTORAK.

Njegov numerički ekvivalent je (20, 19, 14, 17, 0, 10). Računamo:

5 8 22
(20  19  14) 2 5 24 = (278  535  1134) mod 26 = (18  15  16) = SPQ,
10 20 17
5 8 22
(17  0  10) 2 5 24 = (185  200  170) mod 26 = (3  18  14) = DSO.
10 20 17

Dakle šifrat je   SPQDSO.

Primijetimo da ukoliko bi tekst umjesto s UTO započeo sa STO, onda bi šifrat


započeo sa

5 8 22
(18  19  14) 2 5 24 = (8  25  24) = IZY.
10 20 17

Hillov kriptosustav s 3 × 3 matricama skriva ne samo sve informacije o


frekvencijama slova, već i o frekvencijama bigrama. Stoga već za m ≥ 5 možemo
Hillov kriptosustav smatrati gotovo potpuno sigurnim na napad "samo šifrat".
Međutim, ovu šifru je vrlo lako razbiti pomoću napada "poznati otvoreni tekst", a
pogotovo pomoću napada "odabrani otvoreni tekst". To je i razlog zašto ovaj
sustav gotovo uopće nije bio u praktičnoj uporabi (osim kratko vrijeme za
šifriranje pozivnih signala radio-stanica).

Nevezano uz Hillovu šifru, spomenimo da je često do uspješnih napada


metodom "odabrani otvoreni tekst" dolazilo zbog nespretnosti diplomata koji su
uručene im diplomatske note šifrirali u doslovno istom obliku u kojem su im bile
uručene. Stoga se u tekst note moglo ubaciti neke dijelove po sugestiji
kriptoanalitičara, tj. u njih ubaciti "odabrabi otvoreni tekst", te potom presretanjem
komunikacije saznati odgovarajući šifrat.

Vratimo se Hillovoj šifri. Pretpostavimo da je kriptoanalitičar odredio vrijednost m,


te pretpostavimo da ima barem m različitih parova m-torki xj = ( x1j, x2j, ... , xmj), yj
= ( y1j, y2j, ... , ymj), j = 1, 2, ... , m, takvih da je yj = eK(xj), j = 1, 2, ... , m.
Definirajmo dvije m × m matrice X = (xij) i Y = (yij). Tako dobivamo matričnu
jednadžbu Y = XK, gdje m × m matrica K predstavlja nepoznati ključ. Ukoliko je
matrica X invertibilna, kriptoanalitičar može izračunati K = X-1Y i time razbiti šifru.

17
Ako X nije invertibilna, morat će pokušati s nekim drugim skupom od m parova
otvoreni tekst - šifrat. Jasno je da kod napada "odabrani otvoreni tekst" nema
ovog problema, jer će kriptoanalitičar odabrati otvoreni tekst koji daje invertibilnu
matricu.

Primjer 1.2: Pretpostavimo da je otvoreni tekst   ZAGREB   šifriran Hillovom


šifrom s m = 2 i da je tako dobiven šifrat   THWJKB. Odredimo ključ K.

Rješenje. Imamo: eK(25, 0) = (19, 7), eK(6, 17) = (22, 9), eK(4, 1) = (10, 1). Iz prva
dva para dobivamo matričnu jednadžbu

25 0 19 7
K= .
6 17 22 9

Ako je A = (aij) invertibilna 2 × 2 matrica, onda je

a22 -a12
A-1 = (det A)-1 .
-a21 a11

Kod nas je det X mod 26 = 425 mod 6 = 9, pa je (det X)-1 = 3. Stoga je

17 0 25 0
X-1 = 3 = ,
-6 25 8 23

pa je

25 0 19 7 7 19
K= = .
8 23 22 9 8 3

Provjerimo to na trećem paru:

7 19
(4  1) = (10  1).
8 3

Što ako se ne zna m? Pretpostavljajući da m nije jako velik, možemo probati s m


= 2, 3, ..., dok ne nađemo ključ. Ako pretpostavljena vrijednost od m nije točna,
onda m × m matrica dobivena na gore opisani način neće biti u skladu s daljnjim
parovima otvoreni tekst - šifra

18
ZAKLJIČAK

Ljudi su od davnina željeli sigurno komunicirati, ali bili su svjesni da njihove


poruke često putuju nesigurnim komunikacijskim kanalima. Iako su se kroz
stoljeća načini prenošenja poruka uvelike promijenili, osnovni problem zapravo je
ostao isti, a to je kako onemogućiti onoga tko može nadzirati kanal, kojim se
prenosi poruka, da dozna njezin sadržaj. Načinima rješavanja ovog problema
bavi se znanstvena disciplina koja se naziva kriptografija.

19
Metode, koje su se najčešće tijekom povijesti koristile za šifriranje poruka, bile su
zamjena (supstitucija) i premještanje (transpozicija) osnovnih elemenata teksta
(slova, blokova slova, bitova). Kombinaciju ovih dviju metoda susrećemo i danas
u najmodernijim simetričnim kriptosustavima. Asimetrični kriptosustavi ili
kriptosustavi s javnim ključem pojavili su se tek 70-tih godina 20. stoljeća. Kod
njih se za šifriranje koriste funkcije koje su "jednosmjerne" (one se računaju lako,
ali njihov inverz vrlo teško). To znači da funkcija za šifriranje može biti javna, dok
samo funkcija za dešifriranje mora biti tajna. U konstrukciji jednosmjernih funkcija
koriste se "teški" matematički problemi, kao što su faktorizacija velikih prirodnih
brojeva, te logaritmiranje u konačnim grupama.

LITERATURA

Dujella, M. Maretić: Kriptografija, Element, Zagreb, 2007.

http://os2.zemris.fer.hr/ostalo/2002_saban/index.htm

http://dokumentacija.linux.hr/Sigurnost-KAKO-6.html

20
SADRŽAJ

Uvod 2

Istorija kriptografije 3

21
Metode šifriranja 5

Supstitucijske šifre 5

Moderna kriptografija 14

Primjeri 16

Zaključak 20

Literatura 21

22

Das könnte Ihnen auch gefallen