33
UNIVERZITET CRNE GORE Prirodno-matematički fakultet Podgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica, 2015.

Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Embed Size (px)

Citation preview

Page 1: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

UNIVERZITET CRNE GORE

Prirodno-matematički fakultet Podgorica

Marijana Jakić

Elgamal algoritam

Specijalistički rad

Podgorica, 2015.

Page 2: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

UNIVERZITET CRNE GORE

Prirodno-matematički fakultet Podgorica

Elgamal algoritam

Specijalistički rad

Kriptografija Marijana Jakić

Mentor: dr Vladimir Božović Matematika i računarske nauke

Podgorica, maj 2015.

Page 3: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Apstrakt

U znamenitom radu koji je objavljen 1985. godine, u IEEE Transactions on In-

formation Theory, Taher Elgamal je predstavio novi asimetrični algoritam enkripcije.

Elgamalov kriptografski algoritam je matematički zasnovan na protokolu koji su 1976.

godine predstavili Whitfield Diffie i Martin Hellman. Kao i Difi-Helman protokol, El-

gamal enkripcija počiva na kompleksnosti problema diskretnog logaritma. Elgamal

algoritam je ostvario značajan uticaj na razvoj kriptografije. Poslužio je kao model za

razvoj mnogih drugih algoritama, među kojima je i Pretty Good Privacy kriptosistem.

3

Page 4: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Abstract

In the famous work, which was published in 1985, in IEEE Transactions on In-

formation Theory, Taher Elgamal has introduced a new asymmetric encryption al-

gorithm. Elgamal cryptographic algorithm is mathematically based on the protocol

which was presented by Whitfield Diffie and Martin Hellman in 1976. As Diffie-

Hellman protocol, Elgamal encryption is based on the complexity of the problem of

discrete logarithm. Elgamal algorithm has achieved significant influence on the de-

velopment of cryptography. It served as a model for the development of many other

algorithms, including the Pretty Good Privacy cryptosystem.

4

Page 5: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Sadržaj

1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Osnovni pojmovi i terminologija u kriptografiji . . . . . . . . . . . 3

2.1 Kriptografija sa javnim ključem . . . . . . . . . . . . . . . . . . . . . 4

2.2 Simetrični kriptosistemi . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 Asimetrični kriptosistemi . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3.1 Postupak asimetrične enkripcije . . . . . . . . . . . . . . . . . 6

3 Problem diskretnog logaritma (DLP) . . . . . . . . . . . . . . . . . 7

3.1 Difi-Helman (DH) protokol . . . . . . . . . . . . . . . . . . . . . . . . 9

4 Elgamal algoritam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.1 Opis Elgamal algoritma . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2 Računarski aspekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3 Sigurnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.3.1 Pasivni napad . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.3.2 Aktivni napad . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.4 Prednosti i nedostaci Elgamal algoritma . . . . . . . . . . . . . . . . 17

5 Elgamal šema digitalnog potpisa . . . . . . . . . . . . . . . . . . . . 19

5.1 Školski primjer Elgamal digitalnog potpisa . . . . . . . . . . . . . . . 19

5.2 Računarski aspekt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5

Page 6: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

5.3 Sigurnost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

5.3.1 Računanje diskretnih logaritama . . . . . . . . . . . . . . . . 22

5.3.2 Ponovno korišćenje efemeralnog ključa . . . . . . . . . . . . . 23

5.3.3 Napad falsifikovanjem . . . . . . . . . . . . . . . . . . . . . . 24

6 Zaključak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Bibliografija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6

Page 7: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Glava 1

Uvod

Kriptografija se bavi izučavanjem i konstrukcijom metoda sigurne razmjene po-

ruka. Slobodnije rečeno, to je vještina pisanja i čitanja skrivenih poruka. Koriste se

standardni jezički simboli kojima je izmjenjeno značenje, tako da se poruka ne može

lako, ili ne može uopšte, pročitati bez odgovarajućeg ključa. Donedavno, usluge krip-

tografa i kriptoanalitičara naručivala je uglavnom država. Sa razvojem interneta i sve

veće upotrebe informacionih i telekomunikacionih tehnologija, krug korisnika takvih

usluga se proširio. Postalo je jasno da se veća pažnja mora posvetiti sigurnosti infor-

macionih sistema, zaštiti podataka od neovlašćenog pristupa, modifikacija ili drugih

zloupotreba, i da je neophodno stvoriti određene mehanizme koji će računarsku mrežu

učiniti sigurnom.

U ovom radu su definisani osnovni pojmovi i terminologija u kriptografiji čime je

napravljena dobra osnova da čitalac koji nema znanje iz oblasti kriptografije, može

razumjeti obrađene teme. Elgamal algoritam je asimetrični kriptografski algoritam

utemeljen na problemu diskretnog logaritma i u suštini predstavlja nadogradnju Difi-

Hellman protokola za uspostavljanje tajnog ključa.

Kako bi pojednostavili izražavanje i lakše formulisali različite scenarije koji se

