Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

TEHNIKO VELEUILITE U ZAGREBU Struni studij informatike

KRIPTOGRAFSKE TEHNIKE
Duina kljua, upravljanje kljuevima, tipovi algoritama i njihova uporaba

Darijo Ili, Dinko Plei Dr. sc. Krunoslav Antoli

Sadraj
Saetak........................................................................................................................................ 3 Abstract ...................................................................................................................................... 3 Kljune rijei ............................................................................................................................... 3 Key words ................................................................................................................................... 3 1. Uvod ....................................................................................................................................... 4 2. Tipovi algoritama i njihova uporaba, duljina i upravljanje kljuevima ................................... 5
2.1. Simetrina kriptografija ............................................................................................................... 5 2.1.1. Algoritam AES ....................................................................................................................... 6 2.1.1.1. Duina kljua te upravljanje istim ...................................................................................... 6 2.1.1.1.a. Matrica stanja ............................................................................................................. 7 2.1.1.1.b. Kljuevi ....................................................................................................................... 7 2.1.2. Algoritam DES ....................................................................................................................... 8 2.1.2.1. Veliina kljua te upravljanje istim ................................................................................ 9 2.1.2.2 Inaice DES-a ................................................................................................................ 10 2.1.2.2.a 3DES........................................................................................................................... 10 2.1.2.2.b DESX .......................................................................................................................... 11 2.2. Asimetrina kriptografija ........................................................................................................... 11 2.2.1. Algoritam RSA ..................................................................................................................... 13 2.2.1.1. Duina kljua te upravljanje istim ................................................................................ 13 2.2.1.2 Napadi na RSA .............................................................................................................. 14 2.3. Hibridna kriptografija ................................................................................................................ 14

3. Zakljuak ............................................................................................................................... 15 4. Literatura i internet izvori .................................................................................................... 16

Saetak
Cilj ovog rada je da se obradi polje kriptografije kroz tipove algoritama. Glavnina se odnosi na raslambu algoritama kriptiranja na simetrine i asimetrine. Takoer smo se osvrnuli na duinu kljua te upravljanje istim. itajui rad shvatit ete da kako idete prema kraju nailazite na sve bolje i kompliciranije, a samim time i sigurnije algoritme. Na kraju sa kratkim zakljukom dajemo svoje miljenje o budunosti, a i trenutnom stanju kriptografije u svijetu.

Abstract
The aim of this work is to process field of cryptography trought different types of algorithms. The majority refers to the fractionation of encryption algorithms on symmetric and asymmetric. We also took note of the length of the key, and its management. While reading the work you will realize that as you go toward the end you'll be experiencing better and more complicated, and therefore more secure algorithms. In the end with a short conclusion we give our opinion on the future and current state of cryptography in the world.

Kljune rijei
Simetrina kriptografija, asimetrina kriptografija, RSA algoritam, AES i DES algoritmi, kljuevi, kriptografija, kriptiranje

Key words
Symmetric cryptography, asymmetric cryptography, RSA algorithm, AES and DES algorithms, keys,cryptography, encryption

