Вы находитесь на странице: 1из 21

Generolo Jono emaiio Lietuvos karo akademija

Ininerins vadybos katedra

DUOMEN IFRAVIMO ALGORITMAI: SKIRTING ALGORITM


APVALGA, PALYGINIMAS IR PRITAIKYMAS
Kursinis darbas
Studij programa: Modernij gynybos technologij vadyba
Studij kryptis: Vadyba

Darb atliko:
Evaldas iplys
Darbo vadovas:
Lektorius Kstutis Ikamas

Vilnius, 2016

TURINYS

vadas....................................................................................................................................................3
1.

Simetrins ifravimo sistemos...............................................................................................4

1.1.

Cezario algoritmas.................................................................................................................5

1.2.

DES algoritmas......................................................................................................................7

1.2.1.

DES veikimo principas..........................................................................................................7

1.2.2.

DES algoritmo pritaikymas...................................................................................................9

1.3.

AES algoritmas....................................................................................................................10

1.3.1.

AES veikimo principas........................................................................................................10

1.3.2.

AES algoritmo pritaikymas.................................................................................................13

2.

Asimetrns ifravimo sistemos............................................................................................14

2.1.

RSA ifravimo algoritmas....................................................................................................15

2.1.1.

RSA veikimo principas........................................................................................................16

2.1.2.

RSA algoritmo pritaikymas.................................................................................................17

2.2.

ElGamal ifravimo algoritmas.............................................................................................18

2.2.1.

ElGamal algoritmo veikimo principas.................................................................................18


Ivados.................................................................................................................................20
Literatra.............................................................................................................................21

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,

kurie galt utikrinti saug informacijos

perdavim. Plaiai naudojami ifravimo algoritmai yra standartizuojami.


Duomen ifravimui naudojami vairs algoritmai, kurie yra labai skirtingi ir skiriasi savo
paskirtimi bei specifikacijomis. Vienas algoritmas yra labiau tinkamas perduoti didel informacijos
kiek saugiu kanalu, kitas pasiymi nedideliu ifravimo greiiu, taiau informacija gali bti perduota
nesaugiu kanalu. Skirtingoms sistemoms reikalingi iskirtiniai ifravimo algoritmai, algoritmas turi
atitikti jam keliamus reikalavimus, dl to jie kuriami skirtingi ir kiekvienas i j pasiymi
iskirtinmis savybmis, tokiomis kaip ifravimo sparta, atsparumas prie atakas, veikimo principas.
Skirtingos algoritm savybs privalo bti ianalizuotos ir vertintos prie jas naudojant tam tikrose
sistemose.
Darbo tikslas inagrinti skirtingus duomen ifravimo algoritmus, j veikimo
principus, bei panaudojimo galimybes.
Darbo udaviniai:
1.
2.
3.
4.

Suinoti apie skirtingus duomen ifravimo bdus;


Atlikti skirting algoritm apvalg bei palyginim;
Isiaikinti skirting algoritm veikimo principus;
Apvelgti algoritm pritaikym.

Tyrimo metodai: Darbe naudota literatros analiz. Analizuojamos publikacijos interneto


svetainse, knygos, kurios nurodytos literatros srae. Surinktos literatros analiz atskleis, kas yra
inoma apie pasirinkt tem.

1. SIMETRINS IFRAVIMO SISTEMOS


Simetrin kriptosistema yra ifravimo bdas, kada duomen ifravimui ir deifravimui yra
naudojamas tas pats slaptas raktas. Simetrinis ifravimas keiia neuifruot tekst ifruot tekst
naudojant ifravimo algoritm ir slapt rakt. Norint, kad sistema veiktu, tiek siuntjas, tiek gavjas
turi inoti slaptj rakt.

1 Pav. Supaprastintas simetrinio ifravimo modelis.