javljaju u radu, uvešćemo jedan broj apstraktnih subjekata ili likova sa određenom

ulogom u procesu razmjene poruka. Glavni likovi u kriptografskom scenariju suAlisa,

1

Page 8: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Bob i Oskar. Alisa i Bob razmjenjuju tajne poruke. Podrazumjevaćemo da Alisa

šalje poruku, Bob je prima, dok je Oskar analitičar koji posmatra razmjenu poruka i

nastoji da ovlada makar dijelom njihovog sadržaja.

2

Page 9: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Glava 2

Osnovni pojmovi i terminologija u

kriptografiji

Kriptografija je naučna disciplina koja se bavi proučavanjem i konstrukcijom

metoda, uglavnom matematičkih, za zaštitu i očuvanje tajnosti podataka.

U Engleskoj literaturi termini plaintext ili cleartext odnose se na izvornu po-

ruku ili izvorni tekst koji je moguće pročitati i razumjeti bez primjene bilo kakvih

posebnih metoda. Ukoliko Alisa šalje Bobu određen tekst, onda se to naziva poruka.

Primjenom nekog algoritma kojim se izvorni tekst transformiše u neki oblik koji je

nečitljiv za trećeg subjekta u klasičnom kriptografskom scenariju, Oskara, dobija se

šifrovan ili kriptovan tekst (eng. ciphertext ili cipher).

Postupak pomoću koga se izvorni tekst transformiše u šifrovan tekst se naziva

enkripcija ili šifrovanje (eng. encryption). Enkripcija izvornog teksta se obavlja

pomoću određene procedure za enkripciju, odnosno kriptografskog algoritma.

Postupak koji omogućava da se od šifrovanog teksta dobije originalni, izvorni tekst

naziva se dekripcija ili dešifrovanje (eng.decryption). Dekripcija, dakle, predstavlja

suprotni postupak od enkripcije, a to je transformacija šifrovanih podataka u početni,

smisleni oblik.

Da bi se realizovala enkripcija i dekripcija potrebno je iskoristiti jedan poseban

podatak koji se obično čuva u tajnosti i zove se ključ.

3

Page 10: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Svaki kriptografski algoritam kao ulazne podatke ima izvorni tekst i ključ, a kao

izlaz daje kriptovani tekst.

Kriptosistem čine kriptografski algoritam, skup svih mogućih, izvornih i kripto-

vanih poruka, skup ili domen ključa.

2.1 Kriptografija sa javnim ključem

Algoritmi za enkripciju se mogu podjeliti u dvije grupe:

1. Tajni algoritmi: bezbjednost se zasniva na tajnosti algoritma.

2. Algoritmi zasnovani na ključu: bezbjednost se zasniva na tajnosti ključeva,

a ne na detaljima algoritma koji se može publikovati i analizirati. Ovdje je

algoritam poznat javnosti (Kerkohov princip), a ključ se čuva u tajnosti.

Danas se najvise koriste algoritmi za enkripciju zasnovani na ključu, a mogu se

klasifikovati u tri grupe:

1. Simetrični, kod kojih Alisa i Bob koriste jedan ključ;

2. Asimetrični, kod kojih Alisa i Bob koriste dva ključa;

3. Hibridni, kombinacija prethodna dva.

2.2 Simetrični kriptosistemi

Osnovna osobina simetričnih kriptosistema je da se za enkripciju i dekripciju po-

ruka koristi isti ključ. Jedan od osnovnih problema ovakvih kriptosistema je kako

uspostaviti zajednički ključ izmeču Alise i Boba. Dakle, potreban je neki oblik sigur-

nog komunikacionog kanala preko koga bi u nekoj, početnoj fazi, dva subjekta koja

4

Page 11: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

komuniciraju uspostavila zajednički ključ. Najpoznatiji algoritmi simetričnih kripto-

sistema koji se danas koriste su: DES, 3DES, DES-CBC, IDEA, RC5, RC6, AES i

drugi. [3]

2.3 Asimetrični kriptosistemi

Može se reći da su Whitefield Diffie i Martin Hellman dali ključan doprinos u

razvoju asimetrične kriptografije, kada su 1976. godine u svom radu "New Direction

in Cryptography" opisali ideju kriptografije koja se temelji na dva ključa, tajnom i

javnom ključu. Ova dvojica naučnika su potom napravili konkretan algoritam sigurne

razmjene ključeva, a 1977. godine Rivest, Šamir i Aldeman su realizovali i petentirali

čuveni RSA algoritam. U literaturi pojam asimetrične enkripcije se poistovjećuje sa

terminom asymmetric-key ili public-key enkripcijom.

Suština je da informacije koje su enkriptovane javnim ključem mogu se dekripto-

vati samo tajnim ključem, odnosno to može uraditi samo osoba koja je vlasnik tajnog

asimetričnog ključa. Oba ključa moraju biti povezana pomoću neke jednosmjerne

funkcije.

Algoritmi asimetričnih kriptosistema zasnivaju se na određenim svojstvima bro-