1. Uvod
Kriptografija ili ponekad kriptologija je moderna znanstvena disciplina bazirana na primijenjenoj matematici. Kriptografija prouava i razrauje sigurnu komunikaciju u smislu da trea strana presretanjem poruke istu ne moe deifrirati, te joj je kao takva beskorisna. U dananje vrijeme kriptografija je sveprisutna, a svakodnevnica bez nje nezamisliva. Naime, kriptografija se koristi u bankarskoj industriji (bankomati, Internet bankarstvo), raunalnoj sigurnosti (npr . sigurnost i privatnost na Internetu) i mnogim drugim poljima gdje je privatnost i sigurnost podataka od velike vanosti. Osnovni zadatak kriptografije je omoguiti dvjema osobama, od kojih je jedna poiljatelj, tj. osoba koja eli priopiti poruku, a druga primatelj, tj. osoba kojoj je poruka poslana, da komuniciraju preko nesigurnog komunikacijskog kanala (tele-fonska linija, radiovalovi, raunalna mrea, itd.) na nain da trea osoba (njihov protivnik, tzv. napada) ne moe razumjeti njihove poruke. Poruku koju poiljatelj eli poslati primatelju zovemo otvoreni tekst (engl. plaintext). To mo e biti tekst na njihovom materinjem ili nekom drugom jeziku, numeriki podaci ili bilo to drugo. Poiljatelj transformira otvoreni tekst, koristei unaprijed dogovoreni klju. Taj postupak se zove ifriranje (kriptiranje), a dobiveni rezultat ifrat (ifrirana poruka, kriptogram, kriptat, kriptirana poruka) (engl. ciphertext). Nakon toga poiljatelj alje ifrat putem nekog komunikacijskog kanala. Protivnik prislukujui dozna sadraj ifrata, ali ne moe odrediti otvoreni tekst i razumjeti poruku. Za razliku od njega, primatelj, koji zna klju kojim je poruka ifrirana, moe deifrirati (dekriptirati) ifrat i odrediti otvoreni tekst. ifra (kriptografski algoritam) je matematika funkcija koja se koristi za ifriranje i deifriranje. Openito, tu se radi o dvije funkcije od kojih je jedna za ifriranje, a druga za deifriranje. Argumenti funkcije za ifriranje su klju i otvoreni tekst, a argumenti funkcije za deifriranje su klju i ifrat. Skup svih moguih vrijednosti kljueva zove se prostor kljueva. Kriptosustav se sastoji od ifre i svih moguih otvorenih tekstova, ifrata i kljueva.

2. Tipovi algoritama i njihova uporaba, duljina i upravljanje kljuevima


Algoritam za kriptiranje - odreeni matematiki proces (niz matematikih operacija) koji slui za kriptiranje ili dekriptiranje poruka. Postoje simetrini i asimetrini algoritmi za kriptiranje. A koristi se i hibridna kriptografija gdje se mjeaju simetrini i asimetrini algoritmi.

2.1. Simetrina kriptografija


Osnovna karakteristika simetrine kriptografije je identinost kriptografskih kljueva koji se koriste prilikom kriptiranja i dekriptiranja. Povijest simetrine kriptografije see daleko u prolost kada su se pojavili prvi naini kriptografskog prikrivanja podataka. Jedna od prvih poznatih metoda koju su upotrebljavali Spartanci u 5. stoljeu prije Krista je skital. Skital je drveni tap odreene debljine na koji se namotavala traka od pergamenta. Uzduno, preko namotane trake, napisala bi se poruka, a odmatanjem pergamenta sa tapa tekst bi postajao neitljiv. Poruku je mogao ispravno proitati samo onaj tko je posjedovao tap debljine odnosno promjera identinog originalnom tapu. Kriptografski klju predstavlja jedinstvena debljina drvenog tapa, skitala, odnosno drveni tap tono odreene debljine kojeg je morao imati onaj tko sastavlja i alje poruku, ali i onaj tko prima prikrivenu poruku. Osim skitala jedna od poznatijih simetrinih metoda kriptiranja je i Cezarova metoda. Kod te metode tekst se kriptira na nain da se svako slovo originalnog teksta zamijeni nekim drugim slovom abecede, a zamjensko tj. kriptirano slovo odreuje se pomakom izmeu originalne i kriptirane abecede. Na primjeru 2. prikazane su dvije abecede, originalnog i kriptiranog teksta, pomaknute za 3 mjesta ulijevo. Broj mjesta za koji se pomie abeceda kriptiranog teksta u odnosu na originalni tekst mijenjao se od poruke do poruke. Klju kod ovog naina kriptiranja predstavlja upravo broj mjesta za koliko su abeceda originalnog i kriptiranog teksta pomaknute.

Originalni 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 Kriptirani tekst D E F G H I J K L M N O P Q R S T U V W X Y Z A B C


Primjer 1 Cezarova metoda