Supaprastint simetrinio ifravimo sistem sudaro penkios sudedamosios dalys:
1) Atviras tekstas neifruotas praneimas, kur norime saugiai perduoti kitam asmeniui;
2) ifravimo algoritmas atlieka vairias atviro teksto transformacijas ir pakeitimus, turint
tiksl tekst paversti neperskaitomu;
3) Slaptas raktas tai raktas, kuris naudojamas duomen ifravimui ir deifravimui, nuo io
rakto priklauso transformacij ir pakeitim skaiius bei pobdis;
4) ifruotas tekstas atviro teksto po vis pakeitim ir transformacij galutinis rezultatas
,kurio nemanoma iifruoti, neinant slaptojo rakto;
5) Deifravimo algoritmas tai ifravimo algoritmas, atliekamas i kitos puss (atgalin
transformacija, paverianti ifruot tekst atviru).
Kaip matome pav. 1, pirmiausia turime atvir tekst X, kuris yra uifruojamas, naudojant
ifravimo algoritm ir slapt rakt R. Taigi, galime urayti, kad ifruotas tekstas Y = (R, X).
ifruotas tekstas Y gali bti siuniamas ir nesaugiu kanalu, nes i i duomen maai naudos.
Nusiuntus duomenis gavjui, jis naudoja deifravimo algoritm D (tas pats ifravimo algoritmas tik
naudojamas i kitos puss) ir slapt rakt R. Galime urayti , kad atviras tekstas (pradin inut)
X = D(R,Y). Tokiu bdu i uifruot duomen Y gavjas gauna pradin tekst X, kuris buvo sistas
i pradi.
Galime daryti prielaid, kad mums nereikia ilaikyti paslaptyje ifravimo ir deifravimo
algoritm, nes, inant juos, jokios informacijos prieininkas neigaus. Utat ypatingas dmesys turi
bti skiriamas slaptojo rakto slaptumui utikrinti, btent tai ir yra io ifravimo pagrindinis
trkumas.

1.1. CEZARIO ALGORITMAS


Julijus Cezaris danai minimas istorijos ir teiss knygose, o kriptografijoje jo vardu yra
pavadintas paprastas ifravimo bdas, kur jis sugalvojo, nordamas nusisti inut Ciceronui.
Ciceronas buvo apsuptyje ir galvojo apie pasidavim, Cezaris, nepasitikdamas savo pasiuntiniais,
turjo sugalvoti bd, kaip nusisti inut Ciceronui, kad tos inuts niekas, iskyrus gavj,
negalt perskaityti. Tai padar labai paprastu bdu, kiekvien abcls raid perstms per tris
raides priek. Tai labai gerai pavaizduoja pav. 2

2 Pav. Cezario ifro skritulys1

3 Pav. Cezario skritulys su priskirtais skaiiais2

Jeigu 2 paveiksllyje esanio didiojo skritulio nejudiname, o sukiojame viduje esant


maesnj skritul galime gauti skirtingus Cezario ifro variantus. Tarkim, pasukame maj skritul
per vien raid ir gauname, kad po raid A atsiduria raid E. Taip gaunamas naujas Cezario ifro
variantas. Cezario ifravimo schemoje ifravimo ir deifravimo raktai sutampa, vadinasi is
ifravimo bdas yra simetrinis. Lotynikoje abclje yra dvideimt eios raids, ir mes galime
gauti dvideimt eis skirtingus ifro variantus, kitaip tariant, ifro raktus. Taigi gauname dvideimt
ei Cezario ifr eim, kuri raktas yra aibs K skaiiai.
K = {0;1;;25}
Savaime suprantame, jeigu raktas k=0, tai jokio ifravimo nebus. ifravimo algoritm galime
pritaikyti ir lietuvikai abclei. Skirtumas bus tik tas, kad vietoje dvideimt ei raidi bus
trisdeimt dvi raids, tai parodyta 3 paveiksllyje. Tai padidina ifro rakt skaii. Priskirkime
skaiius kiekvienai lietuvikos abcls raidei, pasukime maj skritul per k padal kuria nors

1 Staknas, V. (2005). ifr istorijos. Vilnius: TEV (psl. 13).


2 Staknas, V. (2005). ifr istorijos. Vilnius: TEV (psl. 14)
5

kryptimi (3 paveiksllyje k = 5). Didesniojo skritulio skaiius m, o maajame m + k dalybos i 32