jeva. Pri enkripciji se izvorni tekst tretira kao niz prirodnih brojeva koji se odabranom

funkcijom enkripcije i ključem Ke preračunavaju u šifrovani. Funkcija mora biti ta-

kva da se iz šifrovanog teksta ne može odrediti izvorni tekst, čak i ako je poznat ključ

za enkripciju. Međutim, ukoliko se zna ključ dekripcije Kd moguće je lako računa-

nje izvornog teksta. Stoga, asimetrična enkripcija predstavlja kompleksan vid zaštite

podataka.

5

Page 12: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

2.3.1 Postupak asimetrične enkripcije

Alisa enkriptuje poruku, radi slanja Bobu, upotrebom Bobovog javnog ključa koji

je svima dostupan (čak i Oskaru). Alisa je javni ključ mogla dobiti putem imejla,

preuzeti ga sa veb-sajta i slično. Poznavanje javnog ključa ne pomaže Oskaru u

otkrivanju sadržaja poruke. Kao što smo naglasili, poruku može dekriptovati samo

Bob korišćenjem svog tajnog ključa. Na slici je prikazan tok asimetrične enkripcije

[1]:

Slika 2.1: Postupak asimetričnog kriptovanja

Osnovni nedostatak asimetrične enkripcije je sporost, što naročito dolazi do izra-

žaja u slučaju razmjene velikih količina podataka. Takođe, ostaje otvoreno pitanje

autentičnosti učesnika u protokolu, odnosno same poruke. Drugim riječima, kako Bob

može biti siguran da je poruku koju je primio, uistinu poslala Alisa.

Najpoznatiji asimetrični algoritmi enkripcije su: RSA, Elgamal, Cramer Shoup,

NTRUEncrypt...

6

Page 13: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Glava 3

Problem diskretnog logaritma (DLP)

Definicija 1. Logaritam realnog broja a > 0, za zadatu bazu 0 < b 6= 1, je realan

broj x kojim treba stepenovati bazu logaritma da bi dobili broj a, tj.

logb a = x⇔ bx = a

Posmatrajmo sad logb a = x, ali takav da su a, b, x ∈ Z, 0 < b 6= 1, a > 0.

Ovaj logaritam je definisan na skupu cijelih brojeva Z i on može, ali i ne mora da

postoji. Tako, na primjer log2 8 = 3, jer je 23 = 8, međutim log2 7 nema riješenja, jer

ne postoji cijeli broj kojim bi stepenovali 2 i dobili vrijednost 7. Neka su data dva

prirodna broja b i n takvi da je b < n. Uzmemo li proizvoljan prirodan broj a < n,

cilj nam je da nađemo broj x za koji važi:

bx ≡ a (mod n)

Tako, za b = 2, n = 25 i a = 7, imamo 2 ≡ 7 mod 25, pa je traženi broj jednak

5.

Definicija 2. Problem diskretnog logaritma: Neka je g primitivni korijen (ge-

nerator) multipilikativne grupe konačnog polja Zp (ostaci po modulu prostog broja p)

i neka je h ∈ Zp takav da h 6= 0. Problem diskretnog logaritma (DLP) je problem

pronalaženja stepena x tako da:

7

Page 14: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

gx ≡ h (mod p)

Taj broj x se naziva diskretni logaritam od h po osnovi g i označava sa logg h. [4]

Primjer: Za prost broj p = 56509, lako se provjerava da je g = 2 primitivni

korijen Zp. Neka je h = 38679. Jedan prost i očigledan način da riješimo dati DLP

gx ≡ h (mod p)

je da računamo sve stepene redom:

22, 23, 24, 25, 26, 27, . . . mod 56509

dok ne nađemo onaj koji daje 38679. Ovo je metod direktnog, iscrpljujućeg pre-

traživanja. Očigledno, ovo je vrlo nepraktičan metod, naročito ako se radi o veli-

kim brojevima koji učestvuju u problemu DLP. Koristeći računar, nalazimo da je

logp(h) = 11235.

Algoritmi za riješavanje DLP

Algoritmi za riješavanje problema diskretnog logaritma (DLP) mogu se svrstati u

jednu od tri kategorije:

1. Algoritmi koji rade u proizvoljnim grupama, odnosno oni koji ne koriste nijedno

specifično svojstvo grupe. Na primjer, to su: iscrpljujuće pretraživanje, Šanksov

(Shanks) algoritam, Polard ρ (Pollard-rho)...

2. Algoritmi koji dobro rade u grupama glatkog reda, odosno grupama čiji red nema

velike proste faktore. Na primjer, to je Silver-Polig-Helman (Silver-Pohlig-

Hellmanov) algoritam.

8

Page 15: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

3. Algoritmi koji se zasnivaju na metodama predstavljanja elemenata grupe kao

proizvoda elemenata iz relativno malih skupova, takozvanih faktorskih baza.

Klasični predstavnici ove kategorije su algoritmi koji su varijacije indeks kalkulus

(Index calculus) metode. [5]

3.1 Difi-Helman (DH) protokol

