Академический Документы
Профессиональный Документы
Культура Документы
Darb atliko:
Evaldas iplys
Darbo vadovas:
Lektorius Kstutis Ikamas
Vilnius, 2016
TURINYS
vadas....................................................................................................................................................3
1.
1.1.
Cezario algoritmas.................................................................................................................5
1.2.
DES algoritmas......................................................................................................................7
1.2.1.
1.2.2.
1.3.
AES algoritmas....................................................................................................................10
1.3.1.
1.3.2.
2.
2.1.
2.1.1.
2.1.2.
2.2.
2.2.1.
VADAS
iais laikais nei vienas nesivaizduojame savo dienos be didiulio kiekio gaunamos
informacijos. Nauj ini mes gauname i laikrai, televizijos ir i plaiai paplitusio interneto. Be
abejo, patys naudodamiesi iuolaikinmis technologijomis perduodame didel kiek informacijos.
Labai danai informacija bna asmenika ir mogus nenori jos atskleisti visiems. Tokio pobdio
jautri informacija gali bti perimta ir panaudota piktiems tikslams. Siekiant ukirsti keli
informacijos nutekjimui, ji yra uifruojama. iam tikslui yra pasitelkiamos vairios ifravimo
sistemos, bei algoritmai. Deifruoti toki informacij gali tik tokie asmenys, kuriems tai padaryti
yra suteikta prieiga. Tokiu bdu mes apsaugome informacij. Netgi jei informacija bus perimta, ji
nesuteiks jokios naudos, nes bus ifruota ir i jos nieko negalsime suprasti.
Informacijos ifravimo poreik galime matyti netgi Julijaus Cezario laikais, kai jis
nepasitikdamas savo pasiuntiniais isiunt ifruot praneim Ciceronui. Visais laikais buvo
rpinamasi informacijos apsauga, taiau paskutiniais amiais tai pradt irti itin atidiai. Vis
daniau yra kuriami nauji ifravimo standartai,
1.2.1.
DES veikimas grindiamas Horsto Feistelio ifravimo tinklu, kuris buvo panaudotas
kriptosistemoje Lucifer. is ifras yra blokinis, vadinasi, kaip ir visi kiti blokiniai ifrai, DES
naudoja tiek sukeitim, tiek perstatym teksto pakeitimus. Vis pirma, ifras paima tekst ir j
pakeiia dvejetaini formatu (1 ir 0). Tada tekstas suskaidomas 64 bit blokus. Atliekamas
pirminis sukeitimas (Initial permutation). Tekstas iskaidomas du blokus L0 ir R0. DES ifro rakto
ilgis yra 56 bit ilgio, taiau kiekvienam ingsniui (kuri yra eiolika) yra naudojamas vis naujai
sukurtas raktas, kuris yra sudarytas i 48 bit. Kaip matome i Pav. 4, pradin blok M0 = L0R0
pertvarkme blok M1 = L1R1. L1 = R0 kairioji pus po pirmo atlikto ingsnio dar nepakito,
taiau algoritmas kartojamas eiolika kart. Deiniojoje pusje (R1) atliekama funkcija f, kurioje
vyksta vairs sukeitimai, perstatymai bei XOR operacijos su specifiniu ingsnio raktu bei L0
7
kairija ifro puse. Reikia paminti, kad, kol deinioji pus R0 yra 32 bit ilgio, mes negalsime
sujungti su raktu, kuris yra 48 bit ilgio. Tam tikslui pasiekti ms ifras i 32 bit vairiais
perstatymais bei sukeitimais virsta 48 bitus o tada sujungiamas su specifiniu ingsnio raktu.
5 http://images.slideplayer.com/15/4830552/slides/slide_56.jpg
8
1.2.2.
DES algoritmas buvo naudojamas beveik trisdeimt met. Ne veltui jis tiek met buvo
naudojamas. Tuo metu jis buvo laikomas labai saugiu algoritmu. Juo bdavo ifruojami valstybs
dokumentai su grifu visikai slaptai. Manyta, kad io algoritmo nemanoma , nulauti.
Privalumas yra tas, kad iuo algoritmu galime koduoti praneimus beveik imt kart
greiiau nei asimetrins sistemos algoritmais. Algoritmas yra paprastas ir padjo kompiuterines
kriptografijos pagrindus.
Algoritmas buvo labai geras, principin Feistelio schem (funkcij) naudoja ir kiti geri
blokiniai ifravimo algoritmai tokie kaip: 1) ICE; 2) LOKI89; 3) FEAL ir kt.
Supratus, kad DES tapo nesaugus (dl spartaus kompiuteri tobuljimo algoritm su
dabartiniais kompiuteriais galima nulauti per 399 sekundes), buvo mginta sustiprinti DES
algoritm. Tam sukurtas ir patvirtintas standartu 3DES algoritmas kurio esm yra ta, kad vien
kart uifruot praneim raktu K1, reikia deifruoti raktu K2, o tada vl uifruoti su raktu K3.
Tokia schema atitink algoritm su 112 bit ilgio raktu. Iki iol is algoritmas yra naudojamas
senesnse programose tokiose kaip MS Outlook 2007.
Pagrindinis DES algoritmo trkumas yra rakto ilgis (56 bitai), dl to jis tapo nesaugus,
keista tai, kad Lucifer kriptosistemoje buvo galima naudoti ir 64 bei 128 bit ilgio raktus. Btent
dl rakto ilgio is algoritmas tapo nesaugus ir iuo metu nebenaudojamas. I to galime daryti ivad,
kad labai gerai, jei rakto ilgis gali bti labai didelis, tarkim 256 bitai (AES).
1.3.1.
AES yra blokinis ifras, skaidantis tekst 128 bit ilgio blokus. Pagrindins operacijos
vykdomos eioliktainiu formatu (angl. hexadecimal). Pavyzdiui raid W dvejetainiu formatu
ireikiama kaip 01010111, o eioliktainiu 57, tai yra apibrta ASCII standarte (tas pats standartas
kur naudojo DES algoritmas). Tokiu principu yra sudaroma matrica kuri yra 128 bit ilgio arba dar
kitaip 16 bait ilgio (5 Pav.). Tokio tipo matrica (lentel) bus naudojama viso ifravimo metu. AES
naudoja tiek sukeitimo, tiek perstatymo transformacijas.
10
11
1.3.1.
6 Stallings, W. (2003). Cryptography and Network Security: Principles and Practices. Prentice Hall. (psl. 162).
7 Stallings, W. (2003). Cryptography and Network Security: Principles and Practices. Prentice Hall. (psl. 162).
12
1.3.2.
Pagal FIPS (Federal Information Procesing Standard) 197, Rijndael algoritmas gali bti
naudojamas programinje rangoje bei techninje rangoje. Algoritmas yra lengvai realizuojamas,
nes reikalauja itin maai atminties ir pasiymi savo sparta tiek aparatinje, tiek programinje
rangoje. Pavyzdiui dabartiniuose kompiuteriuose su i7 procesoriais, bei diegtu instrukcij
rinkiniu AES-NI, ifravimas pagretja nuo 4 iki 8 kart..
AES standartas naudojamas bet kokiai elektroninei informacijai uifruoti ir naudojamas
labai plaiai: lustinse mokjimo kortelse, atmintinse, satelitiniuose imtuvuose-sistuvuose,
interneto protokoluose, mobiliuosiuose telefonuose (Iphone 3 GS modelis ir visi naujesni naudoja
AES vietins informacijos ifravimui) bei kitoje programinje rangoje.
Programa LastPass taip pat naudoja AES-256 algoritm duomen ifravimui. AES
naudoja ir Java, ir JavaScript bei kitos programos. Reikia paminti, kad Java dabar naudoja
trys bilijonai rengini.
JAV valdia dokument bei informacijos ifravimui su grifu Slaptai naudoja bet kur
AES variant. Informacija su grifu Visikai slaptai turi bti ifruojama AES-192 arba AES-256
algoritmais.
AES standartas naudojamas taip pat ir karyboje bei mio lauke. iuolaikiniai satelitiniai
imtuvai-sistuvai bei radijo stotys naudoja AES algoritm. Paimkime kaip pavyzd Lietuvos
kariuomens radijo stotis RF 5800H-MP; RF-5800U; RF-5800M-MP; RF-5800 V-T. Visos jos
naudojamos tiek brio, tiek auktesniame lygmenyje. ios radijo stotys, perduodant informacij ,
naudoja AES-256 algoritm. Lietuvos kariuomen perka pstinink kovas mainas (IFV) Boxer,
bei savaeiges haubicas Pzh 2000. Manau, kad mintas kovos mainas bei haubicas bus
sumontuotos btent ios radijo stotys, turint tiksl
padaliniais, esaniais alia. Jeigu mintos kovos mainos bei savaeigs haubicos atkeliaut su
integruotomis radijo ryio stotimis, jos taipogi naudot anksiau mint AES algoritm.
Kaip matome, AES algoritmo panaudojimo spektras yra labai platus ir tinka bet kokiai
informacijai ukoduoti. Kol kas nra inoma joki skming atak prie algoritm, taip pat nra
inoma silpn io algoritmo viet. Kur laik AES bus saugus algoritmas, taiau neinome, k gals
kvantiniai kompiuteriai, galbt tokiek kompiuteriai gals labai greitai nulauti AES algortim.
Tiktina, kad AES algoritmas, atsiradus kvantiniams kompiuteriams, taps nesaugus, kaip kadaise
atsitiko su DES algoritmu. Tuo atveju vl bus skelbiamas konkursas naujam saugiam algoritmui.
13
14
ireikti taip:
n * (n 1) / 2
Rakt kieko nuo vartotoj skaiiaus n priklausomyb asimetriniuose tinkluose galime
ireikti taip:
2*n
Norint saugiai komunikuoti simetriniame tinkle, kiekvienas vartotojas turi turti skirtingus
raktus. Tarkime, turime tinkl, kuri sudaro 100 vartotoj (n=100). Simetriniame tinkle rakt
skaiius n = 4950, tuo tarpu asimetriniame tik 200 rakt. Galime matyti, kad net maame tinkle
(100 vartotoj), rakt skaiiaus skirtumas yra akivaizdus. Dl to ir asimetrini sistem rakt
valdymas yra daug kart paprastesnis, tai ir yra pagrindinis asimetrins sistemos pranaumas prie
simetrin sistem.
15
2.1.1.
RSA sistemos pagrindas yra trys tarpusavyje susij skaiiai. Du i j yra visiems inomi ir
sudaro viej rakt, treiasis yra slaptas ir inomas tiktai rakto savininkui. Rakt generavimas
susideda i ei ingsni:
1) Generuojami du dideli pirminiai skaiiai p ir q;
2) Apskaiiuojama j sandauga n = pq. i sandauga yra vienas i viej parametr;
3) Apskaiiuojama Eulerio funkcija (n). Kai p ir q yra pirminiai, tai (n) = (p 1)(q 1);
4) Parenkamas toks sveikasis skaiius e (1 < e < (n)), kad e ir (n) bt reliatyviai
pirminiai skaiiai, t. y. e ir (n) bendras didiausias daliklis bt 1. e yra antrasis vieasis
parametras;
5) Randamas toks d, kad ed mod (n) = 1, t. y. randamas e atvirktinis moduliu (n).
Daniausiai d randamas naudojant iplstin Euklido algoritm. d yra slaptasis parametras;
6) Tuomet konkretaus subjekto RSA rakt pora yra privatus raktas = (d) ir
vieas raktas = (n, e).8
Tarkime, siuntjas nori isisti gavjui praneim M. Siuntjas sudaro ukoduot tekst C,
keliant praneim M laipsniu e ir paskaiiuojama dalybos i n liekana C =
M e ( mod n) , kur e ir n
atviras gavjo raktas. Po to siuntjas isiunia tik C (ukoduot tekst) gavjui. Norint deifruoti
gaut tekst, gavjas kelia gaut tekst C laipsniu d ir paskaiiuojama dalybos i n liekana
8 http://www.personalas.ktu.lt/~artkatv/KS/KS_LD_2%20RSA%20saugumas%20ir%20naudojimas
%20v2.pdf (psl. 4).
16
M=
Kadangi tik gavjas ino d, todl tik jis turi galimyb iifruoti gaut praneim.9
Toks ifravimo algoritmas iai dienai yra saugus. Net jeigu ir yra inomi faktoriai n, p ir q ,
deifruoti praneim yra nemanoma. Kaip matome, algoritmo veikimas paremtas dideli skaii
matematiniais veiksmais ir efektyvi algoritm, skirt RSA nulauimui, kol kas nra sukurta. Vis
dlto veiksmai yra atliekami net su 1024 arba 2048 bit ilgi raktais, o atliekant veiksmus su tokio
dydio skaiiais, algoritmas praranda savo ifravimo greit. iomis dienomis naujos sistemos
kuriamos tik su 2048 bit ilgi raktais, siekiant utikrinti algoritmo saugum, taiau niekas negali
pasakyti, kada vyks proveris matematikoje arba kompiuteriuose, gal bus sukurtas kvantinis
kompiuteris, ir visi iuo laiku naudojami algoritmai taps nesaugs.
2.1.2.
RSA algoritmo raktai veikia abejomis kryptimis. Tai reikia, kad inut galime uifruoti
privaiuoju raktu, o iifruoti vieuoju. Tokiu bdu mes gauname elektroninio parao schem.
Elektroninis paraas technologija, leidianti naudoti elektroninius dokumentus, utikrinant j
autentikum ir vientisum. Tai koduota informacija, pagal kuri vienas vartotojas gali patvirtinti
savo tapatyb kitam sistemos vartotojui ir gali rodyti, kad paraas yra autentikas. I esms e.
paraas atitinka tradicin ranka rayt para, tik viskas vyksta elektroninje erdvje. i sistema
labai palengvina moni gyvenim. Kalbant apie RSA algoritmo panaudojim, e. paraas yra viena
i pagrindini algoritmo panaudojimo srii.
Kita sritis, kur naudojamas RSA algoritmas, yra elektroninis vokas. I esms e. vokas buvo
sukurtas dl to, kad bt galima slaptj simetrin rakt perduoti saugiai kitam vartotojui nesaugiu
kanalu. Kaip jau buvo minta, asimetrins ifravimo sistemos yra labai ltos lyginant su simetrinio
ifravimo sistemomis. Praneim koduojam simetriniu, o slaptj simetrin rakt asimetriniu
ifravimu. Dl to, panaudojus asimetrin ifravim, perduodam simetrin rakt ir taip sukuriame
miri ifravimo sistem. Tokios sistemos yra naudojamos labai plaiai. Dabartiniai internetiniai
puslapiai, kurie privalo utikrinti duomen srauto konfidencialum (pvz. bank internetiniai
puslapiai), naudoja HTTPS protokol, o pastarasis naudoja SLL arba TLS protokolus. SSL arba
TLS protokolai naudoja btent RSA ifravimo algoritm.
9 Voitechovskis. A. (2007). Lygiagretieji algoritmai kriptoanalizje. Vilnius: Vilniaus universitetas. (psl. 13)
17
2.2.1.
ElGamal algoritmas turi dvi modifikacijas. Viena yra skirta teksto ifravimui, o kita
elektroniniam paraui. Sistemos saugumas pagrstas tuo, kad dideliam pirminiam skaiiui p
diskretaus logaritmo radimo udavin sprsti yra sunku. Paymtina, kad ifruoto teksto ilgis yra du
kartus trumpesnis nei rakto ilgis.
I pat pradi kriptosistema sugeneruoja rakt por, kaip ir visos kitos vieojo rakto
sistemos. Tada yra parenkamas didelis pirminis skaiius p ir sugeneruojami du atsitiktiniai skaiiai
g ir x, skaiiai g ir x turi bti maesni u p. Tada apskaiiuojama
viej rakt y, g ir p, kur g ir p gali bti laisvai naudojamos didels vartotoj grups. Privatusis
raktas yra x. Pasiraymas naudojantis ElGamal kriptosistemos pasiraymo modifikacij vykdomas
taip:10
1. Sugeneruojama vieojo rakto p, g<p, y= gx mod p ir privataus rakto x<p pora;
2. Pasirenkamas atsitiktinis skaiius k, toks, kad skaiiai k ir p-1 bt tarpusavyje
pirminiai;
3. Pasiraoma tekstograma:
a = gk mod p
Parenkamas b toks, kad M=(xa + kb) mod (p-1)
10 Valkaitis, M. (2012). Efektyvios ifravimo bei skaitmeninio parao sistemos. Vilnius: Vilniaus universitetas. (psl. 10).
18
11 Valkaitis, M. (2012). Efektyvios ifravimo bei skaitmeninio parao sistemos. Vilnius: Vilniaus universitetas. (psl. 10)
19
IVADOS
Duomen ifravimo bdai gali bti vairs, taiau labiausiai paplitusios yra simetrins bei
asimetrins ifravimo sistemos. Simetrin kriptosistema yra ifravimo bdas, kada duomen
ifravimui ir deifravimui yra naudojamas tas pats slaptas raktas. Norint, kad sistema veikt, tiek
siuntjas, tiek gavjas turi inoti slaptj rakt. Asimetrinse ifravimo sistemose yra naudojama
rakt por. Vienas raktas yra vieas t. y. paskelbtas vieai ir inomas visiems, kitas privatus raktas,
kur ino tik pats vartotojas. Deifruoti praneim galima tik panaudojus privatj rakt, dl to
vieasis raktas gali bti paskelbtas vieai nesirpinant, kad praneimas bus deifruotas. Pagrindins
ifravimo sistemos yra btent ios. Dar yra naudojama elektrinio voko sistema, kuri i esms yra i
dviej sistem sujungimas vien. Simetriniu ifravimu yra siuniamas pagrindinis praneimas, o
asimetriniu ifravimu yra nusiuniamas simetrins ifravimo sistemos slaptasis raktas.
Simetrini bei asimetrini ifravimo sistem algoritmai yra labai skirtingi. Simetrini
sistem ifravimo raktai yra ymiai trumpesni nei asimetriniai, dl ios prieasties simetriniai
algoritmai pasiymi ifravimo sparta. Taiau raktai turi ilikti paslaptyje, jo negalima perduoti
nesaugiu kanalu. iems algoritmams egzistuoja rakt apsikeitimo problema, nes j reikia perduoti
saugiai. Be to, simetrinse sistemose ikyla rakt paskirstymo problema, dideliuose tinkluose tai yra
ypa aktualu. Reikia vertinti ir tai, kad siloma rakt keisti kiekvieno seanso metu. Asimetriniuose
algoritmuose rakt pora gali bti naudojama pakartotinai. Kadangi vieieji raktai yra paskelbti,
norint isisti praneim tereikia juo pasinaudoti, o deifravimas bus atliktas su privaiu raktu. Tai
leidia sumainti rakt skaii tinkle ir galime sisti informacij nesaugiu kanalu. Tokie
asimetriniai algoritmai kaip RSA ar ElGamal mums sukuria galimyb pasirayti dokumentus
internetu t. y. naudotis elektroniniu parau.
matematinius skaiiavimus su labai dideliais skaiiais (1024 bit ilgio ir didesni), tai iuos
algoritmus paveria labai ltais.
Kiekvieno algoritmo veikimo principas yra skirtingas vieni j naudoja matematinius
skaiiavimus su dideliais skaiiais, kiti naudoja teksto sukeitimo bei perstatymo pakeitimus bei
XOR operacijas. Veikimas taip pat priklauso nuo rakto skaiiaus, bei jo ilgio. Kiekvieno algoritmo
veikimas nusako tolimesnes panaudojimo galimybes, sritis.
Visi ifravimo algoritmai yra labai plaiai naudojami iandien. Jie naudojami bet kokiai
elektroninei informacijai uifruoti ir naudojami labai plaiai: lustinse mokjimo kortelse,
atmintinse,
satelitiniuose
imtuvuose-sistuvuose,
interneto
protokoluose,
mobiliuosiuose
20
LITERATRA
1. Stallings, W. (2003). Cryptography and Network Security: Principles and Practices.
2.
3.
4.
5.
Prentice Hall.
Staknas, V. (2005). ifr istorijos. Vilnius: TEV
leeviien. R. (2005). Kriptografijos vadas. iauliai: iauli universitetas.
Yuen. P.K. (2006). Practical Cryptology and Web Security. PEARSON Addison Wesley.
Valkaitis, M. (2012). Efektyvios ifravimo bei skaitmeninio parao sistemos. Vilnius:
Vilniaus universitetas.
6. Voitechovskis. A. (2007). Lygiagretieji algoritmai kriptoanalizje. Vilnius: Vilniaus
universitetas.
7. http://developer.amd.com/resources/documentation-articles/articles-whitepapers/bulkencryption-on-gpus/ irta [2016-01-05]
8. http://www.personalas.ktu.lt/~artkatv/KS/KS_LD_2%20RSA%20saugumas%20ir
%20naudojimas%20v2.pdf irta [2016-01-05]
9. http://images.slideplayer.com/15/4830552/slides/slide_56.jpg irta [2016-01-05]
21