liekanai. Pavyzdiui, kai k = 5, o m = 29 dalybos i 32 liekana lygi 2: 29 + 5 = 34 = 1 * 32 + 2 3
Taigi Lietuvikosios abcls raidmis urayt tekst ifravim Cezario ifru su raktu k
galime nusakyti taip: abcls raid, kurios eils numeris yra m, keiiama, kurios eils numeris
e(m | k) randamas i lygybs4
e(m | k) = (m + k)(mod32)
Tada galime urayti, kad bendras Cezario ifro algoritmas C yra:
C = e(m | k) = (m + k) mod32
Toks ifravimo algoritmas yra labai paprastas ir gali bti greitai nulautas, inant, kad
praneimas buvo koduotas btent Cezario ifru. Paprasiausiai mginsime trisdeimt vien
manom rakt brutalios jgos nulauimo bdu. Be to teksto struktra ir odiai nra iskiriami,
tai palengvina atpainti tam tikrus odius ir j sandar.

3 Staknas, V. (2005). ifr istorijos. Vilnius: TEV (psl. 13).


4 Staknas, V. (2005). ifr istorijos. Vilnius: TEV (psl. 13).
6

1.2. DES ALGORITMAS


Tai pirmasis kriptostandartas. DES (Data Encryption Standard) algoritmo atsiradim
takojo naujos kompiuterins ir ryio technikos vystymas ir tobuljimas. Atsirado poreikis naujai
informacijos ifravimo sistemai atsirasti. 1973 metais JAV nacionalini standart biuras paskelb
konkurs sukurti nauj plataus panaudojimo kriptostandart. is kriptostandartas turjo garantuoti
labai aukt saugumo lyg, o kalbant apie sandar ir struktr turjo bti paprastas, visiems lengvai
suvokiamas ir prieinamas, be to is kriptostandartas turjo bti pritaikytas vairiems tikslams, veikti
efektyviai ir paprastai.
IBM kompanija dar 1972 metais, suvokus, kad reikia naujos ifravimo sistemos, sukr
projekt naujai ifravimo sistemai sukurti, jos vadovu buvo paskirtas Horstas Feistelis (Horst
Feistel). H. Feistelis jau buvo sukrs ifr, kuris vadinosi Lucifer. IBM kompanijos grup, kuri
buvo atsakinga u kriptostandarto sukrim, pam Lucifer ifr ir j patobulino. Padidinus ifro
apsaug ,jis buvo pasilytas konkursui ir j laimjo. is ifras 1976 metais tapo pirmuoju
kriptostandartu.
Tuo metu niekas jau negamino ir netobulino mechanini ifravimo prietais, nes itam
tikslui buvo sukurtos puikios slygos kompiuteris. DES ifras buvo kuriamas su kompiuteriu, dl
to nenuostabu, kad ir visa informacija yra paveriama vienetu ir nuliu. Taigi DES taip pat naudoja
dar 1963 metais sukurt amerikiei standart ASCII (American Standart Code for Information
Interchange), kuris standartizuoja grafinius simbolius, tokius kaip lotynikos abcls raids,
skaitmenys, ir kiti enklai. Pavyzdiui: 1) skaiius vienas ukoduojamas 00110001, 2) raid A
ukoduojama 01100001 ir t.t.

1.2.1.

DES VEIKIMO PRINCIPAS

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.

4 Pav. DES algoritmo veikimo schema5


Atlikus sujungim arba dar kitaip XOR operacij, ifras funkcijoje f praeina S des,
kuriose vl paveriamas 32 bit ilg. Po i veiksm deinioji ifro pus R0 sujungiama su kairija
puse L0, pasitelkus XOR operacij. Visus anksiau mintus veiksmus kartojame eiolika kart.
Atlikus tai eiolika kart, lieka atgalinis perstatymas (inverse initial permutation). Tai yra daroma
tam, kad vliau bt galima tekst deifruoti.
DES deifravimui yra naudojama ta pati programa kaip ir jos ifravimui, taip pat
naudojamas ir tas pats slaptas raktas, tik atgaline tvarka.

5 http://images.slideplayer.com/15/4830552/slides/slide_56.jpg
8

1.2.2.

DES ALGORITMO PRITAIKYMAS

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. AES ALGORITMAS