Kao što je već istaknuto, Difi i Helman su u svom znamenitom radu "New Direc-

tions in Cryptography", predložili algoritam za uspostavljanje javnog ključa između

Alise i Boba. Pod pretpostavkom da Oskar ne može da riješi DLP, protokol zadovo-

ljava osnovne sigurnosne kriterijume. Predstavljamo školsku verziju ovog protokola

koja ne obuhvata neke važne sigurnosne aspekte neophodne za praktičnu upotrebu.

Na početku izvršavanja protokola, Alisa i Bob uspostavljaju javno prost broj p,

kao i α, primitivni korijen polja Zp.

Slika 3.1: Difi Helman protokol

Metodom slučajnog izbora broja Alisa određuje x iz skupa brojeva {1, 2, . . . , p−1}.

9

Page 16: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Potom, Alisa, preko nezaštićenog kanala, šalje Bobu :

X = αx (mod p).

Kada primi poruku i sazna X, α i p, Bob takođe na osnovu slučajnog izbora

određuje y ∈ {1, 2, . . . , p− 1}, a potom računa broj Y pomoću formule:

Y = αy (mod p).

Ovako dobijeni broj šalje Alisi. Istovremeno na osnovu podataka koje je dobio od

Alise i broja y (koga je sam generisao) računa vrijednost ključa K po formuli:

K = Y x (mod p).

Kako je Xy = αxy = Y x (mod p) to je zajednički tajni ključ K = αxy (mod p).

Na ovaj način Alisa i Bob dolaze do zajedničkog ključa, koga nadalje koriste za en-

kripciju odnosno dekripciju međusobnih poruka u nekom simetričnom kripto sistemu

koji odaberu.

Ukoliko Oskar želi da dođe u posjed zajedničkog tajnog ključa, znajući X, α i p,

prinuđen je da riješava diskretni logaritam. Dakle, sigurnost DH protokola usposta-

vljanja zajedničkog ključa je zasnovana na težini riješavanja DLP. Naročito, u slučaju

velikih prostih brojeva [3], problem postaje dovoljno težak i za savremena računska

sredstva i algoritme.

Na osnovu ovog protokola, po ugledu na DLP možemo definisati i poseban oblik

problema, tako zvani Difi-Helman problem (DHP). Naime, DHP se sastoji u problemu

nalaženja αst (mod p) ako su dati αs i αt (mod p).

10

Page 17: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Glava 4

Elgamal algoritam

U ovom poglavlju izlagaćemo osnovnu, školsku verziju Elgamal kriptografskog si-

stema. Kao što je ranije naglašeno, Elgamal enkripcija se u izvjesnom smislu može

posmatrati kao ekstenzija DH protokola. Elgamal algoritam ćemo posmatrati u multi-

plikativnoj grupi Z∗p, gdje je p prost broj, iako se može analogno primjeniti i u drugim

cikličnim grupama. Na primjer, u multiplikativnoj grupi Galoa polja GF (pm).

Svakako, suština Elgamal algoritma, odnosno njegovo razumijevanje je olakšano

nakon upoznavanja sa DH protokolom.

4.1 Opis Elgamal algoritma

Razlikujemo tri faze u Elgamal algoritmu.

Formiranje javnog i tajnog ključa: Bob definiše prost broj p, primitivni ko-

rijen α multiplikativne grupe Z∗p kao javni ključ. Potom bira na slučajan način broj

d iz (2, ..., p − 1) koji čuva kao tajni, privatan ključ. Zatim, Bob računa vrijednost

αd (mod p) i to dodaje prethodnom skupu javnih podataka u okviru javnog ključa.

Dakle, u Elgamal algoritmu, sa Bobove strane, imamo:

Bobov tajni ključ: d.

Bobov javni ključ: p, α, β = αd (mod p).

11

Page 18: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Enkripcija:

Alisa bira slučajan broj i ∈ (2, . . . , p − 2) i računa dvije vrijednosti, takozvani

efemeralni ključ Ke i tajni ključ Km:

Ke = αi (mod p)

Km = βi (mod p)

Zatim, Alisa maskira, odnosno enkriptuje poruku x ∈ Z∗p na sledeći način:

y ≡ x ·Km (mod p)

Na kraju, Alisa šalje Bobu šifrovan tekst u obliku uređenog para (Ke, y), koji se

sastoji iz dva dijela: efemeralnog ključa i enkriptovane poruke.

Dekripcija: Koristeći privatni ključ, Bob računa:

Km ≡ Kde (mod p)

Dakle, preostalo je da Bob nađe inverz odKm po modulu p i pomnoži sa y, drugom

komponentom uređenog para koji je dobio. Znači, Bobova dekripcije se sastoji u

sledećem:

x ≡ y ·K−1m (mod p)

Očigledno, faza enkripcije i faza dekripcije su pravolinijski. Nešto manje jasno

je kako Bob generiše primitivni korijen α po modulu prostog broja p. Naime, ne

postoji polinomijalni algoritam za generisanje primitivnih korijena po modulu datog