Kroz povijest, kriptografija se sve vie razvijala, ali uvijek se za kriptiranje i za dekriptiranje koristio isti kriptografski klju. Jedan od u javnosti moda najpoznatijih i najspominjanijih povijesnih ureaja za kriptiranje je njemaka Enigma. Kod nje kriptografski klju odreuje poloaj triju prstena koji, ukoliko elimo uspjeno proitati kriptiranu poruku, i kod kriptiranja i kod dekriptiranja moraju biti identino postavljeni. Kripptografski ureaj Enigma su koristile njemake vojne postrojbe u 2. svjetskom ratu.

Dananji simetrini kriptografski algoritmi zasnovani su na informatikoj tehnologiji i koriste kriptografske kljueve u digitalnom obliku. Njihova duljina najee se kree od 64 bita (npr. algoritam DES) do 256 bita (npr. algoritam AES). Kriptografski kljuevi za kriptiranje i dekriptiranje kod simetrinog sustava su identini. Informacije o kriptografskom kljuu za kriptiranje/dekriptiranje nuno je zadrati u tajnosti, odnosno unutar kruga poiljatelja i primatelja tiene poruke. Komunikacijski kanal za razmjenu krip tografskih kljueva u izvornom obliku mora biti siguran, tj. mora onemoguiti treoj strani da sazna bilo kakvu informaciju o kljuevima. U suprotnom, kriptiranje poruka kompromitiranim kljuevima rezultiralo bi kompromitiranjem tienih podataka i ne bi imalo nikakvog smisla. Uobiajeno je da se kod simetrinih kriptografskih sustava potrebni kriptografski kljuevi unaprijed razmjene izmeu korisnika. Moda najsigurniji nain distribucije je osobna dostava istih korisnicima, no u tom sluaju esto se pitamo nismo li na takav nain mogli dostaviti i samu poruku. Postoje i druge metode razmjene, a jedna od esto koritenih metoda je i razmjena simetrinih kriptografskih kljueva pomou kriptografskih sustava s javnim kljuem. Takva organizacija ne zahtijeva s iguran komunikacijski kanal, jer se i sami kljuevi za kriptiranje poruke distribuiraju kriptirani, tj. zatieni.1 Jo neki algoritmi simetrine kriptografije su Blowfish, Twofish, RC4, CAST5, IDEA.2

2.1.1. Algoritam AES

AES (engl. Advanced Encryption Standard) je jedan od kriptografskih algoritama za zatitu digitalnih podataka. AES standard temelji se na simetrinom Rijndael algoritmu, a kao standard razvijen je da bi postupno zamijenio DES, ija sigurnost u dananje vrijeme vie nije dovoljna. Slino kao i DES, AES je razvijen u privatnom sektoru, no u suradnji s amerikom vladom. AES je definiran i prihvaen od strane NIST-a (engl. National Institute of Standards and Technology) u FIPS 197 dokumentu, te se kao takav moe koristiti u amerikim dravnim i drugim institucijama. U ovom trenutku, to se tie uporabe na Internetu, DES, pa i drugi simetrini algoritmi jo uvijek su zastupljeni u veoj mjeri, no vremenom e i AES pronai svoje mjesto, pogotovo zato to DES kao takav ne predstavlja adekvatno rjeenje u sustavima koji zahtijevaju najvie razine sigurnosti. 3

2.1.1.1. Duina kljua te upravljanje istim

Za razliku od npr. DES i IDEA algoritama koji podatke ifriraju u 64 -bitnim blokovima, AES, odnosno Rijndael algoritam, ifrira 128-bitne blokove podataka. Duljina kljua moe biti 128, 192, ili 256 okteta. Sam Rijndael algoritam je oblikovan tako da je mogue ifriranje podataka u blokovima razliitih duljina i s razliitim duljinama kljueva, no to nij e definirano kroz standard. Obzirom na kljueve, uobiajeno je algoritme nazivati AES -128, AES-192 i AES-256.

1 2

http://www.zsis.hr Uvod u kriptografiju, https://sigurnost.carnet.hr/assets/Dokumenti/Uvod-u-kriptografiju.pdf, str. 4 3 AES algoritam, http://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2003-08-37.pdf, str. 4

