Professional Documents
Culture Documents
Mentor:
Student:
Marija Vujoevi
Br. Indeksa: 2011/201751
Beograd, 2013.
UNIVERZITET SINGIDUNUM
FAKULTET ZA INFORMATIKU I RAUNARSTVO
Beograd, Danijelova 32
MENTOR
Datum odobrenja rada:
Beograd, ___.___._____.
__________________________
Doc. dr Aleksandar Jevremovi
DEKAN
_____________________
Prof. dr Miroslav Lutovac
Marija Vujoevi
SADRAJ
Spisak slika ............................................................................................................... - 3 Spisak tabela ............................................................................................................ - 4 1 Uvod .................................................................................................................... - 5 1.1 Predmet istraivanja .............................................................................................. - 5 1.2 Doprinosi rada ....................................................................................................... - 6 1.3 Struktura rada ........................................................................................................ - 6 2 Pregled u oblasti istraivanja ................................................................................ - 7 2.1 Prednosti i nedostaci ifrovanja fajlova u Windows operativnom sistemu .......... - 7 2.2 Razvoj aplikacija za ifrovanje fajlova simetrinim kriptolokim kljuem ............. - 8 2.2.1 AES Crypt ................................................................................................................... - 8 2.2.2 AxCrypt ...................................................................................................................... - 9 2.2.3 CryptoForge ............................................................................................................. - 10 2.2.4 Folder Lock............................................................................................................... - 11 2.2.5 TrueCrypt ................................................................................................................. - 13 -
2.3 Primena tehnologije zasnovane na simetrinom kriptolokom kljuu ............... - 14 3 Teorijske osnove istraivanja ...............................................................................- 15 3.1 Simetrini ifarski sistemi .................................................................................... - 15 3.1.1 DES ........................................................................................................................... - 16 3.1.2 AES ........................................................................................................................... - 18 -
3.2 Reimi rada blokovskih ifara .............................................................................. - 21 3.2.1 Elektronska kodna knjiga (ECB) ............................................................................... - 22 3.2.2 Ulanavanje blokova ifrata (CBC) ........................................................................... - 22 3.2.3 Inicijalni vektor ........................................................................................................ - 23 3.2.4 Ispunjavanje ............................................................................................................. - 24 -
-1-
Marija Vujoevi
3.4 Generatori sluajnih brojeva ............................................................................... - 26 3.4.1 Pravi generator sluajnih brojeva (TRNG) ............................................................... - 26 3.4.2 Pseudosluajni generator brojeva (PRNG) .............................................................. - 27 3.4.3 Entropija .................................................................................................................. - 27 -
3.5 NIST testovi .......................................................................................................... - 28 3.5.1 Ispitivanje uestalosti u nizu .................................................................................... - 28 3.5.2 Ispitivanje uestalosti u bloku ................................................................................. - 29 3.5.3 Ispitivanje uzastopnih ponavljanja istih bitova u nizu ............................................. - 30 3.5.4 Ispitivanje najdueg uzastopnog ponavljanja jedinica u bloku ............................... - 30 3.5.5 Ispitvanje stanja binarne matrice ............................................................................ - 32 3.5.6 Ispitivanje diskretne Furijerove transformacije ....................................................... - 32 3.5.7 Ispitivanje nepreklapajuih uzoraka ........................................................................ - 33 3.5.8 Ispitivanje preklapajuih uzoraka ............................................................................ - 34 3.5.9 Maurerov univerzalni statistiki test ....................................................................... - 35 3.5.10 Ispitivanje linearne kompleksnosti .......................................................................... - 35 3.5.11 Serijski test............................................................................................................... - 36 3.5.12 Ispitivanje pribline entropije .................................................................................. - 37 3.5.13 Ispitivanje sluajnih zbirova ..................................................................................... - 38 3.5.14 Ispitivanje sluajne digresije .................................................................................... - 39 3.5.15 Ispitivanje sluajne promenljive digresije................................................................ - 40 -
4 Pregled predloenog reenja ...............................................................................- 41 4.1 Generika ema predloenog reenja ................................................................. - 41 4.2 Postavka i objanjenje eksperimentalnog okruenja .......................................... - 42 4.3 Performanse predloenog okruenja sa prikazom eksperimentalnih rezultata . - 48 4.4 Oblast primene predloenog reenja .................................................................. - 50 5 Zakljuak.............................................................................................................- 51 -
-2-
Marija Vujoevi
5.1 Sumarni ciljevi rada i ostvareni rezultati ............................................................. - 51 5.2 Predlog za budui rad .......................................................................................... - 51 6 Literatura ............................................................................................................- 52 -
Spisak slika
Slika 2.1 AES Crypt ifrovanje fajla .............................................................................. - 8 Slika 2.2 AES Crypt Deifrovanje fajla .......................................................................... - 8 Slika 2.3 AxCrypt ifrovanje fajla ................................................................................. - 9 Slika 2.4 AxCrypt Unos lozinke prilikom ifrovanja fajla ............................................ - 10 Slika 2.5 CryptoForge - ifarski algoritmi ...................................................................... - 11 Slika 2.6 Folder Lock Zakljuavanje fajlova ................................................................ - 12 Slika 2.7 Folder Lock ifrovanje fajlova...................................................................... - 12 Slika 2.8 TrueCrypt Generisanje kljua pokretima mia ............................................ - 14 Slika 2.9 TrueCrypt Generisan klju ........................................................................... - 14 Slika 3.1 Proces ifrovanja i deifrovanja u simetrinim ifarskim sistemima.............. - 15 Slika 3.2 DES blokovska ifra ......................................................................................... - 16 Slika 3.3 Jedna runda DES algoritma ............................................................................ - 17 Slika 3.4 E-kutija ............................................................................................................ - 17 Slika 3.5 S-kutija ............................................................................................................ - 18 Slika 3.6 P-kutija............................................................................................................ - 18 Slika 3.7 ByteStub operacija ......................................................................................... - 19 Slika 3.8 ShiftRow operacija.......................................................................................... - 20 Slika 3.9 MixColumn operacija ..................................................................................... - 20 Slika 3.10 AddRowKey operacija................................................................................... - 20 Slika 3.11 AES funkcija runde za runde 1,2,..., nr-1 ...................................................... - 21 Slika 3.12 ECB reim rada ............................................................................................. - 22 Slika 3.13 CBC reim rada ............................................................................................. - 22 Slika 3.14 ematski prikaz rada reima za ulanavanje blokova .................................. - 23 Slika 3.15 Vizuelna uporedna analiza rezultata TRNG (levo) i PRNG (desno) .............. - 27 Slika 4.1 ema aplikacije - Generisanje kljua .............................................................. - 41 Slika 4.2 ema aplikacije - ifrovanje ............................................................................ - 42 Slika 4.3 ema aplikacije - Deifrovanje........................................................................ - 42 Slika 4.4 Poetni panel razvijenog reenja ................................................................... - 43 Slika 4.5 Odabir nivoa sigurnosti .................................................................................. - 44 Slika 4.6 Obavetenje pre poetka generisanja kljua ................................................. - 44 Slika 4.7 Proces generisanja kljua ............................................................................... - 45 Slika 4.8 Generisanje klua uspeno zavreno ............................................................. - 45 Slika 4.9 Zatita kljua lozinkom ................................................................................... - 46 Slika 4.10 Proces ifrovanja eljenog fajla upotrebom generisanog kljua.................. - 46 -
-3-
Marija Vujoevi
Slika 4.11 Unos lozinke za verifikaciju kljua ................................................................ - 46 Slika 4.12 Odabir jezika aplikacije ................................................................................. - 47 Slika 4.13 O programu .................................................................................................. - 47 Slika 4.14 Prikaz dobijenog kljua preko histograma ................................................... - 49 Slika 4.15 Prikaz vrednosti dobijenih preko X ose ........................................................ - 50 Slika 4.16 Prikaz vrednosti dobijenih preko Y ose ........................................................ - 50 Slika 4.17 Vizuelna uporedna analiza rezultata sa random.org (levo) i generisanog kljua
(desno) ............................................................................................................................. - 50 -
Spisak tabela
Tabela 2.1 TrueCrypt ifarski algoritmi...................................................................... - 13 Tabela 3.1 He algoritmi ............................................................................................... - 25 Tabela 3.2 Karakteristike dva tipa generatora sluajnih brojeva ................................. - 27 Tabela 4.1 Hardverske karakteristike razvojnog i eksperimentalnog okruenja ......... - 47 Tabela 4.2 Rezultati serijskog testa .............................................................................. - 48 Tabela 4.3 Rezultati ispitivanja entropije sa preklapanjem ......................................... - 49 Tabela 4.4 Rezultati ispitivanja entropije bez preklapanja........................................... - 49 -
-4-
Marija Vujoevi
Uvod
1.1 Predmet istraivanja
Informacije predstavljaju vaan resurs u savremenom poslovanju. Bez obzira
u kom se obliku uvaju, moraju biti adekvatno zatiene. Iz tog razloga zatita
informacija, ouvanje njene poverljivosti, integriteta i celovitosti je od presudne
vanosti.
Istraivanjem dosadanjeg stanja u ovoj oblasti i predstavljenih reenja,
dolo se do zakljuka da je potrebno razviti reenje za kriptografsku zatitu fajlova i
generisanje kljueva koji e potom biti podvrgnuti teorijsko-informacionoj analizi.
Razvijena aplikacija bie koriena za ifrovanje svih vrsta fajlova simetrinim
ifarskim algoritmima. Korisnik e imati mogunost odabira nivoa sigurnosti koji eli
da koristi i u skladu sa tim e se primenjivati odgovarajui algoritam (DES, AES 128 ili
192), a samim tim i odgovarajua duina kljua.
U aplikaciji e biti implementiran sopstveni modul za generisanje kriptolokih
kljueva, zasnovan na vrednostima dobijenim preko pokreta mia. Proces
generisanja kljua vrie se sakupljanjem koordinata, u okviru panela za generisanje
koji e se prikazati korisniku, na kojima je kliknuo miem. Vreme potrebno za
njegovo generisanje zavisie od nivoa sigurnosti. Nakon to je klju generisan, od
korisnika e se zahtevati da unese lozinku kojom e se dodatno tititi taj klju. Na
ovaj nain bie koriena dvofaktorska autentifikacija kombinovanjem neega to
korisnik ima i neega to zna.
Generisan klju e se uvati iskljuivo na hardverskom tokenu (USB token).
Za ifrovanje e moi da se izabere iskljuivo fajl koji se nalazi na nekoj drugoj
lokaciji u odnosu na onu na kojoj je smeten klju.
Takoe, panja e biti stavljena i na programsku ergonomiju radi
obezbeivanja pravilne upotrebe programa kako bi se spreile eventualne greke od
strane korisnika i na taj nain onemoguili potencijalni bezbednosni problemi.
Aplikacija e biti razvijena na Microsoft .NET platformi, u programskom
jeziku C#. Za prikaz dobijenih rezultata bie korien alat Matlab R2012b.
-5-
Marija Vujoevi
-6-
Marija Vujoevi
-7-
Marija Vujoevi
se lozinka izgubi ili promeni ili ukoliko operativni sistem padne ili se ponovo
instalira, postaje nemogue da se dobije pristup EFS ifrovanim fajlovima. U stvari,
pristup moe biti trajno izgubljen. Standardni korisnici ne razumeju u potpunosti
kako funkcionie EFS i esto plaaju cenu toga time to gube svoje podatke.
-8-
Marija Vujoevi
2.2.2 AxCrypt
AxCrypt predstavlja jednu od vodeih aplikacija za ifrovanje fajlova na
Windows operativnom sistemu. Aplikacija je besplatna i nakon instalacije se
integrie u Windows Explorer.
Prilikom ifrovanja unosi se lozinka i/ili se odabira unapred generisani fajl
sa kljuem kojim se titi ifrat. Duina lozinke nema ogranienja, iako se
korisnicima savetuje da ifra ne sadri manje od 5 karaktera, samog ogranienja u
aplikaciji nema.
Postoji mogunost generisanja random kljua od 128 bita. Mogue ga je
sauvati jedino na nekom od prenosnih medijuma (USB token). Ukoliko se zajedno
koriste lozinka i generisani klju, vri se njihova konkatenacija, zatim se heuju da
bi se takav klju koristio prilikom ifrovanja odnosno deifrovanja. AxCrypt koristi
AES 128 blokovsku ifru i SHA-1 funkciju za saimanje.
ifrovani fajl dobija naziv u formatu ime_fajla-originalna_ekstenzija.axx.
Originalni fajl se ne uva ve biva zamenjen ifrovanim. Aplikacija podrava
ifrovanje vie fajlova odjednom.
-9-
Marija Vujoevi
2.2.3 CryptoForge
CryptoForge predstavlja jednostavnu aplikaciju za upotrebu za ifrovanje
fajlova kako za privatne tako i za poslovne korisnike. Omoguava zatitu fajlova,
foldera ili poruka upotrebom do etiri simetrina algoritma (i CBC reima rada):
- 10 -
Marija Vujoevi
- 11 -
Marija Vujoevi
- 12 -
Marija Vujoevi
2.2.5 TrueCrypt
TrueCrypt je softverski sistem za uspostavljanje i odravanje on-the-fly
ifrovanog diska to znai da su podaci automatski ifrovani pre nego to su
sauvani i deifrovani odmah nakon to su uitani, bez dodatne intervencije od
strane korisnika. Svi podaci koji se ifruju odnosno deifruju se, umesto na disku,
uvaju u RAM memoriji. Bez unosa ispravne lozinke i fajla sa kljuem, nije mogue
pristupiti nijednom podatku koji se nalazi na ifrovanom disku.
TrueCrypt particije ifruju se nekim od navedenih algoritama:
Algoritam
Duina kljua
Veliina bloka
AES
256
128
Serpent
256
128
Twofish
256
128
256; 256
128
128
256; 256
128
128
256; 256
128
AES-Twofish
AES-Twofish-Serpent
Serpent-AES
Serpent-Twofish-AES
Twofish-Serpent
RIPEMD-160
SHA-512
Whirlpool
- 13 -
Marija Vujoevi
- 14 -
Marija Vujoevi
Klasine
Sekvencijalne
Blokovske
- 15 -
Marija Vujoevi
- 16 -
Marija Vujoevi
U svakoj rundi i (i = 1, 2,..., n), leva i desna strana se izraunavaju na sledei nain:
=
=
F je funcija runde.
Ki je podklju za rundu i. Podklju je izveden iz kljua K prema specifinom
algoritmu. Izlaz iz runde je ifrat C.
=(
)=
)))
48 bita
Slika 3.4 E-kutija
- 17 -
Marija Vujoevi
48 bita
32 bita
Slika 3.5 S-kutija
32 bita
32 bita
Slika 3.6 P-kutija
Marija Vujoevi
- 19 -
Marija Vujoevi
- 20 -
Marija Vujoevi
- 21 -
Marija Vujoevi
za i = 0, 1, 2
za i = 0, 1, 2
a deifrovanje
( , )
- 22 -
Marija Vujoevi
, )
= (
= (
= (
( , )
za i = 0, 1, 2
, )
, )
, )
a za deifrovanje
=
=
=
=
za i = 0, 1, 2
( , )
( , )
( , )
- 23 -
Marija Vujoevi
3.2.4 Ispunjavanje
Veina otvorenog teksta koji je potrebno ifrovati nije deljiv sa veliinom
bloka i iz tog razloga poslednji blok nema dovoljan broj bita. Reenje ovog
problema ogleda se u ispunjavanju tog bloka. Ispunjavanje (eng. padding) se moe
vriti nulama, jedinicama i nulama. PKCS7 predstavlja jedan od najpopularnijh
reima ispunjavanja.
3.3 He funkcija
S obzirom da ifrovanje ne titi integritet poruke, za zatitu integriteta
(autentinosti sadraja poruke) koristi se he funkcija (funkcija za saimanje poruke
odnosno za generisanje skraene verzije poruke). Za otvoreni tekst razliite duine,
nakon primene he funkcije dobija se tekst fiksne duine.
Glavna karakteristika he funkcije u kriptografskim aplikacijama je ta da mora biti
jednosmerna.
y = h(M)
h he funkcija
M poruka
Y rezultat he funkcije
Najpoznatija grupa he funkcija je MD4 grupa. MD5, SHA i RIPEMD
pripadaju ovoj grupi.
3.3.1 MD5
MD5 (eng. Message Digest) predstavlja jednosmernu funkciju koja za ulaz
proizvoljne duine daje izlaz od 128 bita. Razvijena je 1991. godine od strane
Rolanda Rivesta. Bila je iroko rasprostranjena (za sigurnost Internet protokola, za
poreenje sauvanih lozinki). Poznato je da ima slabosti i da nije otporna na
kriptografske napade. I pored ovoga, zbog svoje brzine rada se koristi u proveri
integriteta veih fajlova.
3.3.2 SHA
Nakon to su primeene slabosti kod MD5 funkcije, 1993. godine NIST je
uveo novi standard - SHA (eng. Secure Hash Algorithm). Prvi lan ove porodice je
nazvan SHA, iako je on danas poznat pod nazivom SHA-0. Modifikovan je 1995.
god. i dobijen je SHA-1. Razlika izmeu SHA-0 i SHA-1 ogleda se u rasporedu
funkcija za kompresovanje koji obezbeuje veu kriptografsku sigurnost.
- 24 -
Marija Vujoevi
NIST je 2002. god. uveo novu familiju algoritama (SHA-2) koje se razlikuju
po duini he vrednosti: SHA-256, SHA-384 i SHA-512. SHA-224 je objavljen 2004.
god. Ovi algoritmi su bezbedniji zbog duine he vrednosti i odreenih promena u
algoritmu. Takoe su kompatibilni sa AES blokvskom ifrom.
SHA-1 predstavlja industrijski standard u kriptografiji i pored toga to
algoritmi iz SHA-2 porodice pruaju veu sigurnost. SHA-0 i SHA-1 algoritmi se
danas ne mogu smatrati bezbednim zato to postoje kriptografski napadi koji su
sposobni da pronau koliziju za relativno kratko vreme.
Algoritam
SHA-0
SHA-1
SHA-2
SHA-224
SHA-256
SHA-384
SHA-512
Izlaz
(u bitovima)
160
160
224
256
384
512
Inicijalna
veliina u
bitovima
Broj
rundi
Kolizije
512
512
512
1024
1024
80
64
64
80
80
Da
Za sad ne
Ne
Ne
Ne
3.3.3 Kriptografska so
Prilikom logovanja korisnika na sistem, vri se provera validnosti njegove
lozinke. Ukoliko se u bazi uvaju he vrednosti lozinki, prilikom autentifikacije
rauna se he vrednost unete lozinke od strane korisnika i poredi se sa vrednou
iz baze. Ukoliko se one poklapaju, korisnik je autentifikovan i omoguen mu je
pristup sistemu.
S druge strane, ukoliko napada eli da pristupi, moe koristiti napad sa
renikom (eng. dictionary attack). Da bi mu se oteao posao koristi se
kriptografska so (eng. salt) koja predstavlja sluajne vrednosti koje se dodaju
lozinci pre upotrebe he funkcije. Kriptografska so i rezultat he funkcije se
smetaju u bazu. Ukoliko je broj moguih posoljenih vrednosti dovoljno veliki,
ovim se praktino eliminie napad sa renikom, jer napada za svaku kriptografsku
so mora da generie he vrednost.
Posoljena vrednost ne mora da bude tajna. Ona se moe posmatrati kao
inicijalni vektor (IV) kod blokovskih ifara ime se postie da se isti blokovi
otvorenog teksta ifruju na razliit nain. Po tom principu, primenom posoljene
vrednosti, identine lozinke dobijaju razliite he vrednosti.
y = h(p,s)
p lozinka
s sluajna vrednost
- 25 -
Marija Vujoevi
h he funkcija
y rezultat he funkcije lozinke i sluajne vrednosti
Pravi generator sluajnih brojeva (eng. True Random Number Generator TRNG)
Pseudosluajni generator brojeva (eng. Pseudo Random Number Generator
- PRNG)
- 26 -
Marija Vujoevi
Karakteristike
PRNG
TRNG
Efikasnost
Determinizam
Periodinost
da
da
da
ne
ne
ne
Slika 3.15 Vizuelna uporedna analiza rezultata TRNG (levo) i PRNG (desno)
3.4.3 Entropija
Teorija informacija se bavi merenjem i prenosom informacija kroz
komunikacioni kanal. enonova teorija informacija predstavlja osnovni rad u ovoj
oblasti, koja prua mnogo korisnih alata koji se zasnivaju na merenju informacije u
smislu bita ili u smislu sloenosti struktura potrebnih za kodiranje datih podataka.
- 27 -
Marija Vujoevi
- 28 -
Marija Vujoevi
Primer:
-
Ulazni parametri
= 11001001000011111101101010100010001000010110100011
00001000110100110001001100011001100010100010111000
n = 100
Obrada
S100 = -16
sobs = 1.6
Izlazni parametar
P = 0.109599
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
Ulazni parametri
= 11001001000011111101101010100010001000010110100011
00001000110100110001001100011001100010100010111000
n = 100
M = 10
Obrada
N = 10
X2 = 7.2
- 29 -
Marija Vujoevi
Izlazni parametar
P = 0.706438
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
Ulazni parametri
= 11001001000011111101101010100010001000010110100011
00001000110100110001001100011001100010100010111000
n = 100
= 0.02
Obrada
= 0.42
Vn(obs) = 52
Izlazni parametar
P = 0.500798
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
- 30 -
Marija Vujoevi
M
8
128
104
Primer:
U sluaju kada je K = 3 i M = 8:
-
Ulazni parametri
= 11001100000101010110110001001100111000000000001001
00110101010001000100111101011010000000110101111100
1100111001101101100010110010
n = 128
Obrada
Maksimalno ponavljanje
podbloka
11001100 (2)
01101100 (2)
11100000 (3)
01001101 (2)
00010011 (2)
10000000 (1)
11001100 (2)
11011000 (2)
Maksimalno ponavljanje
podbloka
00010101 (1)
01001100 (2)
00000010 (1)
01010001 (1)
11010110 (2)
11010111 (3)
11100110 (3)
10110010 (2)
0 = 4; 1 = 9; 2 = 3; 4 = 0; x2 = 4.882457
-
Izlazni parametar
P-value = 0.180609
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
- 31 -
Marija Vujoevi
Ulazni parametri
= 11001001000011111101101010100010001000010110100011
00001000110100110001001100011001100010100010111000
n = 100
Obrada
N1 = 46
N0 = 47.5
d = -1.376494
Izlazni parametar
P = 0.168669
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
- 32 -
Marija Vujoevi
Primer:
-
Ulazni parametri
= prvih 1000000 binarnih vrednosti proirenje
n = 100000
M = Q = 32
Obrada
N = 97
FM = 23, FM-1 = 60, N FM FM-1= 14
2 = 1.2619656
Izlazni parametar
P = 0.532069
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
Ulazni parametri
= 220 bitova dobijenih preko G-SHA-1 generatora
n = 220
B = 000000001
Obrada
= 255.984375
2 = 247.499999
- 33 -
Marija Vujoevi
Izlazni parametar
P = 0.110434
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
Ulazni parametri
= binarno proirenje do 1000000 bita
n = 1000000
B = 111111111
Obrada
0 = 329; 1 = 164; 2 = 150; 3 = 111; 4 = 78; and 5 = 136
2 (obs) = 8.965859
Izlazni parametar
P = 0.110434
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
- 34 -
Marija Vujoevi
Ulazni parametri
= binarno proirenje do 1000000 bita
n = 1000000
B = 111111111
Obrada
0 = 329; 1 = 164; 2 = 150; 3 = 111; 4 = 78; and 5 = 136
2 (obs) = 8.965859
Izlazni parametar
P = 0.110434
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
3.5.10
Marija Vujoevi
Ulazni parametri
= prvih 1000000 binarnih vrednosti proirenja
n = 1000000 = 106
M = 1000
Obrada
v0 = 11; v1 = 31; v2 = 116; v3 = 501; v4 = 258; v5 = 57; v6 = 26
2(obs) = 2.700348
Izlazni parametar
P = 0.845406
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
3.5.11
Serijski test
Ulazni parametri
= 1000000 bita binarnog proirenja
m=2
n = 1000000 = 106
Obrada
#0s = 499971
#1s = 500029
- 36 -
Marija Vujoevi
#00s = 250116
#01s = #10s = 249855
#11s = 250174
22 = 0.343128; 21 = 0.003364; 20 = 0.000000
-
Izlazni parametar
22 = 0.339764
222 = 0.336400
P1 = 0.843764
P2 = 0.561915
Zakljuak
S obzirom da su P1 i P2 0.01, smatra se da je sekvenca sluajna.
3.5.12
Ulazni parametri
= 11001001000011111101101010100010001000010110100011
00001000110100110001001100011001100010100010111000
m=2
n = 100
Obrada
ApEn(m) = 0.665393
2(obs) = 5.550792
- 37 -
Marija Vujoevi
Izlazni parametar
P = 0.235301
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
3.5.13
Ulazni parametri
= 11001001000011111101101010100010001000010110100011
00001000110100110001001100011001100010100010111000
n = 100
mode = 0 || mode = 1
Obrada
z = 1.6 || z = 1.9
Izlazni parametar
P = 0.219194 || P = 0.114866
Zakljuak
S obzirom da je P 0.01, smatra se da je sekvenca sluajna.
- 38 -
Marija Vujoevi
3.5.14
Ulazni parametri
= 1000000 bita binarnog proirenja
n = 1000000 = 106
Obrada
J = 1490
Stanje = x
-4
-3
-2
-1
+1
+2
+3
+4
x2
3.835698
7.318707
7.861927
15.692617
2.485906
5.429381
2.404171
2.393928
P
0.573306
0.197996
0.164011
0.007779
0.778616
0.365752
0.790853
0.792378
Zakljuak
sluajan
sluajan
sluajan
nije sluajan
sluajan
sluajan
sluajan
sluajan
Zakljuak
Za x, u sedam stanja vai da je P 0.01, to dovodi do zakljuka da je sekvenca
sluajna.
- 39 -
Marija Vujoevi
3.5.15
Ulazni parametri
= 1000000 bita binarnog proirenja
n = 1000000 = 106
Obrada
J = 1490
Stanje = x
-4
-3
-2
-1
+1
+2
+3
+4
x2
3.835698
7.318707
7.861927
15.692617
2.485906
5.429381
2.404171
2.393928
P
0.573306
0.197996
0.164011
0.007779
0.778616
0.365752
0.790853
0.792378
Zakljuak
sluajan
sluajan
sluajan
nije sluajan
sluajan
sluajan
sluajan
sluajan
Zakljuak
S obzirom da je P 0.01 za svako od 18 stanja za x, smatra se da je sekvenca
sluajna.
- 40 -
Marija Vujoevi
- 41 -
Marija Vujoevi
- 42 -
Marija Vujoevi
Nizak
Srednji
Visok
- 43 -
Marija Vujoevi
- 44 -
Marija Vujoevi
- 45 -
Marija Vujoevi
Nakon ifrovanja, originalni fajl se brie, a novi ifrovani fajl dobija ekstenziju
.enc i uva se na istoj lokaciji na kojoj je bio i originalni fajl.
- 46 -
Marija Vujoevi
Komponente
Procesor
Memorija
Hard disk
Rezolucija ekrana
Opis
Intel i5 3570
3.4GHz
8GB RAM
1TB
1280x1024
- 47 -
Marija Vujoevi
Serijski test
00
01
10
11
Bigrami
random.org generisan klju
7773
7471
7828
8299
7827
8300
7821
9294
000
001
010
011
100
101
110
111
Trigrami
random.org generisan klju
3818
3537
3955
3935
3863
4172
3965
4127
3955
3936
3873
4364
3965
4127
3856
5167
Tabela 4.2 Rezultati serijskog testa
- 48 -
Marija Vujoevi
Entropija sa preklapanjem
random.org
0.9999982981270112
0.9999969195844207
0.9999512260990479
0.9999630196341835
Monobit
Bigram
Trigram
Matrica 4x4
generisan klju
0.9978454731456681
0.9978439065269784
0.9974066948986483
0.997744280937179
Monobit
Bigram
Trigram
Matrica 4x4
generisan klju
0.9978454731456681
0.9978439065269784
0.9974066948986483
0.997744280937179
300
400
500
600
700
800
900
1000
- 49 -
Marija Vujoevi
120
120
100
100
80
80
60
60
40
40
20
20
0
300
400
500
600
700
800
900
0
200
1000
300
400
500
600
700
800
Slika 4.17 Vizuelna uporedna analiza rezultata sa random.org (levo) i generisanog kljua (desno)
- 50 -
Marija Vujoevi
Zakljuak
5.1 Sumarni ciljevi rada i ostvareni rezultati
U ovom radu razvijeno je reenje za kriptografsku zatitu svih vrsta fajlova uz
implementirani modul za generisanje kriptolokog kljua preko pokreta mia koji su
uzeti kao materijal za klju zbog potrebe da se omogui to vea sluajnost, a samim
tim i entropija. Cilj je bio da se postigne pravi generator sluajnih brojeva (TRNG).
Takoe je omogueno generisanje neogranienog broja kljueva uz odabir
odreenog nivoa sigurnosti. Dobijeni kljuevi se skladite iskljuivo na hardverskom
tokenu (USB token). Dosta panje je posveeno i ergonomiji aplikacije kako bi
korisnici sa lakoom mogli da je koriste.
Generisani kljuevi su podvrgnuti teorijsko-informacionoj analizi u
eksperimentalnom okruenju kojom je potvreno da je postignuta eljena
sluajnost. Kao reprezentativni uzorak sa kojim su uporeivane dobijene vrednosti
koriene su vrednosti preuzete sa sajta random.org.
Da bi se spreila zloupotreba kljueva od strane drugih korisnika ili u sluaju
krae istih, uvedena je dvofaktorksa autentifikacija prilikom ifrovanja odnosno
deifrovanja fajlova. Generisani kljuevi se dodatno tite lozinkom.
- 51 -
Marija Vujoevi
Literatura
[1] M. Stamp, Information security: principles and practice, 2nd ur., New Jersey: John
Wiley & Soons, 2011.
[2] B. Schneier, Applied Cryptography: Protocols, Algorthms, and Source Code in C, 2nd
ur., New Jersey: John Wiley & Sons, 1996.
[3] C. Paar / J. Pelzl, Understanding cryptography, Verlag, Berlin, Heidelberg: Springer,
2010.
[4] M. Veinovi / S. Adamovi, Kriptologija 1, Beograd: Univerzitet Singidunum, 2013.
[5] Specification for the AES, NIST, 2001. http://www.nist.gov/CryptoToolkit
[6] A. Jagannatam, Mersenne Twister A Pseudo Random Number Generator and its
Variants.
[7] G. Srivastava, Pseudorandom number generator using multiple sources of entropy,
University of Victoria, 2006.
[8] A. Rukhin, J. Soto, J. Nechvatal, M. Smid, E. Barker, S. Leigh, M. Levenson, M. Vangel,
D. Banks, A. Heckert, J. Dray / S. Vo, A Statistical Test Suite for Random and
Pseudorandom Number Generators for Cryptographic Applications, NIST,
Gaithersburg, MD, 2010.
[9] ElcomSoft, Advantages and disadvantages of EFS and effective recovery of
encrypted data, ElcomSoft Co. Ltd., Moscow, 2007.
[10] AES Crypt, http://www.aescrypt.com
[11] AxCrypt, http://www.axantum.com/axcrypt
[12] CryptoForge, http://www.cryptoforge.com
[13] Folder lock, http://www.newsoftwares.net/folderlock
[14] TrueCrypt, http://www.truecrypt.org
[15] Random.org, http://www.random.org
- 52 -