prostog broja. Zapravo, ne postoji ni efektivan algoritam koji provjerava da li je

dati broj h ∈ Z∗p primitivan korijen multiplikativne grupe. Iako ne postoji efektivan

algoritam za generisanje Elgamalovog javnog ključa, u praksi se to prevazilazi na

različite načine. [7]

12

Page 19: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Slika 4.1: Protokol Elgamal enkripcije

Bitno je primjetiti da Elgamal ima i dijelom vjerovatnosni karakter. Enkripcija

dvije identične poruke x1 i x2, gdje su x1, x2 ∈ Z∗p koristeći isti javni ključ (sa veoma

velikom vjerovatnoćom) su dva različita šifrovana teksta y1 6= y2. To je zato što se

Alisin izbor eksponenta, i za efemeralni ključ bira slučajno, i ∈ {2, 3, . . . , p− 2} za

svaku pojedinačnu enkripciju.

Slika 4.2: Primjer sa malim brojevima

13

Page 20: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Jedan od ozbiljnih nedostataka Elgamal algoritma je u tome što je veličina en-

kriptovane poruke dva puta veća od osnovne, što značajno utiče na brzinu i efikasnost

ovog algoritma.

4.2 Računarski aspekt

Generisanje ključa: Kako se sigurnost Elgamala bazira na problemu diskretnog

logaritma, p mora da ima dužinu najmanje 1024 bita. Tajni ključ se generiše pomoću

generatora slučajnih brojeva. Javni ključ se testira zahtjevnim stepenovanjem za koji

se koristi algoritam brzog stepenovanja.

Enkripcija: U okviru postupka enkripcije, potrebno je izvršiti jedno stepenova-

nje i jedno množenje po modulu kako bi se izračunao efemeralni ključ i tajni ključ,

kao i za samu enkripciju poruke. Svi pomenuti operanti imaju dužinu log2 p bita.

Bitno je primjetiti da su stepenovanja nezavisna od šifrovanog teksta. Otud, u ne-

kim primjenama one se mogu izvršiti u razdobljima niske računarske opterećenosti,

uskladištiti i iskoristiti kada su potrebni za stvarnu enkripciju. Ovo može biti velika

prednost u praksi.

Dekripcija: Glavni korak u dekripciji je prvo stepenovanje Km = Kde (mod p)

koristeći algoritam brzog stepenovanja i jedno množenje., zatim slijedi inverzija od

Km koja se radi pomoću proširenog Euklidovog algoritma. Međutim postoji prečica

koristeći Malu Fermaovu teoremu koja kombinuje dva koraka u jedan. Na osnovu ove

14

Page 21: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

teoreme slijedi:

K−1m ≡ (Kd

e )−1 (mod p)

≡ (Kde )

−1Kp−1e (mod p)

≡ Kp−d−1e (mod p)

Poslednja ekvivalencija omogućava nam da izračunamo inverz tajnog ključa po-

moću jednog stepenovanja sa p − d − 1. Nakon toga ide jedno množenje po modulu

kako bi izračunali x ≡ y ·K−1m (mod p). Dakle dekripcija zahtjeva jedno izvršavanje

algoritma brzog stepenovanja i jedno množenje, nakon čega slijedi jedno množenje po

modulu kako bi dobili izvornu poruku.

4.3 Sigurnost

Kako bi procijenili sigurnost Elgamal algoritma bitno je napraviti razliku između

pasivnih napada (prisluškivanje) i aktivnih napada koji omogućavaju Oskaru da

eventualno generiše nove i mijenja postojeće poruke.

4.3.1 Pasivni napad

Sigurnost Elgamal algoritma u odnosu na pasivan napad, dobijanja poruke x na

osnovu javno dostupnih informacija p, α, β = αd , Ke = αi i y = x · βi bazira se na

kompleksnosti DHP problema. U slučaju da Oskar zna da riješi DHP, onda će iz Ke

i β lako dobiti Km nakon čega mu je otvoren put do dekripcije.

Trenutno, ne postoji drugi metod za riješavanje DHP problema sem direktnog

računanja diskretnih logoritama. Ako pretpostavimo da Oskar ima moć da riješi

15

Page 22: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

DLP, onda je put do dekripcije bilo koje poruke vrlo jednostavan.

Da nađe x, tada bi otkrio Bobov tajni ključ d:

d = logα β (mod p),

Oskar može da dekriptuje šifrovan tekst radeći isto što radi i Bob:

x ≡ y · (Kde )

−1 (mod p)

Kao alternativu, umjesto računanja Bobovog tajnog stepena d, Oskar može po-

kušati da otkrije Alisin slučajni stepen i, u efemeralnom ključu:

i = logα k (mod p)

U ovom slučaju, Oskar će dešifrovati poruku kao:

x ≡ y(βi)−1 (mod p)

Kao i kod DH protokola onaj koji postavlja javne parametre sistema mora biti

obazriv da ne upadne u zamku napada male podgrupe. Naime, potrebno je obezbijediti