2.1.1.1.a. Matrica stanja Interno, sve operacije AES algoritma provode se na dvodimenzionalnom nizu okteta, odnosno matrici stanja (engl. state). Matrica stanja se sastoji od etiri retka koji sadre odreeni broj okteta. Taj broj okteta predstavlja ukupnu duljinu bloka (u bitovima) podijeljenu sa 32. U konkretnom sluaju, kod AES algoritma to znai 4 okteta (Rijndael algoritam doputa i druge vrijednosti). ifriranje, odnosno deifriranje, se provodi tako da se ulazni blok podataka kopira u matricu stanja nad kojom se zatim provode razne operacije, kako e biti pokazano u nastavku dokumenta. Konano, zavrna vrijednost matrice stanja se kopira u izlazni ifrirani blok podataka (Slika 1).

Slika 1 Ulazni i izlazni podaci te matrica stanja

Ulazni blok podataka kopira se u matricu stanja po sljedeoj formuli: stanje[r,s]=ulaz[r+4s], za 0 r < 4, i 0 s < 4 Takoer, na slian nain se izlazni podaci kopiraju iz matrice stanja: izlaz[r+4s]=stanje[r,s], za 0 r < 4, i 0 s < 4 etiri okteta u svakom stupcu matrice stanja formiraju 32 -bitnu rije. Na taj nain matricu stanja mogue je interpretirati kao jednodimenzionalni niz 32-bitnih rijei w0,,w3. Formalno se te rijei definiraju na sljedei nain: w0=s0,0s1,0s2,0s3,0 w1=s0,1s1,1s2,1s3,1 w2=s0,2s1,2s2,2s3,2 w3=s0,3s1,3s2,3s3,3

2.1.1.1.b. Kljuevi Kao to je ranije spomenuto, ulazni i izlazni blokovi AES algoritma su duljine 128 okteta, dok duljina kljua moe biti 128, 192 ili 256 okteta. Klju se prikazuje kao odreeni broj 32 -bitnih rijei koji, ovisno o duljini, varira, pa moe biti predstavljan s 4, 6 ili 8 rijei. Takoer, broj koraka od kojih se algoritam sastoji ovisi o duljini kljua. Tabela 1 daje prikaz ovisnosti broja koraka algoritma o duljini kljua, odnosno o implementaciji algoritma (broj koraka i duljina ulaznih/izlaznih blokova dani su u 32-bitnim rijeima). Nk i Nw redom oznaavaju duljinu kljua i duljinu bloka podataka u rijeima, dok Nr oznaava broj koraka algoritma.

Tabela 1 : Duljine kljueva, blokova i broj koraka inaic a AES algoritma

Tabela 2 Usporedba algoritama koji se koriste za enkripciju diska.

Kriptiranje cijelog diska predstavlja najviu razinu sigurnosti koju je mogue postii na operacijskom sustavu jer se kriptiraju ba sve datoteke na raunalu.

2.1.2. Algoritam DES

DES (Data Encryption Standard) algoritam je jedan od najpoznatijih i najrairenijih simetrinih algoritama. DES je razvijen tijekom 70-ih godina u IBM-u, te 1977. prihvaen od Amerike vlade kao standard za zatitu podataka. Glavna mana mu je, to je javno poznato, da je tijekom razvoja mnoge sugestije davala i NSA (National Security Agency), pa mnogi smatraju da u algoritmu postoji sigurnosna rupa (engl. backdoor), koja omoguava amerikoj vladi deifriranje podataka. Bilo kako bilo, u svojom originalnom obliku, DES se tako i tako vie ne smatra sigurnim, poto se 56 -bitni klju u dananje vrijeme, i s raspoloivim raunalnim resursima, moe probiti i primjenom iste sile (engl. brute force). Iako potencijalno nesiguran, DES se i danas koristi za zatitu podataka na mnogim instancama, a definiran je i kroz ANSI i NIST standarde. Takoer, mnogi prihvaeni sigurnosni protokoli temelje svoj rad na DES algoritmu (SSL-TLS, IPSec).

2.1.2.1. Veliina kljua te upravljanje istim