DES ifravimo algoritmui tapus nesaugiu, 1997 metais NIST (National Institute of
Standards and Technology) paskelb konkurs naujam ifravimo algoritmui. Pagrindinis
reikalavimas, keliamas algoritmui, yra valstybs informacijos apsaugojimas. Konkurso slygose
buvo nurodyta, kad gali bti naudojamas daugiau negu vienas algoritmas jeigu tai yra btina (DES
konkurso metu buvo nurodyta, kad turi bti vienas algoritmas). Pagrindinis reikalavimas algoritmui
buvo rakto ilgio galimyb ilgti ateityje, kad neitiktu DES algoritmo likimas. Konkurso
nugaltojas buvo renkamas pagal iuos kriterijus: 1) saugumas; 2) atminties kiekio naudojimas; 3)
paprastumas ir lankstumas kisti; 4) operacij greitis; 5) struktros savybs.
2000 metais NIST paskelb konkurso laimtoj. Tai buvo Rijndael algoritmas, kuris jau
2001 met lapkrit buvo standartizuotas ir pavadintas FIPS 197. Rijndael algoritmas tapo nauju
ifravimo standartu AES. Rijndael algoritmas pavadintas j krj pavardi skiemenimis. Krjai
buvo du belgai V. Rijmen ir J. Daemen.
AES yra blokinis ifras, skaidantis tekst 128 bit ilgio blokus. AES algoritmas turi kelis
variantus, AES-128, AES-192, AES-256. Skaiius alia raidi AES nurodo rakto ilg bitais.
Vadinasi, didiausias rakto ilgis yra 256 bitai, o rakto ilgis garantuoja sauguma. is algoritmas
pakeit jau nesaug DES algoritm ir tapo nauju kriptostandartu, plaiai naudojamu visame
pasaulyje iki ios dienos.

1.3.1.

AES VEIKIMO PRINCIPAS

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.

5 Pav. Matrica su upildytais duomenimis.

10

Pagrindins dvi algoritmo operacijos yra rakt generavimas ir ifravimas. Rakt


generavimo operacijos metu yra pagaminama skirtingi raktai kiekvienam raundui atskirai ir dar
vienas inicijavimo raundui. Rakt ilgis priklauso nuo algoritmo ir gali bti 128, 192 arba 256 bit
ilgio. Nuo rakto ilgio priklauso raund skaiius kuris bus atliktas ifravimo metu, jei naudojamas
AES-128 bus 10 raund, AES-192 12 raund, AES-256 14 raund. Kiekvienas sukurtas raktas
yra panaudojamas XOR operacijoje AddRoundKey, i 6 pav. matome, kad standartiniam 128 bit
ilgio algoritmui tokia operacija atliekama 11 kart, vadinasi bus sukurta 11 skirting rakt.

6 Pav. AES algoritmo veikimo schema.


AES algoritmui suskirsius atvir tekst 16 bait ilgio blokus atliekamas ifravimas ir
pirmoji operacija yra inicijavimo raundas, kur galime matyti 6 pav., kurio metu atviram tekstui yra
atliekama XOR operacija su btent tam inicijavimo raundui skirtu raktu. Skirtingai nei DES ia
nra naudojama Feistelio funkcija, paprasiausiai atliekami matematiniai perstatymai, sukeitimai
bei XOR operacijos. Kaip matome i 6 paveiksllio, atviram tekstui atlikus XOR operacij, jis
keliauja raund transformacijas. J, kaip ir minjau, skaiius priklausomai nuo algoritmo skiriasi.
Kiekviename raunde yra atliekamos transformacijos: SubBytes, ShiftRows, MixColumns,
AddRoundKey. Transformacijoje SubBytes yra atliekami sukeitimai (angl. substitution) pagal
taip vadinam S lentel. Kiekvienas matricos baitas yra pakeiiamas pagal i lentel. Sekanti
transformacija yra ShiftRows, kurioje ne kiekvienas baitas, o tik trys apatins eiluts yra
perstatomos (angl. transposition). Kaip perstatomi baitai matricoje, vaizduoja 7 paveiksllis.
Transformacijoje MixColumns yra atliekami sukeitimai arba dar kitaip matematiniai skaiiavimai
kiekvienam matricos stulpeliui. Kiekvienas matricos stulpelis yra sudauginamas su kita matrica.
Kaip tai atliekama, pavaizduota 8 paveiksllyje.