da element α bude generator velike grupe, jer samo tako DLP ima potrebnu snagu.

4.3.2 Aktivni napad

Kao i kod bilo kog asimetričnog algoritma moramo pretpostaviti da je javni ključ

autentičan, odnosno da pripada upravo subjektu sa kojim želimo da razmjenjujemo

poruke. To znači da enkripciona strana, u našem slučaju Alisa, je uvjerena da javni

ključ koji je preuzela sa veb sajta zaista pripada Bobu. Ako Oskar uspije da ubijedi

Alisu da je njegov ključ u stvari Bobov, može lako da napadne algoritam. To je opšti

problem autentifikacije koji, kao što smo rekli, nije karaktističan samo za Elgamal

već ima opšti kriptografski značaj.

16

Page 23: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Još jedna potencijalna slabost Elgamal enkripcije koju Oskar može iskoristiti je

ukoliko Alisa koristi više puta isti efemeralni ključ.

Pretpostavimo da Alisa koristi isti eksponent i za enkripciju dvije uzastopne po-

ruke x1 i x2. U tom slučaju dva tajna ključa bi bila ista, odnosno Km = βi, kao i dva

efemeralna ključa. Alisa šalje dva šifrovana teksta (Ke, y1) i (Ke, y2) preko neosigura-

nog kanala. Ako Oskar dođe u posjed dekripcije jedne od poslatih poruka, na primjer

poruke x1 koja odgovara y1, onda može i da izračuna tajni ključ kao Km ≡ y1 · x−11

(mod p). Jasno, pomoću ovog može da dekriptuje x2 koji odgovara y2. Kao posledica

ovog napada očigledna je potreba za stalnom promjenom efemeralnog ključa.

4.4 Prednosti i nedostaci Elgamal algoritma

Ukratko, moglo bi se reći da Elgamal dijeli prednosti ostalih asimetričnih kripto

sistema ali i njihove nedostatke.

Na primjer, Elgamal algoritam, kao i drugi asimetrični kriptosistemi, može biti

efikasan u pogledu smanjenja ukupnog broja potrebnih ključeva u nekom višeentitet-

skom protokolu. Na primjer, u sistemu u kome komunicira milion korisnika, ako se

koristi asimetrični kripto sistem, potrebno je samo 2 miliona ključeva, dok bi u slučaju

korišćenja simetričnog kripto sistema bilo potrebno bar 500 milijardi ključeva.

Najveći nedostatak Elgamal algoritma je kompleksnost različitih izračunavanja to-

kom algoritma, potom koriščenje ogromnih ključeva tokom rada, što zahtjeva mnogo

vremena i računarskih kapaciteta. Posebno, nepostojanje efikasnog algoritma za tra-

ženje generatora multiplikativne grupe Zp, po modulu prostog broja p, predstavlja

ozbiljan problem. Takođe, enkripcija Elgamal algoritmom množi sa faktorom 2 ve-

ličinu izvornih poruka, što rad sa velikim izvornim podacima čini vrlo zahtjevnim.

Može se reći da je algoritam efikasan samo u radu sa kratkim porukama.

17

Page 24: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Kao što smo naglasili, nedostatak ovog kripto algoritma je i taj što se komunikacija

između dvije strane, mora u određenom smislu autentifikovati. Ovo je, kao što smo

naveli, opšti problem u asimetričnoj enkripciji, a ne isključiva specifičnost Elgamala.

18

Page 25: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Glava 5

Elgamal šema digitalnog potpisa

Iako nosi isto ime kao originalni kripto sistem, šema Elgamal digitalnog potpisa

se prilično razlikuje od Elgamal algoritma enkripcije.

5.1 Školski primjer Elgamal digitalnog potpisa

Generisanje ključeva: Počinjemo odabirom velikog prostog broja p i konstru-

isanjem problema diskretnog logaritma. Biramo i primitivni elemenat α ∈ Z∗p kao i

slučajan broj d iz skupa {2, 3, . . . , p − 2}. Zatim računamo β = αd (mod p). Time

smo formirali javni ključ kpub = (p, α, β) i privatni kluč kpr = d.

Potpis i verifikacija: Korišćenjem privatnog ključa i parametara javnog kluča

računa se potpis za poruku x:

sigkpr(x,Ke) = (r, s)

Primjetimo da se potpis sastoji od dva cijela broja r i s. Potpisivanje se sastoji

iz dva glavna koraka:

1. Slučajnog odabira vrijednosti Ke, koja u stvari predstavlja privatni efemeralni

ključ

2. Računanja stvarnog potpisa za poruku x

19

Page 26: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Generisanje Elgamal potpisa

1. Izaberi slučajan efemeralni ključ Ke ∈ {0, 1, 2, . . . , p − 2} za koje važi da je

nzd(Ke, p− 1) = 1

2. Izračunaj parametre potpisa:

r ≡ αKe (mod p)

s ≡ (x− d · r)K−1e (mod p)− 1

Na prijemnoj strani , potpis je potrebno verifikovati koriščenjem javnog ključa,

potpisa i poruke.