Otvoreni tekst (poruka) se ifrira u 64-bitnim blokovima, pri tom na izlazu dajui 64-bitni ifrirani tekst. Klju za ifriranje je duljine 56-bita, no esto se pojavljuje u 64-bitnom prikazu gdje se svaki osmi bit zanemaruje, odnosno moe posluiti npr. za provjeru pariteta. Prvi korak algoritma jest inicijalna permutacija, dok posljednji korak predstavlja inverziju inicijalne permutacije. Prije posljednjeg koraka, lijeva i desna 32-bitna polovina se samo zamjenjuju. Kod preostalih 16 koraka, niz znakova se dijeli na lijevu i desnu 32-bitnu polovicu, gdje desna polovica postaje lijeva polovica idueg koraka, dok se nad lijevom polovicom provode operacije koje su u svakom koraku parametrizirane drugim 48-bitnim podkljuem (ukupno ima 16 razliitih 48-bitnih podkljueva koji se izvode iz osnovnog kljua). Slika 2 daje shematski prikaz algoritma. 4

Slika 2 Shematski prikaz DES algoritma

Ovako izgleda inicijalna permutacija:

Tabela 3 inicijalna permutacija

DES algoritam, http://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2003-06-24.pdf, str. 4

A ovako konana:

Tabela 4 konana permutacija

2.1.2.2 Inaice DES-a 2.1.2.2.a 3DES

Kao to je ve prije reeno, u svojoj originalnoj formi DES se ne smatra pouzdanim, ve samim time to je 56-bitna duljina kljua podlona napadu primjenom sile, no, poto se algoritam i danas koristi za razne namjene, izvedene su razne modifikacije koje unapreuju sigurnost. Jedno od takvih unapreenja jest i koritenje viestrukog DES algoritma. U praksi je najea uporaba trostrukog DES algoritma (3DES) u takozvanom EDE nainu rada.

Slika 3 Shematski prikaz 3DES algoritma

Slika 3 prikazuje trostruki DES algoritam u tzv. EDE nainu rada. Moe se uoiti da 3DES algoritam koristi 112-bitni klju za ifriranje (dva 56-bitna kljua). Pri postupku ifriranja koriste se tri modula; ifriranje, deifriranje, te ponovno ifriranje (postupak deifriranja kriptografski je identine sloenosti kao i ifriranje). Implementacija 3DES algoritma, kako je prikazano na slici, podrava i koritenje standardnog DES algoritma koritenjem 56-bitnog kljua. U tom sluaju vrijedi da je K1=K2=K.

10

2.1.2.2.b DESX

DESX je inaica DES algoritma koju su izradili u RSA Data Security. DESX se koristi tehnikom "izbjeljivanja" (engl. whitening), koja se temelji na uvoenju dodatnih XOR operacija nad ulaznim i izlaznim podacima u algoritmu. Kao dodatak 56-bitnom kljuu, DESX koristi dodatni 64-bitni klju koji se koristi za "izbjeljivanje". Ta 64 bita koriste se za izvoenje XOR operacije s otvorenim tekstom prije prvog koraka algoritma. Takoer, dodatna 64-bita izvedena koritenjem jednosmjerne funkcije nad ukupnim 120-bitnim DESX kljuem koriste se za izvoenje jo jedne XOR operacije u posljednjem koraku. Koritenjem ove modifikacije DES postaje otporniji na sve vrste napada.

2.2. Asimetrina kriptografija