11

7 Pav. Tranformacija ShiftRows6

8 Pav. Transformacija MixColumns.7


Paskutin raundo operacija AddRoundKey atliekama, pasitelkus specifin raundo rakt ir
jau kelet kart transformuot informacij. Paprasiausiai informacijai ir raktui yra atliekama XOR
operacija. Toki raund yra atliekama 9, 11 arba 13, priklausomai nuo algoritmo. Paskutinis raundas
yra kitoks, jame neatliekama sukeitimo transformacija MixColumns. Atlikus tam tikr skaii
raundini transformacij, mes gauname ifruot tekst. Norint atlikti deifravim, visos
transformacijos yra atliekamas taip pat, tik atgaline tvarka. Raktai naudojami taip pat atgaline
tvarka. Kol kas dabartini kompiuteri galimybs nra pajgios nulauti io algoritmo.

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.

AES ALGORITMO PRITAIKYMAS

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

komunikuoti su vadavietmis bei kitais

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

2. ASIMETRNS IFRAVIMO SISTEMOS


1976 metais W. Diffie ir M. Hellman pasil nauj ifravimo bd asimetrin ifravim
arba dar kitaip inom kaip vieojo rakto kriptosistema. Pavadinimas pats nusako ifravimo
sistemos esm. Jeigu simetrins sistemos pavadintos dl to, kad ifravimui bei deifravimui naudoja
vienod rakt, tai asimetrins sistemos naudoja du skirtingus raktus, vien vie rakt ir kit privat
rakt.
Simetriniai ifravimo algoritmai buvo labai itobulinti, taiau spariai vystantis telekomunikacijoms
ir ypatingai internetui, ikilo vadinama rakt paskirstymo problema. Esant dideliam tinklui, yra
labai sunku utikrinti slapto rakto apsikeitim ir jo valdym, tam turi bti naudojamas saugus
kanalas. Tai buvo pagrindin prieastis naujai kriptosistemos sriiai atsirasti.
Viej rakt kriptosistema ispendia rakt apsikeitimo ir valdymo problemas, taiau ikyla kitos
problemos. Viena i j - vieojo rakto susiejimas su vartotojo tapatybe. iai problemai sprsti
paprastai pasitelkiama viej rakt infrastruktra (angl. public key infrastructure).
Kiekvienam sistemos vartotojui sugeneruojami du matematikai susij raktai (vieasis ir
privatusis). Privatieji raktai yra slapti ir inomi tik paiam vartotojui, tuo tarpu vieieji raktai yra
paskelbi vieai. iose sistemose vienam vartotojui reikia sugeneruoti dukart daugiau rakt nei yra
vartotoj. Nors abu raktai matematikai yra susieti, inant viej rakt bei ifravimo algoritm,
nemanoma apskaiiuoti privaiojo rakto.

9 Pav. Asimetrin ifravimo sistemos pavyzdys.


Asimetrinje ifravimo sistemoje (9 paveiksllis) uifruoti naudoto rakto inojimas dar
neleidia gauti rakto, skirto praneimui iifruoti. Todl uifravimo rakt galima paskelbti vieai,
nerizikuojant deifravimo rakto saugumu. Sisdamas slapt praneim gavjui, siuntjas pasirenka
viej gavjo uifravimo rakt ir juo uifruoja praneim. Uifruotas praneimas gali bti
atkurtas naudojant atitinkam slapt privatj rakt, kur turi tik gavjas.

14

Rakt kieko nuo vartotoj skaiiaus n priklausomyb

simetriniuose tinkluose galime

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.

2.1. RSA IFRAVIMO ALGORITMAS