Verifikacija Elgamal potpisa

1. Izračunaj vrijednost:

t ≡ βr · rs (mod p)

2. Verifikacija slijedi iz:

t ≡ αx (mod p) −→ potpis validan

t 6≡ αx (mod p) −→ potpis nevalidan

Ukratko, onaj koji verifikuje poruku prihvata potpis (r, s) samo ako je relacija

βr ·rs ≡ αx (mod p) zadovoljena. U protivnom, verifikacija nije uspjela. Dokazaćemo

korektnost Elgamal šeme potpisivanja.

20

Page 27: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Dokaz: Specijalno, pokazaćemo da proces verifikacije vraća - potpis je validan,

ako onaj koji verifikuje poruku koristi ispravni javni ključ i ispravnu poruku, i ako

su parametri potpisa (r, s) odabrani kao što je navedeno. Počinjemo sa jednačinom

verifikacije:

βr · rs ≡ (αd)r(αKe)s (mod p)

≡ αdr+Kse (mod p)

Potpis treba smatrati validnim ako je ovaj izraz jednak αx:

αx ≡ αdr+Kse (mod p)

Posljednja relacija važi ako su eksponenti na obje strane izraza jednaki u modulu p−1

aritmetici:

x ≡ dr +Kse (mod p− 1)

Odakle dobijamo formiranje parametara potpisa kako slijedi:

s ≡ (x− d · r) ·K−1e (mod p− 1)

Uslov da je nzd(Ke, p− 1) = 1 potreban je zato što je potrebno računanje inverznog

elementa efemeralnog ključa po modulu p− 1 kada računamo x.

5.2 Računarski aspekt

Važno je primjetiti da je postupak generisanja ključeva identičan kao i kod Elgamal

enkripcije pa zbog toga p mora da zadovoljava odredjene uslove. Specijalno, mora

biti dužine najmanje 1024 bita. Prost broj se može generisati korišćenjem algoritma

21

Page 28: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

za traženje prostih brojeva. Javni ključ se generiše slučajno, a za stepenovanje javnog

ključa može se koristiti algoritam brzog stepenovanja.

Potpis se sastoji od para (r, s). Oboje imaju dužinu u bitima kao i broj p, tako da

je ukupna dužina paketa (x, (r, s)) trostruka dužina poruke x. Računanje broja r za-

htjeva podizanje broja α na neki stepen po modulu p, što se može postići korišćenjem

algoritma brzog stepenovanja. Glavna operacija prilikom računanja broja s je traže-

nje inverza od Ke. Ovo se može postići korišćenjem proširenog Euklidovog algoritma.

Ubrzanje algoritma je moguće uvođenjem preprocesiranja. Potpisnik može unaprijed

da generiše efemeralne ključeve Ke i r vrijednosti, i da sačuva ove podatke. Kada

treba potpisati poruku, oni se mogu preuzeti i koristiti za računanje vrijednosti s.

Onaj koji prima poruku i treba da je verifikuje izvršava dvije operacije stepenovanja

korišćenjem algoritma brzog stepenovanja i jedno množenje.

5.3 Sigurnost

Prvo, moramo biti sigurni da onaj koji verifikuje poruku ima ispravan javni ključ.

5.3.1 Računanje diskretnih logaritama

Sigurnost šeme potpisivanja počiva na težini problema diskretnog logaritma (DLP).

Ako je Oskar sposoban da računa diskretne logaritme, on može izračunati privatni

ključ d iz β kao i efemeralni ključ Ke iz r. Sa ovim informacijama, on može potpisati

proizvoljne poruke u tuđe ime. Otuda Elgamal parametri moraju biti izabrani da je

problem diskretnog logaritma težak. Da bi problem određivanja diskretnog logaritma

bio težak broj p mora bti najmanje 1024 bita.

22

Page 29: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

5.3.2 Ponovno korišćenje efemeralnog ključa

Ako potpisnik poruke više puta koristi isti efemeralni ključ Ke, napadač lako može

izračunati privatni ključ d. Ovo vodi do potpunog razbijanja sistema. Evo kako napad

funkcioniše.

Oskar posmatra dva digitalna potpisa i poruke oblika (x, (r, s)). Ako dvije poruke

x1 i x2 imaju isti efemeralni ključ Ke, Oskar lako može to da primjeti, jer su dvije r

vrijednosti iste pošto se računaju na slijedeći način:

r = r1 = r2 ≡ αKe (mod p)

S vrijednosti su različite, pa Oskar u stvari dobija dvije jednačine:

s1 ≡ (x1 − d · r)K−1e (mod p− 1)

s2 ≡ (x2 − d · r)K−1e (mod p− 1)

Ovo je sistem jednačina sa dvije nepoznate:

1. d - što je i Bobov privatni ključ

2. Ke - efemeralni ključ

Ako obje jednačine pomnožimo sa Ke ovo postaje linearni sistem jednačina koji se

lako riješava. Oskar jednostavno oduzima drugu jednačinu od prve, i dobija:

s1 − s2 ≡ (x1 − x2)K−1e (mod p− 1)

Iz prethodne jednačine možemo dobiti efemeralni ključ po formuli:

Ke ≡ x1−x2s1−s2 (mod p− 1)

Ako je nzd(s1 − s2, p − 1) 6= 1 jednačina ima višestruko riješenje za Ke, i Oskar

mora da provjeri koje je ispravno. U svakom slučaju, korišćenjem Ke, Oskar takođe

može izračunati privatni ključ d iz jedne od jednačina sistema, na primjer po formuli:

23

Page 30: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

d ≡ x1−s1Ke

r(mod p− 1)

Sa poznavanjem privatnog ključa d i parametara javnog ključa, Oskar sada slo-

bodno može potpisati bilo koji dokument u Bobovo ime. U cilju izbjegavanja napada,

za svako potpisivanje bilo bi poželjno birati efemeralne ključeve koji se slučajno ge-

nerišu.

5.3.3 Napad falsifikovanjem

Moguće je da napadač generiše validan potpis za slučajnu poruku x. Napadač

Oskar glumi Boba, tj. Oskar tvrdi pred Alisom da je on u stvari Bob. Napad se

odigrava na sljedeći način [8]:

Slika 5.1: Napad falsifikovanjem na Elgamal digitalni potpis

Verifikacija vodi do validnog potpisa zato što važi:

24

Page 31: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

t ≡ βr · rs (mod p)

≡ αdr · rs (mod p)

≡ αdr · α(i+dj)s (mod p)

≡ αdr · α(i+dj)(−rj−1) (mod p)

≡ αdr−dr · α−rij−1

(mod p)

≡ αsi (mod p)

Pošto je poruka konstruisana kao x ≡ si (mod p), posljednji izraz je jednak:

αsi ≡ αx (mod p)

što je i upravo uslov koji Alisa provjerava za prihvatanje potpisa kao validnog.

Napadač u koraku 3. računa poruku x, čije značenje ne može da kontroliše. Zbog

toga, Oskar može praviti validne potpise samo za pseudoslučajne poruke.

Napad nije moguće izvesti ako se poruka hešira, što je u praksi veoma čest slučaj.

Umjesto da se poruka koristi za računanje potpisa, prije potpisivanja nad porukom

se primjenjuje heš funkcija, odnosno jednačina potpisivanja postaje:

s ≡ (h(x)− d · r)K−1e (mod p− 1)

25

Page 32: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Glava 6

Zaključak

Elgamalov algoritam je asimetrični kripto sistem koji se u ogromnoj mjeri oslanja

na ideju Difi Helman protokola, a sigurnost zasniva na kompleksnosti DLP i DHP

problema. U principu, moglo bi se reći da Elgamal kao kripto sistem dijeli prednosti

ostalih asimetričnih kripto sistema ali i njihove nedostatke.

Danas se Elgamal algoritam koristi u mnogim kriptografskim proizvodima, kao

standard za digitalni potpis u softveru otvorenog koda GnuPG, u okviru PGP algo-

ritma za zaštitu podataka.

Što se tiče efikasnosti enkripcije, Elgamal algoritam posjeduje karakterističan od-

nos dužine izvorne poruke prema dužini enkriptovane poruke 1:2, što ga čini prilično

neefikasnim. Sa druge strane, izvorna poruka se može transformisati u više oblika en-

kriptovanog teksta, zavisno od odabira efemeralnog ključa, dajući mu vjerovatnosnu

dimenziju, što mu značajno uvećava upotrebnu vrijednost u pojedinim aplikacijama.

Elgamal je, od svoje pojave 1985. godine, ostvario značajnu, može se reći istorijsku

ulogu u kriptografiju, stvarajući okvir za razvoj mnogih ideja i konkretnih kripto

sistema koji su i danas u širokoj upotrebi.

26

Page 33: Marijana Jakić - Владимир Божовић · PDF fileUNIVERZITETCRNEGORE Prirodno-matematičkifakultetPodgorica Marijana Jakić Elgamal algoritam Specijalistički rad Podgorica,2015

Bibliografija

[1] Z.Ž.Avramović, Dražen Petrović, Kriptografija, simetrični i asimetrični algoritmi,

Banja Luka, maj 2008

[2] Man Young Rhee, Internet Security Cryptographic principles, algorithms and pro-

tocols, Wiltshire, 2003

[3] William Stalings, Cryptography and Network Security Principles and Practices,

London, nov 2005

[4] A.J. McCurley, The Discrite Logarithm Problem, Proceedings in Applied Cryp-

tography, Providence, 1990

[5] A. Menezes, P. Van Oorschot, S. Vanstone, Handbook of Applied Cryptography,

Boca Raton, 1996

[6] Christof Paar Jan Pelzl, Understanding Cryptography, Springer-Verlag Berlin He-

idelberg, 2010

[7] Slobodan Vujošević, Teorija brojeva i kriptografija

[8] Darinka Vučinić, Digitalni potpis-specijalistički rad, Podgorica, 2010

27