Ideja kriptografskog sustava s javnim kljuem prvi su put javno objavili W. Diffie i M. Hellman 1976. godine. Oni su u svom radu ponudili rjeenje razmjene simetrinih kriptografskih kljueva preko nesigurnog kanala. Dvije godine kasnije, Rivest, Shamir i Adleman obj avili su prvi praktino iskoristiv asimetrini kriptografski sustav nazvan RSA po prvim slovima njegovih autora. Nakon toga dolo je do znaajnog razvoja asimetrinih kriptografskih sustava i moderna kriptografija od tada kree u sasvim drugom smjeru. Moemo slobodno rei da su se pojavom asimetrine kriptografije otvorila vrata i za upotrebu digitalnog potpisa koji je zasnovan na asimetrinom algoritmu. Osnovna razlika izmeu simetrinih i asimetrinih kriptografskih sustava je u organizaciji kriptografskih kljueva. Dok su kod simetrinih kriptografskih sustava i poiljatelj i primatelj tienih poruka uvali kriptografski klju u tajnosti, i oba su istim simetrinim kljuem mogla i kriptirati i dekriptirati tiene poruke, kod asimetrinih kriptografskih sustava to nije sluaj. Naime, kriptografski klju za kriptiranje asimetrinim kriptografskim sustavom nije mogue koristiti i za dekriptiranje prethodno kriptirane poruke te ga stoga nije potrebno tititi. U tom smislu, problem sigurne dostave kriptografskog kljua za kriptiranje u ovom sluaju ne postoji, jer je istoga mogue distribuirati i nesigurnim komunikacijskim kanalima. Naime, kod asimetrinih kriptografskih sustava postoje dvije vrste kriptografskih kljueva tzv. javni i tajni kriptografski klju. Javni kriptografski klju koristimo iskljuivo za kriptiranje, a tajni za dekriptiranje. Javni i tajni kriptografski klju ine jedinstveni par, tj. svakom javnom kljuu pridodan je jedinstveni tajni klju. U praksi je vrlo teko, gotovo nemogue, pozn avanjem jednog od njih izraunati drugi. Korisnik koji eli tieno komunicirati izrauje za sebe par asimetrinih kriptografskih kljueva. Tajni kriptografski klju zadrava kod sebe te na taj nain osigurava da nitko drugi nema nikakve informacije o istome. Pripadajui javni kriptografski klju korisnik javno objavljuje svima, ili ga na neki drugi nain dostavlja osobama kojima eli omoguiti kriptiranje njemu namijenjenih poruka. Poruke kriptirane takvim javnim kriptografskim kljuem moe dekriptirati samo osoba koja posjeduje njegov komplementarni, odnosno tajni kriptografski klju. ak niti osoba koja je kriptirala poruku javnim kriptografskim kljuem nije u mogunosti istu dekriptirati. Veliina, odnosno duljina, kriptografskih kljueva kod asimetrinih kriptografskih sustava najee se kree od 256 bita za asimetrine

11

kriptografske sustave bazirane na eliptikim krivuljama do 2048 bita za asimetrine kriptografski sustavi temeljene na RSA algoritmu. S dananjim stupnjem razvoja informatike tehnologi je i procesorskim moima modernih raunala navedene duljine kriptografskih kljueva zadovoljavaju sigurnosne potrebe korisnika, bilo da se radi o privatnim osobama ili dravnim institucijama. Poveanjem broja matematikih operacija koje procesori mogu izvriti u jedinici vremena, kao i razvojem kvantnih raunala, trait e i poveanje duljine kljua, a kako bi se zadrao dosadanji nivo sigurnosti asimetrinih kriptografskih sustava. Kod simetrinih kriptografskih sustava za svaku tienu vezu (par korisn ika) treba izraditi i na siguran nain razmijeniti jedan kriptografski klju, dok je u sluaju asimetrinog kriptografskog sustava jednim parom kriptografskih kljueva omogueno kriptiranje poruka prema korisniku (osobi koja posjeduje tajni klju) od strane bilo koga tko posjeduje javni klju. Ako je predmetni javni kriptografski klju javno objavljen (npr. na internetu), onda je jednosmjerna sigurna komunikacija omoguena neogranienom broju osoba. Poveanjem broja korisnika simetrinog kriptografskog sustava koji ele neovisno jedni o drugima tieno komunicirati, potreban broj kriptografskih kljueva relativno brzo raste (za 5 korisnika koji ele sigurno komunicirati svaki sa svakim, uz uvjet da svaku tienu poruku preostali u grupi nisu u mogunosti dekriptirati, treba 10 kriptografskih kljueva; za 20 korisnika broj potrebnih kriptografskih kljueva penje se na ak 190). U sluaju asimetrinog kriptografskog sustava broj parova kljueva jednak je broju korisnika (za 5 korisnika, potrebno je 5 parova kljueva, a za 20 korisnika jednako tako 20 parova kljueva). Broj kriptografskih kljueva koje je potrebno razmijeniti izmeu korisnika koji ele tieno komunicirati asimetrinim kriptografskim sustavom bitno je smanjen u odnosu na simetrine kriptografske sustave. Lako je uoiti da upravljanje kriptografskim kljuevima kod simetrinih kriptografskih sustava predstavlja veliki problem. S druge strane njihova prednost je brzina kriptiranja koja je u odnosu na asimetrine kriptografske sustave od stotinu do tisuu puta vea. Poveanjem broja bitova kljua kod asimetrinih kriptografskih kljueva znatno se usporava vrijeme potrebno za postupak kriptiranja i dekriptiranja. Iz tog razloga je s asimetrinim kriptografskim sustavima nemogue izvesti linijsko ili on-line kriptiranje, odnosno kriptiranje podataka u realnom vremenu. Za to se jo uvijek koriste simetrini kriptografski sustavi koji se s takvim izazovima trenutno mogu vrlo uspjeno nositi.5 Jo neki algoritmi asimetrine kriptografije su : Diffie-Hellmann, DSS, Elgamal.
6