Atsiradus naujai kriptografijos krypiai, buvo kuriama daugyb nauj algoritm,
veikiani vieojo rakto pagrindu, taiau dauguma j pasirod greit nulauiama. 1978 metais trys
mokslininkai R. Rivest, A. Shamir ir L. Adleman pasil savo sukurt schem. Algoritmo
pavadinimas sudarytas pamus po vien raid i krj pavardi RSA (R. Rivest, A. Shamir ir L.
Adleman). Tai buvo pirmasis asimetrinis algoritmas, kuris buvo pradtas plaiai naudoti. Per
daugel met esmini io algoritmo sprag neaptikta, todl jis naudojamas ir iandien.
Toks algoritmas isprendia visas simetrini algoritm sistem problemas, taiau io tipo
algoritmai nepakeit simetrini algoritm. Pagrindin RSA algoritmo problema yra ifravimo bei
deifravmo sparta. Kadangi visi veiksmai vyksta su labai dideliais skaiiais, rekomenduojama
naudoti bent 1024 bit ilgio rakt, vadinasi, nukenia ifravimo greitis ir todl RSA algoritmas
negali pakeisti simetrini ifravimo sistem.
RSA algoritmas paremtas paprastais matematiniais veiksmais bei skaii faktorizacija. is
algoritmas yra blokinis, plaiai naudojamas ir iandien. Norint ivengti nulauim, reikia naudoti
kuo ilgesn rakt. 2048 bit ilgio RSA algoritmo raktas turi madaug pana stiprum kaip AES
algoritmo silpniausias variantas AES-128. Taigi, norint pasiekti aukt saugum prarandamas
ifravimo greitis.

15

Didioji dauguma iuo metu naudojam asimetrins kriptografijos metod naudoja du


skirtingus principus, kurie susiveda labai sunkiai isprendiamus matematinius udavinius:
1) Dideli skaii, kurie buvo gauti sudauginus du didelius pirminius skaiius,
faktorizavimo (daugikli suradimo) udavin;
2) Diskreiojo logaritmo baigtiniame lauke udavin;
Kadangi visos iuo metu naudojamos vieojo rakto kriptosistemos remiasi neisprstais
matematiniais udaviniais, tiksliau, udaviniais, kuriems sprsti nra greit algoritm, jos laikomos
saugiomis. Taiau nra aiku, kada gali vykti proveris matematikoje arba kompiuterinje rangoje
(pvz. bus sukurtas kvantinis kompiuteris). Tam vykus, visi ie algoritmai taps nesaugs.

2.1.1.

RSA VEIKIMO PRINCIPAS

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=

C d (mod n) . Priklausomyb tarp e ir d garantuoja, kad gavjas taisyklingai apskaiiuos 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 PRITAIKYMAS

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. ELGAMAL IFRAVIMO ALGORITMAS


1984 metais T. ElGamalis (angl. T. ElGamal) pasil kriptostandart, kurio veikimo
principas yra paremtas dideli pirmini skaii p diskretaus logaritmo radimo udaviniais.
Algoritmo pagrind sudaro jau prie tai sukurtas Diffie-Hellman kriptostandartas. Iki iol is
kriptostandartas yra naudojamas ir kol kas nra rodyta, kad kriptosistemos saugumas lygus
efektyvaus bdo sprsti diskretaus logaritmo udavin dideliems pirminiams skaiiams p radimui,
tai reikia, kad net jei bt rastas efektyvus metodas skaiiuoti diskreius logaritmus, tai nebtinai
reikt, kad io tipo kriptosistemos taps nesaugios.
DSA (angl. Digital Signature Algorithm) algoritmo arba DSS (angl. Digital Signature
Standard) standarto viena i sudedamj dali yra ElGamal kriptostandarto modifikacija. Taip pat
ElGamal kriptostandartas naudojamas tokiose sistemose, kaip GNU Privacy Guard, PGP (angl.
Pretty Good Privacy), bei kitose.

2.2.1.

ELGAMAL ALGORITMO VEIKIMO PRINCIPAS

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

y=g x mod p . I ia gauname

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

4. Paraas laikomas galiojaniu jeigu y a ab mod p = gM mod p.


ElGamal algoritmo modifikacija, skirta tekstui ifruoti, atlieka iuos veiksmus:11
1. Sugeneruojamas 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. Uifruojama:
a=g k mod p
b= y k M mod p
4. Deifruojama:
M =ba mod p

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.

Taiau asimetrini sistem algoritmai atlieka

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

telefonuose, karinse radijo stotyse, e. parauose ir t. t. Kaip matome algoritm panaudojimo


spektras yra labai platus ir tinka bet kokiai informacijai ifruoti.

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

Вам также может понравиться