5 6

http://www.zsis.hr Uvod u kriptografiju, https://sigurnost.carnet.hr/assets/Dokumenti/Uvod-u-kriptografiju.pdf, str. 5

12

2.2.1. Algoritam RSA

RSA algoritam razvili su Ron Rivest, Adi Shamir i Leonard Adelman 1977. godine. RSA je prvi i ujedno i najire koriteni kriptosustav s javnim kljuem. Nazvan je po svojim izumiteljima (prva slova njihovih prezimena), a sigurnost mu lei u injenici da je faktorizacija velikih prirodnih brojeva na produkt dva prosta broja izuzetno teka. Algoritam se koristi u irokom rasponu proizvoda, platformi i postrojenja irom svijeta. Ima iroku upotrebu u operacijskim sustavima najveih svjetskih proizvoaa softwarea kao to su Microsoft, Apple, Sun i Novell. Osim u software-u, algoritam se koristi i u hardverskim proizvodima poput sigurnim telefonima, mrenim karticama i pametnim karticama.

2.2.1.1. Duina kljua te upravljanje istim

Algoritam se sastoji od tri koraka: generiranje kljua, kodiranje i dekodiranje. RSA ukljuuje javni i privatni klju. Javni klju je poznat svakom i koristi se za kodiranje poruke. Meutim, poruke koje su kodirane javnim kljuem moemo dekodirati samo sa privatnim kljuem. Kljuevi se generiraju u slijedeim koracima: 1) Tajno odaberemo dva razliita prosta broja p i q, od kojih svaki ima oko 100 znamenki. Obino se odaberu tako da jedan od njih ima nekoliko znamenki vie od drugog. Odabir se izvri tako da se, pomou nekog generatora sluajnih brojeva, generira dovoljno velik prirodan broj w, a zatim se koritenjem nekog testa za testiranje prostosti, trai prvi prosti broj koji je vei ili jednak w. Kako prostih brojeva manjih od w ima priblino k= lnw, to je za oekivati da emo trebati testirati O (lnw)1 brojeva dok ne naemo prvi prosti broj vei ili jednak w 2) Izraunamo n = pq i (n) = (p - 1) (q - 1) 3) Zatim odaberemo sluajnim odabirom broj e takav da je 105 < e < (n) i takav da je nzd(e; (n))=1 4) Izraunamo d takvo da je d e1 (mod (n)) Izraunavanje d vri se pomou proirenog Euklidovog algoritma koji za dane a i b rauna b-1 mod a. Napomenimo da i proireni Euklidov algoritam, kao i Euklidov algoritam za raunanje najveeg zajednikog djelitelja, trebaju O(ln n) operacija. Euklidov algoritam je vrlo efikasan za raunanje najveeg zajednikog djelitelja dva broja koji ne zahtijeva njihovu prethodnu faktorizaciju. Nalazi se u knjizi VII Euklidovih elemenata, iako se vjeruje da algoritam nije njegovo vlastito djelo, nego da je bio poznat vie od 200 godina ranije 5) Zadravamo p, q, d kao tajnu, a n i e postavljamo u javni direktorij 6) Primatelj svoju poruku x ifrira i dobiva ifrat y = x mod n koji alje nama. U sluaju da je x > n, x se razbija u blokove 7) Deifriramo y raunajui x = y mod n

13

2.2.1.2 Napadi na RSA

Kao to smo vidjeli, implementacija RSA je vrlo jednostavna. Analogno tome, i napad na RSA se moe jednostavno provesti ako je poznat eksponent d. Oigledno je da je jedan od napada na RSA faktorizacija od n = pq, jer ako napada faktorizira n, on moe jednostavno otkriti i (n) = (p 1) (q 1), te odrediti tajni eksponent d iz de 1 (mod (n)) pomou Euklidovog algoritma. Postavlja se pitanje, u emu je onda sigurnost RSA. Kako mi u RSA uzimamo p i q takve da svaki ima oko 100 znamenki, to na n = pq ima oko 200 znamenki, pa bi za njegovu faktorizaciju, primitivnom metodom dijeljenja sa svim prostim brojevima manjim od n, uz pomo raunala koje moe u sekundi izvriti 109 takvih dijeljenja, trebalo otprilike 1081 godina. Iako postoje mnogo bri algoritmi za faktorizaciju ipak su brojevi od preko 200 znamenki sigurni od takvih napada. Trenutno najbri algoritmi za faktorizaciju trebaju ( ) operacija, to znai da nije poznat

niti jedan polinomijalni algoritam za faktorizaciju. Treba jo napomenuti da postoje i sluajevi kada je n lake faktorizirati nego inae. To je kada su p i q jako blizu jedan drugoga, ili ako p 1 i q 1 imaju samo male proste faktore. Takve sluajeve treba izbjegavati pri izboru parametara za RSA kriptosustav. Kao to smo rekli, podaci n i e su javni, pa uz tajnost p, q i d, RSA je dosta siguran.

2.3. Hibridna kriptografija


Hibridna kriptografija podrazumijeva koritenje asimetrine i simetrine kriptografije pri emu se algoritmi asimetrine kriptografije koriste za sigurnu razmjenu kljueva simetrine kriptografije. Nakon razmjene kljua, daljnja se komunikacija kriptira jednim od algoritama simetrine kriptografije. Glavni razlog ovog kombiniranog koritenja kriptografskih algoritama je iskoritavanje prednosti svakog od njih, prvenstveno injenice da je simetrina kriptografija znatno bra od asimetrine, dok asimetrina omoguava jednostavnu uspostavu kriptirane komunikacije koritenjem javnog kljua.

14

3. Zakljuak
Postoji mnogo naina kriptiranja podataka, mi smo u ovom radu obradili neke najkoritenije algoritme zatite vanih poruka. Veina od ovih algoritama danas se moe probiti uz pomo raunala. Jedini koji se tu izdvaja je RSA kod kojeg tek upotrebom 1024 bitnog kljua dolazi do problema koji se niti uz pomo vie raunala odjednom ne moe tako lako probiti. Smatramo da simetrina kriptografija pripada prolosti, a budunost se sve vie okree prema asimetrinoj i hibridnoj kriptografiji. No kako napreduje kriptografija tako napreduju i raunala koja e uvijek drati korak sa novim algoritmima. Nae miljenje je da ne postoji u potpunosti siguran nain kriptiranja.

15

4. Literatura i internet izvori


1. http://www.zsis.hr 2. http://hrcak.srce.hr 3. Algoritam DES, http://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2003-0624.pdf, str. 4 4. Uvod u kriptografiju. https://sigurnost.carnet.hr/assets/Dokumenti/Uvod-u-kriptografiju.pdf, str. 4 5. Algoritam AES, http://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2003-0837.pdf, str. 4 6. http://www.rsa.com 7. www.cert.hr

16

You might also like