38
UNIVERZA V LJUBLJANI PEDAGO ˇ SKA FAKULTETA TEJA ˇ SAVS RSA KRIPTIRANJE DIPLOMSKO DELO LJUBLJANA, 2013

UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

UNIVERZA V LJUBLJANI

PEDAGOSKA FAKULTETA

TEJA SAVS

RSA KRIPTIRANJE

DIPLOMSKO DELO

LJUBLJANA, 2013

Page 2: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

UNIVERZA V LJUBLJANI

PEDAGOSKA FAKULTETAStudijski program: DVOPREDMETNI UCITELJ

Smer: MATEMATIKA IN RACUNALNISTVO

TEJA SAVS

Mentor: doc. dr. PRIMOZ SPARL

RSA KRIPTIRANJE

DIPLOMSKO DELO

LJUBLJANA, 2013

Page 3: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Povzetek

RSA kriptiranje je algoritem, ki se danes uporablja za zagotavljanje zasebnosti in verodostoj-

nosti digitalnih podatkov. Uporablja se ga za razne namene, najveckrat je uporabljen pri elek-

tronskih placilnih sistemih, torej tam, kjer je varnost podatkov se posebej pomembna. Varnost

tega algoritma temelji na domnevni tezavnosti problema faktorizacije velikih stevil. RSA krip-

tiranje spada med asimetricne kriptosisteme, za katere je znacilno, da se kljuca za desifriranje

sifriranega sporocila ne da zlahka dolociti na podlagi kljuca za sifriranje. Pri tej vrsti sifriranja

ima vsak udelezenec komunikacije dva kljuca, javnega in zasebnega. Zasebni kljuc zadrzi zase

in ga uporabi za desifriranje sporocil, medtem ko je javni kljuc dostopen vsem. Z javno ob-

javo javnega kljuca poskrbimo, da nam lahko kdorkoli poslje sporocilo, saj ga z nasim javnim

kljucem sifrira, desifriramo pa ga lahko le mi, saj smo edini, ki poznamo nas zasebni kljuc.

Zato je taksno sifriranje in posiljanje sporocil varno.

Kljucne besede:

• kriptografija,

• RSA kriptiranje,

• asimetricni kriptosistemi.

MSC (2010) klasifikacija: 94A60, 14G50, 68P25.

Page 4: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA
Page 5: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Abstract

RSA encryption is an algorithm used to provide privacy and authenticity of digital data. It is

used for various purposes, mainly for electronic payment systems where data security is par-

ticularly important. The algorithm safety is based on the alleged difficulty of the problem of

factoring large numbers. RSA encryption is an asymmetric cryptosystem, meaning that the

decryption key cannot be easily determined from the encryption key. In this type of crypto-

systems, each participant has two keys, a public and a private one. The private key is kept

secret and is used to decrypt the message, while the public key is accessible to all. This enables

anyone to be able to send messages to us that only we can decrypt. Namely, we are the only

ones that have the private decryption key. This makes this cryptosystem safe and reliable.

Key words:

• cryptography,

• RSA encryption,

• asymmetric cryptosystems.

MSC (2010) classification: 94A60, 14G50, 68P25.

Page 6: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA
Page 7: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Kazalo

Povzetek

Abstract

1 UVOD 1

2 OSNOVE TEORIJE STEVIL 3

2.1 DELJIVOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 PRASTEVILA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.3 EULERJEVA FUNKCIJA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.4 KONGRUENCA STEVIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5 FERMATOV IN EULERJEV IZREK . . . . . . . . . . . . . . . . . . . . . . . . 8

3 KRIPTOGRAFIJA 9

3.1 OSNOVNI POJMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 ZGODOVINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.3 SIMETRICNI IN ASIMETRICNI KRIPTOSISTEMI . . . . . . . . . . . . . . . 15

4 RSA KRIPTIRANJE 17

4.1 UVOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2 RSA ALGORITEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 SKLEP 27

Page 8: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA
Page 9: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Poglavje 1

UVOD

Komunikacija in izmenjava podatkov ne poteka le med ljudmi, danes celo vecinoma poteka med

racunalniki. Obicajno se niti ne zavedamo, kako hitro izdamo svoje osebne podatke in niti po-

mislimo ne, da bi lahko kdo nase podatke prestregel. V resnici pa je v danasnjem casu sifriranje

podatkov se posebej potrebno, saj jih posiljamo prek razlicnih medijev komunikacije, kjer lahko

sporocilo prestreze kdorkoli. Pomislimo le na elektronsko bancnistvo in spletne transakcije, kjer

imajo lahko zlorabe hude posledice. Sistemi, preko katerih lahko dve osebi komunicirata tako,

da si posiljata sporocila, obicajno temeljijo na nekem kriptosistemu, ki sporocilo sifrirajo in

ga varno pripeljejo do prejemnika. To, da sporocilo varno prispe do prejemnika, pomeni, da

sporocilo lahko desifrira le prejemnik, ne pa ze morebitni prisluskovalec na poti posiljanja od na-

slovnika do prejemnika. Ze v preteklosti so se posluzevali razlicnih metod sifriranja sporocil, od

zamenjav crk, do mehanskih in nazadnje tudi strojnih pripomockov. Ze od nekdaj je sifriranje

sporocil predstavljajo problem tako za tiste, ki razvijajo razlicne algoritme sifriranja, kot tudi

za tiste, ki napadajo sifrirana sporocila in jih skusajo razvozlati.

Danes se za sifriranje podatkov med drugim uporablja tudi RSA kriptiranje, ki je trenutno se

zanesljivo, saj temelji na matematicno zahtevnem problemu, ki ga zaenkrat ni mogoce resiti v

razumnem casu niti s pomocja racunalnika. Obicajno se RSA algoritem uporablja za izmenjavo

kljucev za druge algoritme, ki so mnogo hitrejsi.

V diplomskem delu je na kratko predstavljena zgodovina sifriranja, nato pa se posvetimo RSA

kriptiranju in njegovemu matematicnemu ozadju. Predstavljen je nacin delovanja RSA algo-

ritma, uporaba, varnost in morebitne sibke tocke implementacije omenjenega algoritma.

1

Page 10: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

2 POGLAVJE 1. UVOD

Page 11: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Poglavje 2

OSNOVE TEORIJE STEVIL

Pri nekaterih sodobnih kriptografskih sistemih veliko vlogo igra teorija stevil. Tako je tudi

pri RSA kriptiranju. V tem poglavju so opisani najnujnejsi pojmi in rezultati, ki omogocajo

boljse razumevanje nadaljevanja, v katerem je opisano RSA kriptiranje. Dokaze vecine izrekov

in trditev izpuscamo. Studentje prvostopenjskega studijskega programa Dvopredmetni ucitelj

na vezavi z matematiko jih spoznajo pri predmetu Abstraktna algebra, sicer pa jih lahko bralec

najde v knjigah [3], [9] in [13] po katerih je povzeta vsebina tega poglavja.

2.1 DELJIVOST

Celo stevilo a je deljivo s celim stevilom b, ce se da a enolicno zapisati kot produkt stevila b

in celega stevila k:

a = k · b. (2.1)

V tem primeru se stevilo b imenuje delitelj stevila a, medtem ko stevilu a recemo veckratnik

stevila b. Prav tako je tudi k delitelj stevila a, a pa veckratnik stevila k. Namesto a je deljivo

z b, pravimo tudi, da b deli a, kar zapisemo kot b | a. Ce enacbe (2.1) ni mogoce izpolniti s

celim stevilom k, potem a ni deljiv z b in pisemo b - a.

Spodnji izrek imenujemo lema o deljenju. Poglejmo kaj nam pove.

Izrek 1. Ce je b od nic razlicno celo stevilo, se da vsako celo stevilo a enolicno izraziti kot

vsota veckratnika stevila b in nenegativnega celega stevila r, ki je manjse od |b|. Torej:

a = kb + r, 0 ≤ r < |b|.

Stevilo a je deljenec, b delitelj, k je kvocient ali kolicnik, r pa ostanek.

3

Page 12: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

4 POGLAVJE 2. OSNOVE TEORIJE STEVIL

Dokaz. Dokaz bralec najde na strani 13 v [3]. �

Pri poljubnem pozitivnem stevilu b je za ostanek mogocih b vrednosti, in sicer 0, 1, 2, ..., b− 1.

Naj bosta a, b ∈ Z in naj bo d pozitivno celo stevilo. Ce d | a in d | b, potem pravimo, da

je d skupni delitelj stevil a in b. Ce je vsaj eno od stevil a in b razlicno od nic, je skupnih

deliteljev koncno mnogo. Zato je med njimi eden najvecji. Tega imenujemo najvecji skupni

delitelj stevil a in b in ga oznacimo z D(a, b). Ce velja D(a, b) = 1, potem pravimo, da sta si

stevili a in b tuji.

Spodnji izrek nam pove, da je najvecji skupni delitelj dveh stevil linearna kombinacija istih

dveh stevil.

Izrek 2. Ce je d najvecji skupni delitelj stevil a in b, potem obstajata x, y ∈ Z, tako da je

d = ax + by.

Dokaz. Dokaz bralec najde na strani 21 in 22 v [3]. �

Postopek, kako izracunamo najvecji skupni delitelj dveh naravnih stevil, je opisan spodaj.

Imenujemo ga Evklidov algoritem.

Izrek 3. Naj bosta a in b naravni stevili in naj velja a ≥ b. Potem s ponavljanjem postopka

deljenja iscemo taka cela stevila q1, q2, ... in r1, r2, ..., da velja:

a = bq1 + r1, za 0 ≤ r1 < b

b = r1q2 + r2, za 0 ≤ r2 < r1

r1 = r2q3 + r3, za 0 ≤ r3 < r2

...

rn−2 = rn−1qn + rn, za 0 ≤ rn < rn−1

rn−1 = rnqn+1 + 0.

Stevilo rn, torej zadnji od nic razlicen ostanek, ki ga dobimo po zgornjem postopku, je tedaj

enako najvecjemu skupnemu delitelju stevil a in b, to je, D(a, b) = rn.

Dokaz. Dokaz bralec najde na strani 99 v [9]. �

Poglejmo si sedaj zgled.

Page 13: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

2.2. PRASTEVILA 5

Zgled: S pomocjo Evklidovega algoritma poiscimo najvecji skupni delitelj stevil 819 in 165.

Postopek je naslednji:

819 = 165 · 4 + 159

165 = 159 · 1 + 6

159 = 6 · 26 + 3

6 = 3 · 2 + 0.

Sledi: D(819, 165) = 3.

Po zgornjem izreku (2) lahko najvecji skupni delitelj izrazimo se kot linearno kombinacijo stevil

819 in 165, in sicer tako, da nenicelne ostanke od spodaj navzgor izrazimo na sledeci nacin:

3 = 159− 6 · 26

= 159− (165− 159 · 1) · 26 = 159 · 27− 165 · 26

= (819− 165 · 4) · 27− 165 · 26 = 819 · 27− 165 · 134

= 819 · 27 + 165 · (−134).

4

2.2 PRASTEVILA

Naravna stevila, vecja od 1, delimo na prastevila in sestavljena stevila. Spomnimo se,

da so prastevila tista od 1 razlicna pozitivna cela stevila, ki imajo natanko dva delitelja, 1 in

samega sebe. Sestavljena stevila pa lahko zapisemo kot produkt prastevil oziroma prafaktorjev.

Osnovni izrek aritmetike pove naslednje.

Izrek 4. Vsako celo stevilo a, ki je po absolutni vrednosti vecje od 1, je moc razcepiti v produkt

samih prastevil in morebiti stevila (−1). Ce se na vrstni red faktorjev ne oziramo, je tak razcep

en sam.

Dokaz. Dokaz bralec najde na straneh 28 in 29 v [3]. �

Sklenimo se naslednji dogovor.

Naj bodo p1, p2, ..., pj vsa razlicna prastevila iz razcepa stevila a, urejena po velikosti, in naj

Page 14: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

6 POGLAVJE 2. OSNOVE TEORIJE STEVIL

bodo n1, n2, ..., nj naravna stevila, ki povedo, kolikokrat se posamezna prastevila p1, p2, ..., pj

kot faktorji pojavijo v razcepu. Razcep stevila a na prafaktorje tedaj zapisemo kot:

a = ±pn11 · pn2

2 · · · pnj

j , p1 < p2 < ... < pj.

Pri iskanju prastevil nam je v pomoc tudi naslednji izrek.

Izrek 5. Prastevil je neskoncno mnogo.

Dokaz. Izrek je dokazal ze Evklid v svoji knjigi Elementi (IX), priblizno 2300 let nazaj.

Izrek bomo dokazali s protislovjem. Denimo tedaj, da je prastevil koncno mnogo. Naj bodo 2,

3, 5, ..., p zaporedna prastevila, pri cemer je p najvecje prastevilo, in naj bo n = (2·3·5 · · · p)+1.

Stevilo n je celo in vecje od p. Potemtakem n ni prastevilo. Ker je torej stevilo n sestavljeno

stevilo, je deljivo s kaksnim od prastevil 2, 3, ..., p. Toda pri deljenju n s katerimkoli izmed

prastevil 2, 3, ..., p, ostaja ostanek 1. To protislovje torej pove, da najvecjega prastevila ni. �

2.3 EULERJEVA FUNKCIJA

Ce je n poljubno pozitivno celo stevilo, je vsako izmed stevil 0, 1, 2, ..., n − 1 ali tuje stevilu n

ali pa ima z n kaksen skupni delitelj.

Eulerjeva funkcija ϕ vsakemu naravnemu stevilu n priredi naravno stevilo ϕ(n), ki je enako

stevilu naravnih stevil med 1 in n, ki so tuja n. Poglejmo si preprost zgled.

Zgled: Zanima nas Eulerjeva funkcija za n = 10. Izmed stevil 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 so tuja

stevilu 10 le stevila 1, 3, 7 in 9. Torej je ϕ(10) = 4. 4

V splosnem za velika stevila n dolocitev Eulerjeve funkcije ϕ(n) ni preprosta. Ce pa poznamo

faktorizacijo stevila n na produkt samih prastevil, vrednost ϕ(n) zlahka izracunamo.

Izrek 6. Naj bo n ∈ N in naj bodo p1, p2, ..., pm vsa razlicna prastevila, ki delijo n. Tedaj je

ϕ(n) = n · (1− 1/p1) · · · (1− 1/pm).

Dokaz. Izrek je moc dokazati s pomocjo nacela vkljucitev in izkljucitev. Bralec ga lahko najde

v [6]. �

Page 15: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

2.4. KONGRUENCA STEVIL 7

V posebnem primeru velja za prastevilo p, da je ϕ(p) = p − 1. Vsako stevilo, ki je manjse od

p je tuje k p. V se enem posebnem primeru velja tudi ϕ(ab) = ϕ(a)ϕ(b), pri cemer a, b ∈ N in

D(a, b) = 1. Dokaz te lastnosti bralec najde na strani 242 v [9].

2.4 KONGRUENCA STEVIL

Pri RSA algoritmu je pomembna naslednja ekvivalencna relacija ≡, ki jo imenujemo kongru-

enca. To lastnost bomo dokazali kasneje. Najprej definirajmo relacijo.

Naj bosta a, b ∈ Z in m ∈ N. Ce je razlika a− b deljiva z m, to je, m | (a− b), pravimo, da je

stevilo a kongruentno stevilu b po modulu m, kar zapisemo z

a ≡ b (mod m).

Dejstvo, da stevilo a ni kongruentno b po modulu m, zapisemo z a 6≡ b (mod m).

Oglejmo si sedaj nekaj preprostih lastnosti relacije kongruence.

Trditev 1. Naj bo m poljubno naravno stevilo. Relacija kongruence po modulu m je ekviva-

lencna relacija.

Dokaz. Dokazati moramo refleksivnost, simetricnost in tranzitivnost te relacije. Naj bosta

a, b ∈ Z in m ∈ N.

• Refleksivnost: za vsak a ∈ Z velja a ≡ a (mod m), saj a− a = 0 in m | 0.

• Simetricnost: dokazati moramo, da iz a ≡ b (mod m) sledi b ≡ a (mod m). Izhajamo

iz a ≡ b (mod m). Naj bo k ∈ Z tak, da velja a − b = km. Ce enacbo preoblikujemo,

dobimo b− a = (−k)m. To pa pomeni, da velja b ≡ a (mod m).

• Tranzitivnost: dokazati moramo, da iz a ≡ b (mod m) in b ≡ c (mod m) sledi a ≡

c (mod m). Obstajata torej s, t ∈ Z tako, da velja a−b = sm in b−c = tm. Ce sestejemo

obe enacbi dobimo: a− c = tm + sm = (t + s)m, kar pa pomeni, da je a ≡ c (mod m).

Trditev 2. Naj bodo k,m ∈ N in a, b, c, d ∈ Z. Tedaj velja naslednje:

Page 16: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

8 POGLAVJE 2. OSNOVE TEORIJE STEVIL

1. Ce je a ≡ b (mod m) in c ≡ d (mod m), potem velja: a + c ≡ b + d (mod m) in

ac ≡ bd (mod m).

2. Ce je a ≡ b (mod m), potem velja ac ≡ bc (mod m), a + c ≡ b + c (mod m) in ak ≡

bk (mod m).

3. Ce je ac ≡ bc (mod m), potem je a ≡ b (mod m/d), pri cemer je d = D(c,m).

Dokaz. Dokaze teh lastnosti bralec najde v [9]. �

Trditev 3. Naj bosta p in q razlicni prastevili in naj bosta a, b ∈ Z taki stevili, da velja

a ≡ b (mod p) in a ≡ b (mod q). Tedaj je a ≡ b (mod pq).

Dokaz. Zaradi a ≡ b (mod p) in a ≡ b (mod q) obstajata celi stevili k in l, da je a−b = k·p = l·q.

Ker sta p in q razlicni prastevili po izreku 4 sledi, da q | k, to je k = q · k1, za neko celo stevilo

k1. Sledi a− b = p · q · k1 in tako a ≡ b (mod pq), kot smo trdili. �

2.5 FERMATOV IN EULERJEV IZREK

Oglejmo si se dva pomembna izreka, ki jih uporabljamo pri RSA algoritmu.

Izrek 7 (Eulerjev izrek). Naj bo m ∈ N in naj bo a ∈ Z tako stevilo, da je D(a,m) = 1.

Potem velja

aϕ(m) ≡ 1 (mod m),

pri cemer je ϕ(m) vrednost Eulerjeve funkcije stevila m.

Dokaz. Dokaz bralec najde v [9]. �

Izrek 8 ((Mali) Fermatov izrek). Naj bo a ∈ Z in naj bo p poljubno prastevilo. Tedaj velja

ap ≡ a (mod p).

Ce dodatno velja se D(a, p) = 1, velja

ap−1 ≡ 1 (mod p).

Dokaz. Dokaz bralec najde v [9], gre pa seveda le za poseben primer Eulerjevega izreka. �

Omenimo, da se oba izreka zlahka dokaze z nekaj znanja teorije grup in kolobarjev.

Page 17: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Poglavje 3

KRIPTOGRAFIJA

V tem poglavju se nahaja opis nekaterih osnovnih pojmov, ki se uporabljajo v nadaljevanju

diplomskega dela, na kratko pa je predstavljena tudi zgodovina kriptografije, ki nudi dober

odgovor na vprasanje, zakaj kriptirati podatke, prikaze pa tudi kako je potekal njen razvoj.

Snov tega poglavja je povzeta po [9] in [10].

3.1 OSNOVNI POJMI

Kriptografija je veda o posiljanju in prejemanju tajnih, sifriranih sporocil. Je tudi veda, ki se

ukvarja z odkrivanjem in preucevanjem racunalniskih algoritmov in protokolov za ucinkovito

zascito informacij. Beseda kriptografija izhaja iz grskih besed kryptos, ki pomeni skrito, in

graphein, ki pomeni pisati. Osnovno sporocilo, ki ga zelimo zakriti in nato poslati, se imenuje

cistopis, zakrito sporocilo pa tajnopis ali tudi sifropis.

Sporocilo po nekem postopku, metodi oziroma algoritmu spremenimo v kriptirano sporocilo, pri

tem pa uporabimo dolocene vrednosti za parametre, ki jim pravimo kljuc. Da si sogovornika

lahko posiljata sporocila in jih potem tudi prebereta, se morata dogovoriti za ustrezen algoritem

in pripadajoci kljuc. Spreminjanje cistopisa v tajnopis imenujemo enkripcija ali sifriranje,

obraten postopek pa dekripcija ali tudi desifriranje.

Kriptoanaliza je veda o desifriranju sporocil brez poznavanja kljuca. Kriptoanalitik torej

isce slabosti dolocenega algoritma sifriranja, tako da poskusa zlomiti sifro, to je, ugotovi kljuc

za desifriranje sporocila. Veda, ki se ukvarja tako s kriptografijo kot tudi z vprasanji, kako

“zlomiti”nek kriptografski sistem, se imenuje kriptologija.

9

Page 18: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

10 POGLAVJE 3. KRIPTOGRAFIJA

3.2 ZGODOVINA

Z vprasanjem, kako vsebino sporocila zakriti tako, da ga razumeta le posiljatelj in prejemnik,

so se ukvarjali ze v Antiki in celo prej. Ze Egipcani so 2500 let pred nasim stetjem komunicirali

v jeziku sestavljenem iz slicic, ki jim pravimo tudi hieroglifi. Le-te so v religioznem smislu

razumeli le redki, najbolj izobrazeni, saj je slo za bozje besede, ki so morale ostati vredne in

misticne.

Spartanci so za posiljanje skrivnih sporocil uporabljali mehanski pripomocek imenovan skital.

Skital je bil valj, okrog katerega so navili trak in pravokotno na smer traku zapisali sporocilo.

Naslovniku so poslali odvit trak, sporocilo pa je lahko prebral le, ce je imel valj enakega pre-

mera. Recimo, da na trak, ki je navit na valju, zapisemo naslednje sporocilo “SKRIVNOSTNO

SPOROCILO”. Zapisemo ga v 3 vrstice po 7 znakov in upostevamo presledek. Sporocilo na

traku navitem na valju bi izgledalo tako, kot je prikazano v spodnji tabeli.

S K R I V N O

S T N O S P

O R O C I L O

Ko trak s sporocilom odvijemo, dobimo sporocilo “SSOKTRRNOIOCV INSLOPO”. Prejemnik

sporocila mora imeti valj z enakim polmerom kot posiljatelj oziroma mora ugotoviti po koliko

posameznih crk je zapisanih v enem stolpcu. Pri tej vrsti sifriranja ostanejo crke originalnega

sporocila nespremenjene, njihova mesta pa se po odvitju traku pomesajo.

Julij Cezar je svojim vojskovodjem posiljal sporocila, kjer je vsako crko cistopisa zamenjal s

crko, ki je bila v abecedi nekaj mest za njo. Stevilo, ki predstavlja stevilo mest, za kolikor

je potrebno zamenjati posamezno crko sporocila, je kljuc. Ce sifriramo besedila v slovenscini,

imamo na voljo 25 moznosti za kljuc, ki pove za koliko mest naprej po abecedi se je treba pri

sifriranju premakniti. Julij Cezar naj bi obicajno uporabljal premik naprej za 3 mesta. Seveda

lahko pri taki vrsti sifriranja hitro uganemo kljuc, saj je moznih kljucev malo in lahko preprosto

preizkusimo vsako moznost posebej. Za Julija Cezarja pa to ni predstavljalo velikega problema,

saj je v tistem casu le malokdo znal brati. Opisimo to sifriranje se matematicno.

Naj bo torej x vrednost, prirejena posamezni crki v cistopisu, kjer crki A pripada vrednost 0,

crki B vrednost 1 in tako naprej. Naj bo y vrednost, prirejena tej crki v ustreznem tajnopisu,

ter k vrednost kljuca. Potem velja

y ≡ x + k (mod n), (3.1)

Page 19: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

3.2. ZGODOVINA 11

kjer je n stevilo crk v abecedi.

Poglejmo si primer, kako s pomocjo Cezarjeve sifre sifriramo sporocilo.

Zgled: Sifrirati zelimo sporocilo “TO SPOROCILO JE SKRIVNOST”, pri cemer bomo upo-

rabili premik za 5 mest naprej. V pomoc nam bo spodnja tabela. V prvi vrstici tabele so crke

slovenske abecede in njim prirejene vrednosti med 0 in 24. V zadnji vrstici pa so crke, ki smo

jih premaknili za 5 mest.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

A B C C D E F G H I J K L M N O P R S S T U V Z Z

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 0 1 2 3 4

E F G H I J K L M N O P R S S T U V Z Z A B C C D

Sporocilo najprej razdelimo na bloke po 5 crk, da se izognemu prehitremu desifriranju krajsih

besed. V nasem primeru dobimo bloke “TOSPO”, “ROCIL”, “OJESK”, “RIVNO”, “ST”. Nato

vsaki crki v posameznem bloku priredimo stevilo, kot je prikazano v prvi vrstici zgornje tabele.

Dobimo “20 15 18 16 15”, “17 15 3 9 12”, “15 10 5 18 11”, “17 9 22 14 15” in “18 20”. Po

uporabi Cezarjeve sifre s transformacijo y ≡ x + 5 (mod 25), se bloki stevil spremenijo v “0 20

23 21 20”, “23 20 8 14 17”, “20 15 10 23 16”, “23 14 2 19 20” in “23 0” oziroma, ce pretvorimo v

crke, “EACBA”, “CAMSV”, “ATOCU”, “CSGZA”in “CE”. To je torej nase sifrirano sporocilo

oziroma tajnopis. Prejemnik sporocilo desifrira tako, da crkam abecede priredi po vrsti stevila

od 0 do 24 in nato uporabi zvezo x ≡ y − 5 (mod 25), s katero spremeni tajnopis v prirejene

numericne vrednosti cistopisa. Nato le se pretvori stevila v ustrezne crke abecede in sporocilo

je desifrirano. 4

V splosnem se sifriranje sporocil deli v dve skupini, transpozicijsko in substitucijsko sifriranje.

Transpozicijsko sifriranje ne spreminja crk, ampak le njihov vrstni red. Taksen primer

sifriranja je sifriranje s skitalom, ki smo ga ze opisali. Substitucijsko sifriranje pa zamenja

znake oziroma stevke med seboj ali pa z drugimi znaki. Primer substitucijskega sifriranja je

Cezarjeva sifra, ki jo imenujemo tudi monoalfabetska substitucija, saj je kljuc za vsako posa-

mezno crko isti. Poznamo pa tudi polialfabetsko substitucijo, kot je Vigenerjeva sifra, kjer se

kljuc za posamezno crko spreminja. To sifriranje bomo opisali v nadaljevanju. Se prej pa si

poglejmo, kako desifrirati sporocilo, sifrirano s substitucijo.

Zdi se, da je monoalfabetska substitucija besedilnih sporocil dokaj varna, saj je moznih kar

Page 20: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

12 POGLAVJE 3. KRIPTOGRAFIJA

n! kljucev, kjer je n stevilo crk v abecedi. Pri desifriranju bi s poskusanjem vseh moznih

kljucev porabili prevec casa (tudi z racunalnikom). Vendar pa taksno sifriranje zlahka zlomimo

s frekvencno analizo besedila. Z uporabo frekvencne analize pri dovolj dolgem besedilu s

precejsnjo zanesljivostjo domnevamo, da najpogostejse crke v tajnopisu predstavljajo najpogo-

stejse crke v abecedi, vendar ne nujno v pravem zaporedju. Pri omenjenem desifriranju moramo

seveda vedeti, v katerem jeziku je bilo sporocilo zapisano.

V 15. in 16. stoletju so Evropo zaznamovale spletke in boj za politicno in financno moc, se

zlasti v Italiji. To je bil povod za razvoj sifriranja na visji ravni. Okrog leta 1460 je Leone

Battista Alberti izumil napravo za sifriranje sporocil, tako imenovani dvojni krog z vrtljivim

srednjim delom. To je tudi zacetek polialfabetskega sifriranja. Blaise de Vigenere, francoski

diplomat in prevajalec, je izpopolnil metodo sifriranja Giovana Battista Bellasa, objavljeno v

knjigi La cifra del. Sig. Giovan Battista Bellaso, ki jo danes imenujemo Vigenerjeva sifra.

Namesto sifriranja vsake crke z ves cas isto substitucijo (kot je znacilno za Cezarjevo sifro),

uporabimo tukaj razlicne substitucije za sifriranje posameznih crk v besedi. Opisimo Cezarjevo

sifro se matematicno.

Kljuc Vigenerjeve sifre predstavlja beseda b1b2b3...bn, pri cemer vsaki crki kljuca, torej crkam

b1, b2, b3, ..., bn, priredimo ustrezne stevilske vrednosti po slovenski abecedi med 0 in 24, kar

oznacimo s k1, k2, k3, ..., kn. Potem sporocilo, ki ga zelimo sifrirati, razdelimo na bloke dolzine

n, torej na bloke v dolzini kljuca. Blok vsebuje prirejene stevilske vrednosti p1, p2, p3, ..., pn

pripadajocih crk in se sifrira v blok s prirejenimi stevilskimi vrednostmi, ki jih oznacimo s

c1, c2, c3, ..., cn, in sicer tako, da velja

ci ≡ pi + ki (mod 25), i = 1, 2, ..., n. (3.2)

Na koncu stevilske vrednosti c1, c2, c3, ..., cn le se spremenimo v ustrezne crke abecede.

Pogljemo si konkreten zgled.

Zgled: Sifrirati zelimo besedo “MATEMATIKA” s kljucem “KLJUC”. Crkam besedne zveze

in kljuca priredimo ustrezne stevilske vrednosti

b1b2b3b4b5b6b7b8b9b10 = 13 0 20 5 13 0 20 9 11 0 in k1k2k3k4k5 = 11 12 10 21 3.

Vigenerovo sifriranje besede s prej izbranim kljucem nam da naslednje stevilske vrednosti crk

tajnopisa:

c1 = b1 + k1 = 13 + 11 ≡ 24 (mod 25)

c2 = b2 + k2 = 0 + 12 ≡ 12 (mod 25)

Page 21: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

3.2. ZGODOVINA 13

Postopek nadaljujemo po podobnem principu dokler ne sifriramo vseh crk besede. Dobimo

naslednje stevilske vrednosti:

c1 c2 c3 c4 c5 c1 c2 c3 c4 c5

24 12 5 1 16 11 7 19 7 3

Prirejene vrednosti crk le se spremenimo v ustrezne znake in dobimo sifrirano sporocilo

“ZLEBPKGSGC”. 4

Seveda je tudi desifriranje sporocila sifriranega po Vigenerjevi metodi preprosto, ce poznamo

kljuc. Podrobnosti prepuscamo bralcu.

Prednost Vigenerove sifre je v tem, da je ni mogoce tako preprosto desifrirati s pomocjo fre-

kvencne analize, ce ne poznamo kljuca. Zato je ta sifra dolgo veljala za nezlomljivo. A kot

bomo omenili nekoliko kasneje, danes tudi tovrstno sifriranje ni vec varno.

Razvoj sifriranja se je nadaljeval s telegrafijo in vzponom telekomunikacij, ko so ponudili nov

nacin posiljanja sporocil na velike razdalje. Ena izmed prvih idej je bil predlog, da se posiljatelj

in prejemnik povezeta s kabli, pri cemer bi en kabel zadostoval za eno crko. Posiljatelj bi

sporocilo crkoval, tako da bi elektricne signale posiljal po ustreznih kablih, prejemnik pa bi si

zapisoval po katerem kablu je prisel elektricni signal in na koncu prebral sporocilo. Medtem

je v Ameriki Samuel Morse nadgradil taksno obliko posiljanja sporocil z elektromagnetom, ki

je okrepil signal in tako tudi povecal razdaljo med posiljateljem in prejemnikom. S tem se je

razvila tudi Morsejeva abeceda, ki je v uporabi se danes in za katero je znacilno, da crke, stevke

in nekatere znake kodiramo s kombinacijo kratkih in dolgih znakov. Morsejeva abeceda sicer

ne sodi med podrocje kriptografije, saj njen namen ni prikrivati sporocilo, pac pa s pomocjo

Morsejeve abecede crke pripravimo za tehnicni medij. Gre le za drugacno obliko abecede.

V 19. stoletju je Charles Babbage desifriral Vigenerovo sifro, kar se steje za najvecji preboj

kriptoanalize po arabskih ucenjakih, ki so v 9. stoletju desifrirali monoalfabetske sifre s pomocjo

frekvencne analize. Babbagejev prispevek je ostal neodkrit vse do 20. stoletja, ko so med pre-

gledovanjem njegovih zapiskov naleteli na postopek desifriranja polialfabetskih sifer oziroma

Vigenerove sifre. Prav tako je postopek desifriranja Vigenerove sifre opisal Friedrich Wilhelm

Kasiski.

Na nadaljni razvoj kriptografije je vplival nastanek radijskega komuniciranja, pri cemer sta bila

lahko posiljatelj in prejemnik skoraj poljubno dalec narazen. Radijski valovi se sirijo v vse

smeri in dosezejo prejemnike skoraj povsod. Slabost pa je ta, da sporocilo poslano po radijskih

Page 22: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

14 POGLAVJE 3. KRIPTOGRAFIJA

valovih lahko prestreze kdorkoli. Razvoj radijskega komuniciranja in izbruh 1. svetovne vojne

sta povzrocila potrebo po zanesljivem sifriranju sporocil. Med 1. svetovno vojno so Nemci

razvili sifrirni sistem imenovan ADFGVX, ki pa so ga Francozi kmalu strli. Po koncu 1. sve-

tovne vojne se je nemski izumitelj Arthur Scherbius zavzel za to, da bi pri sifriranju uporabili

tehnicne moznosti 20. stoletja. Razvil je kriptografski stroj imenovan enigma, ki ga sestavljajo

trije glavni elementi med seboj povezani z zico. To so tipkovnica, preko katere vnasamo crke

cistopisa, sifrirna enota, ki vsako crko cistopisa spremeni v crko tajnopisa in enota z luckami,

ki sifrirane crke prikaze. Osnovni napredek je bilo strojno, namesto rocnega sifriranja. Med 2.

svetovno vojno so bili britanski dekripterji v ocitni prednosti pred nemskimi kriptografi, saj so

iz dela poljskega matematika Rejewskega ustvarili tehnicno podlago za avtomaticno desifriranje

enigme. Pri tem je bil najbolj udelezen matematik Alan Turing.

Z iznajdbo racunalnika se je sifriranje in tudi desifriranje sporocil mocno spremenilo. Kriptografi

so razvijali vse kompleksnejse sifrirne sisteme, kriptoanalitiki pa so izkoristili hitrost in fleksi-

bilnost racunalnika, ko so preverjali vse mogoce kljuce, dokler niso nasli pravega. Obstajajo tri

znacilne razlike med racunalniskim in mehanicnim nacinom sifriranja, ki se je uporabljal pri eni-

gmi. Prva je ta, da je mehanicni sifrirni stroj omejen s tehnicno - konstrukcijskimi moznostmi,

druga razlika je v hitrosti, kjer je racunalnik absolutno hitrejsi, tretja pa je ta, da racunalnik

operira z binarnimi stevili, kar pomeni, da je potrebno vsako sporocilo pred sifriranjem spreme-

niti v binarna stevila. Ko so racunalnik zacela uporabljati podjetja in ne le drzavna oblast ter

vojska, je bilo potrebno standardizirati sifrirni sistem. Leta 1976 so za standard uradno sprejeli

DES (Data Encrypted Standard), kasneje pa se AES (Advanced Encryption Standard). Kljub

standardizaciji in moci DES pa je ostal neresen problem razdeljevanja kljucev. Kako naj torej

banka svoji stranki sporoci zaupne podatke, ce vemo, da obstaja moznost, da pogovoru nekdo

prisluskuje. Edini varni nacin je osebna izrocitev kljuca, vendar pa je le-ta pocasna in zahteva

posrednika, ki mu obe strani zaupata.

Leta 1976 sta Diffie in Hellman predstavila nov nacin izmenjave kljucev (zdaj znana pod imenom

Diffie, Hellman, Merklova izmenjava kljucev), sam pojem asimetricnega sifriranja in sistemov

javnih kljucev pa je razvil Diffie. Kmalu zatem se je razvil algoritem RSA, ki je opisan v po-

glavju RSA kriptiranje. Asimetricni algoritmi so racunsko precej zahtevni in zato se obicajno

uporabljajo le za varno komunikacijo pri dogovoru o kljucu za mnogo hitrejse simetricne krip-

tosisteme kot sta na primer DES in AES.

Page 23: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

3.3. SIMETRICNI IN ASIMETRICNI KRIPTOSISTEMI 15

3.3 SIMETRICNI IN ASIMETRICNI KRIPTOSISTEMI

Poznamo dve vrsti kriptosistemov, in sicer simetricne ter asimetricne. Poglejmo v cem se

razlikujejo.

3.3.1 Simetricni kriptosistemi

Gre za najstarejso obliko kriptografije in edino poznano vse do leta 1976. Za simetricne

kriptosisteme ali kriptosisteme tajnega kljuca velja, da je moc kljuc za desifriranje dobiti

iz kljuca za sifriranje na racunsko nezahteven in hiter nacin (morda ob pomoci racunalnika).

Kljuca za sifriranje in desifriranje sta lahko tudi enaka, ni pa nujno. Obicajno so simetiricni

algoritmi hitri, tezko pa je varno izmenjati kljuc, saj kljuca prejemniku ne moremo posredovati

skupaj s sifriranimi podatki.

Najbolj znani simetricni algoritmi so DES, IDEA (International Data Encryption Algorithm)

ter AES, ki je naslednik DES.

Primer komunikacije pri simetricnih kriptosistemih:

Predpostavimo, da zeli Andreja poslati Bojanu sporocilo tako, da ga bo sposoben prebrati le

on. Da Andreja zagotovi varen prenos sporocila do Bojana, ustvari sifrirni kljuc. S sifrirnim

kljucem sifrira svoj cistopis in ga kot tajnopis poslje Bojanu, ki pa ga lahko prebere le, ce

pozna sifrirni kljuc. Tega mu lahko Andreja dostavi na katerikoli varen nacin, ki ji je na voljo

(recimo po posti). Ko Bojan prejme sifrirni kljuc, lahko desifrira sprejete tajnopise oziroma

poslje Andreji tajnopis svojih cistopisov.

3.3.2 Asimetricni kriptosistemi

Pri simetricnih kriptosistemih je obicajno najvecji problem varna izmenjava kljucev. Da lahko

z neko osebo izmenjamo zaupne informacije, si moramo prej preko varnega kanala izmenjati

kljuc. Asimetricna kriptografija ali tudi kriptografija javnega kljuca, ki so jo prvi opisali

Diffie, Hellman in Merkle, temelji na ideji, da imamo dva razlicna kljuca, enega za sifriranje in

enega za desifriranje. Pri tem pa kljuca za desifriranje ne moremo konstruirati le na podlagi

kljuca za sifriranje, saj je ta postopek racunsko prezahteven. V asimetricnih sifririnih sistemih

ima vsak udelezenec komunikacije tako javni kot zasebni kljuc. Zasebni kljuc, ki ga uporablja

za desifriranje, zadrzi zase, javnega pa objavi. Tako lahko vsakdo, ki ima na voljo uporabnikov

javni kljuc, s tem kljucem zasifrira sporocilo, ki mu ga zeli poslati. Ker je prejemnik edini, ki

Page 24: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

16 POGLAVJE 3. KRIPTOGRAFIJA

lahko sporocilo desifrira z uporabo zasebnega kljuca, je tak nacin posiljanja sporocil varen.

Asimetricni kriptosistemi obicajno temeljijo na predpostavki neresljivosti (v razumnem casu)

dolocenih matematicnih problemov. Potrebno je najti tako transformacijo, za katero je tezko ali

nemogoce izvesti inverzno transformacijo, ce nimamo ustrezne dodatne informacije (privatnega

kljuca). Za take transformacije se uporablja izraz One-Way Function, ki pomeni, da je inverzna

operacija lahka, ce imamo neko dodatno informacijo, sicer pa skoraj nemogoca.Tako je v ozadju

Diffie, Hellman, Merklove izmenjave kljucev problem diskretnega logaritma, pri RSA algoritmu

problem faktorizacije velikih prastevil, pri ECC (Elliptic Curve Cryptosystems) algoritmu pa

se pojavi problem elipticnih krivulj. Problem diskretnega logaritma je matematicno-racunski

problem, pri katerem operiramo v koncni multiplikativni grupi, in sicer je potrebno za dana

g, h ∈ G najti x ∈ G, za katerga velja gx = h. Za ta problem se ni odkritega hitrega algoritma,

zato je racunsko zahteven in posledicno uporaben v kriptografiji [12].

Primer komunikacije pri asimetricnih kriptosistemih:

Predpostavimo, da zeli Andreja Bojanu poslati zaupno sporocilo. Andreja mora najprej pri-

dobiti Bojanov javni kljuc in z njim sifrirati sporocilo. Nato tajnopis poslje Bojanu, ki pa ga

desifrira tako, da uporabi svoj zasebni kljuc. Ce tajnopis prestreze nekdo drug, ga ne more

desifrirati, ker ne pozna Bojanovega zasebnega kljuca. Taksen primer komunikacije v osnovi ne

zagotavlja pristnosti posiljatelja, zagotavlja pa pristnost sporocila, ki ga lahko prebere le tisti,

komur je namenjeno.

Page 25: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Poglavje 4

RSA KRIPTIRANJE

V tem poglavju sledi podroben opis RSA algoritma. Ogledali si bomo njegovo delovanje, pred-

stavili kako kreiramo kljuce in opisali sam postopek sifriranja in desifriranja sporocil. Dokazali

bomo, da metoda RSA deluje pravilno in se na kratko dotaknili vprasana njegove varnosti,

moznih napadih nanj in sami uporabi tega algoritma. Poglavje je povzeto po [4], [7], [8] in

[9].

4.1 UVOD

Algoritem so leta 1977 opisali Ron Rivest, Adi Shamir in Len Adleman na MIT (Massachusetts

Institute of Technology), patentirali pa so ga leta 1983. Ime RSA predstavljajo zacetnice

njihovih priimkov. Algoritem RSA sodi na podrocje asimetricne kriptografije, ki je opisana v

prejsnjem poglavju. Gre torej za kriptografijo javnih kljucev. Varnost tega algoritma temelji na

domnevi, da je sicer razmeroma lahko najti zelo velika prastevila, zelo tezko pa je faktorizirati

velika stevila. Uporablja se za izmenjavo skupnih kljucev za simetricne kriptosisteme in za

digitalno podpisovanje, za masovno sifriranje podatkov pa ne, saj so asimetricni kriptosistemi

precej pocasnejsi od nekaterih simetricnih algoritmov.

4.2 RSA ALGORITEM

Za ucinkovito komunikacijo je najprej potrebno kreirati javni in zasebni kljuc. Nato javni kljuc

objavimo, saj nam lahko posiljatelj le tako poslje sporocilo. Posiljatelj sifrira sporocilo z javnim

kljucem prejemnika, prejemnik pa to sporocilo desifrira tako, da uporabi svoj zasebni kljuc.

17

Page 26: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

18 POGLAVJE 4. RSA KRIPTIRANJE

4.2.1 Kreiranje kljucev

Postopek kreiranja zasebnega in javnega kljuca je naslednji:

1. korak: Izberemo si dve prastevili p in q in ju pomnozimo. Zmnozek oznacimo z n = p · q.

2. korak: Izracunamo Eulerjevo funkcijo stevila n po formuli ϕ(n) = (p− 1) · (q − 1).

3. korak: Izberemo si stevilo e, med 1 in ϕ(n), pri cemer mora veljati D(e, ϕ(n)) = 1, to je,

stevili e in ϕ(n) sta si tuji.

4. korak: Izracunamo stevilo d, 1 ≤ d ≤ ϕ(n), za katero velja e · d ≡ 1 (mod ϕ(n)). To

pomeni, da je d multiplikativni inverz elementa e v kolobarju Zϕ(n).

Par (e, n) je javni kljuc, ki ga lahko objavimo, par (d, n) pa je zasebni kljuc, ki ga ne smemo

izdati. Prav tako ne smemo izdati prastevil p in q.

Pri izbiri prastevil v 1. koraku je potrebno izbrati dovolj veliki prastevili, kar danes v praksi

pomeni, da je potrebno izbrati vec kot tristo mestni stevili (najmanj 1024 bitni). Izbira velikosti

prastevil je odvisna tudi od namena sifriranja. V primeru, da imamo opravka s podatki, ki mo-

rajo zagotovo ostati zaupni se vsaj deset let, moramo uporabiti najmanj 2048 bitna prastevila

oziroma vsaj 600 mestna. Se pa ta stevilka z leti veca, saj so na voljo vedno boljsi procesorji,

ki so v krajsem casu sposobni predelati vec operacij v krajsem casu.

Da bo zasebni kljuc cim bolj varen, moramo pri izbiri prastevil v 1. koraku paziti na to, da so

izbrana kar se da nakljucno. Vsaka predvidljivost bi napadalcem zelo olajsala delo. Stevili p in

q tudi ne smeta biti blizu, kar pomeni, da mora biti razlika |p− q| velika.

Ze v 1. poglavju smo omenili, da je prastevil neskoncno mnogo. Torej velika prastevila ob-

stajajo. Se vec, obstajajo razlicni testi prastevilskosti, ki v razumnem casu najdejo prastevila

oziroma z veliko verjetnostjo napovedo ali je dano stevilo prastevilo. Leta 2002 so Agrawal,

Kayal in Saxena razvili tako imenovan AKS test, ki je deterministicen in dokazljivo tece v

polinomskem casu [1]. Omenimo se nekatere druge najpomembnejse teste: Miller-Rabinov,

Wilsonov, Fermatov, Lucasov in Prothov test.

Oglejmo si sedaj zgled kreiranja kljucev.

Zgled: 1. korak: Naj bo p = 37 in q = 101. V praksi si kot receno izberemo vec tristo mestni

stevili, a smo si zaradi samega racunanja v tem zgledu izbrali majhni prastevili. Izracunamo

se produkt n = p · q = 37 · 101 = 3737.

2. korak: Izracunamo Eulerjevo funkcijo za stevilo n, to je, ϕ(n) = (p− 1) · (q− 1) = 36 · 100 =

3600.

3. korak: Izberemo si stevilo e, ki je tuje k 3600, na primer e = 251.

Page 27: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

4.2. RSA ALGORITEM 19

4. korak: Iz enacbe 251 · d ≡ 1 (mod 3600) izracunamo stevilo d. To lahko storimo s pomocjo

Evklidovega algoritma.

3600 = 251 · 14 + 86 ⇒ 86 = 3600− 251 · 14

251 = 86 · 2 + 79 ⇒ 79 = 251− 86 · 2

86 = 79 · 1 + 7 ⇒ 7 = 86− 79 · 1

79 = 7 · 11 + 2 ⇒ 2 = 79− 7 · 11

7 = 1 · 2 + 7 ⇒ 1 = 7− 2 · 3

Zapisemo:

1 = 7− 2 · 3 =

= 7− (79− 7 · 11) · 3 = 7 · 34− 79 · 3 =

= (86− 79 · 1) · 34− 79 · 3 = 86 · 34− 79 · 37 =

= 86 · 34− (251− 86 · 2) · 37 = 86 · 108− 251 · 37 =

= (3600− 251 · 14) · 108− 251 · 37 = 86 · 109− 251 · 37 =

= 3600 · 108− 251 · 1549

Dobimo: 1 = 3600 · 108− 251 · 1549 ⇒ −251 · 1549 ≡ 1 (mod 3600).

Torej smo izracunali d = −1549 ≡ 2051 (mod 3600). Par (e, n) = (251, 3737) je javni kljuc,

par (d, n) = (2051, 3737) pa zasebni kljuc. Javni kljuc uporabi posiljatelj, ki nam zeli poslati

sporocilo. Zasebni kljuc uporabi prejemnik, v nasem primeru mi, ko zelimo desifrirati prejeto

sporocilo. Postopek kreiranja kljucev je tako koncan. 4

4.2.2 Postopek sifriranja

Pri sifriranju sporocil v kriptosistemu RSA imamo opravka s stevili, zato moramo besedno

sporocilo najprej pretvoriti v numericno obliko. V ta namen lahko uporabimo razlicne kode, na

primer ASCII kodiranje znakov, kjer je za vsak znak dolocena ustrezna desetiska vrednost. Za

nas precej poenostavljen primer bomo predvideli, da posiljamo besedilno sporocilo napisano z

velikimi tiskanimi crkami, ki jih v numericno obliko spremenimo s pomocjo ASCII kode. Delna

ASCII kodna tabela se nahaja spodaj.

Page 28: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

20 POGLAVJE 4. RSA KRIPTIRANJE

crka A B C D E F G H I J K L M

vrednost 65 66 67 68 69 70 71 72 73 74 75 76 77

crka N O P Q R S T U V W X Y Z

vrednost 78 79 80 81 82 83 84 85 86 87 88 89 90

Postopek sifriranja sporocila z RSA algoritmom:

1. korak: Crke besednega sporocila m pretvorimo v stevilske vrednosti s1, s2, ... s pomocjo

ASCII tabele.

2. korak: Pretvorjeno sporocilo razdelimo v bloke ustrezne dolzine, ki predstavljajo enote

sporocila mi. Dolzina blokov je navadno vnaprej dogovorjena in izbrana tako, da je mi < n,

kjer je n produkt izbranih prastevil pri kreiranju kljucev.

3. korak: Posamezne enote sporocila mi potenciramo z eksponentom e po modulu n, kjer je

par (e, n) javni kljuc prejemnika. Tako dobimo enote tajnopisa

ci ≡ mei (mod n).

Sifrirano sporocilo je sedaj C = c1c2c3... in to posljemo prejemniku sporocila. Pri tem je po-

trebno paziti na to, da so tudi enote ci v naprej dogovorjene dolzine in tako po potrebi dodamo

nekaj vodilnih nicel.

Poglejmo si postopek sifriranja besednega sporocila, kjer se navezujemo na prejsnji zgled.

Zgled: Imamo torej zasebni kljuc (d, n) = (2051, 3737) in javni kljuc (e, n) = (251, 3737).

Zelimo poslati sporocilo “KNJIGA”.

1. korak: Crke sporocila spremenimo v stevilske vrednosti in tako dobimo 75 78 74 73 71 65.

2. korak: Sporocilo s stevilskimi vrednostmi razdelimo na bloke poljubnih dolzin, pri cemer

moramo upostevati, da je vrednost posameznega bloka manjsa od produkta izbranih prastevil

pri kreiranju kljucev. Ker je n = 3737, bo sporocilo razdeljeno na bloke dolzine 3, kot je prika-

zano v spodnji tabeli.

m1 m2 m3 m4

757 874 737 165

3. korak: Sedaj pa vsak blok posebej sifriramo po formuli ci ≡ m251i (mod 3737). Za prvi

blok dobimo naslednjo enacbo c1 ≡ 757251 (mod 3737), ki jo resimo tako, da si pomagamo z

Page 29: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

4.2. RSA ALGORITEM 21

vmesnimi izracuni ter s trditvijo 2 v podpoglavju Kongruenca stevil. Vmesne potence dobimo

po naslednji formuli:

xt =

x(x2)t−12 , ce t liho

(x2)t2 , ce t sodo

Torej je x251 = x(x2)125, x125 = x(x2)62, ..., x7 = x(x2)3 in x3 = x(x2).

V nasem primeru torej dobimo:

7572 ≡ 1288 (mod 3737)

7573 = 757 · (7572) ≡ 757 · 1288 (mod 3737)⇒ 7573 ≡ 3396 (mod 3737)

7577 = 757 · (7573)2 ≡ 757 · (3396)2 (mod 3737)⇒ 7577 ≡ 3419 (mod 3737)

...

757251 = 757 · (757125)2 ≡ 757 · (3343)2 (mod 3737)⇒ 757251 ≡ 3687 (mod 3737)

Rezultat sifriranja sporocila m1 = 757 je c1 = 3687. Na analogen nacin to storimo se za preo-

stale bloke sporocila. Rezultat sifriranja je prikazan v spodnji tabeli.

mi 757 874 737 165

ci 3687 0843 2454 0468

4

4.2.3 Postopek desifriranja

Sporocilo, ki smo ga prejeli od posiljatelja, moramo odkodirati z uporabo tajnega kljuca, ki ga

poznamo le mi - prejemniki sporocila. Za uspesno desifriranje besednega sporocila, moramo

tako vedeti le se, katero kodo je uporabil posiljatelj pri kodiranju znakov v stevila.

Postopek desifriranja prejetega sporocila je naslednji:

1. korak: Prejeto sporocilo C razdelimo na bloke tajnopisa ci, tako da za vsak i velja ci < n.

Dolzina blokov je vnaprej dogovorjena.

2. korak: Vsak blok tajnopisa ci pretvorimo v bloke originalnega sporocila mi, tako da

uporabimo naslednjo zvezo

mi ≡ cdi (mod n).

Page 30: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

22 POGLAVJE 4. RSA KRIPTIRANJE

Pri tem je d tajni kljuc, ki smo ga kreirali pred zacetkom komunikacije.

Prvotno sporocilo, ki ga je posiljatelj poslal, je torej sporocilo M = m1m2m3..., pri cemer

moramo upostevati kodiranje znakov besedila.

Pogljemo si sedaj zgled desifriranja prejetega sporocila. Uporabili bomo javni in zasebni kljuc,

ki smo ju ze kreirali v enem od prejsnjih zgledov.

Zgled: Recimo, da smo prejeli naslednje sporocilo:

c1 c2 c3 c4 c5

1699 2707 3615 3361 3715

1. korak: Prejeto sporocilo razdelimo v bloke, po vnaprej dogovorjeni dolzini. To smo ze storili

v zgornji tabeli.

2. korak: Vsak posamezen blok prejetega sporocila posebej dekriptiramo po formuli mi ≡

c2051i (mod 3737). Za prvi blok 1699 dobimo naslednjo enacbo m1 ≡ 16992051 (mod 3737), ki jo

resimo tako, da si pomagamo z vmesnimi izracuni:

16992 ≡ 1637 (mod 3737)

16993 = 1699 · (16992) ≡ 1699 · 1637 (mod 3737)⇒ 16993 ≡ 935 (mod 3737)

...

16992051 = 1699 · (16991025)2 ≡ 1699 · (2232)2 (mod 3737)⇒ 16992051 ≡ 826 (mod 3737)

Rezultat desifriranja sporocila c1 = 1699 je m1 = 826. Na analogen nacin to storimo se za

preostale bloke prejetega sporocila. Rezultat desifriranja je prikazan v spodnji tabeli.

ci 1699 2707 3615 3361 3715

mi 826 586 787 376 79

Sporocilo moramo le se spremeniti iz stevilskih vrednosti v znake s pomocjo ASCII tabele in

na ta nacin dobimo besedo “RAVNILO”. 4

4.2.4 Pravilnost delovanja algoritma RSA

Dokazati zelimo, da je postopek delovanja RSA algoritma pravilen, to je, da ce sporocilo

sifriramo s tajnim kljucem in ga nato z zasebnim kljucem desifriramo, dobimo nazaj prvo-

tno sporocilo.

Page 31: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

4.2. RSA ALGORITEM 23

Izrek 9. Metoda sifriranja in desifriranja z RSA algoritmom deluje pravilno.

Dokaz. Dokazati moramo, da za vsako stevilo m, pri cemer 1 ≤ m < n, velja, da po sifriranju

in desifriranju zopet dobimo stevilo m. Stevilo n je produkt izbranih prastevil pri kreiranju

kljucev, to je n = pq.

Posiljatelj sporocilo m sifrira z javnim kljucem prejemnika e in poslje prejemniku sporocilo

oziroma stevilo c ≡ me (mod n). Prejemnik sporocila izracuna t ≡ cd (mod n). Po pravilu

potenciranja potenc je t ≡ (me)d (mod n), to je, t ≡ med (mod n) , kjer je d prejemnikov

zasebni kljuc. Pokazimo sedaj, da je med ≡ m (mod n), to je, da je t ≡ m (mod n).

Po trditvi 3 iz poglavja 2.4 je dovolj dokazati med ≡ m (mod p) in med ≡ m (mod q). Oglejmo

si dokaz za p. Dokaz za q je povsem analogen.

Ce p | m, je m ≡ 0 (mod p) in posledicno med ≡ 0 (mod p), torej res velja med ≡ m (mod p).

Denimo nazadnje, da p - m. Po izreku 8 velja mp−1 ≡ 1 (mod p). Ker je e · d ≡ 1 (mod ϕ(n))

in je ϕ(n) = (p− 1)(q − 1), obstaja k ∈ Z, da je ed = (p− 1)(q − 1) + 1.

Tedaj je

med = m ·mk·(p−1)·(q−1) = m · (mp−1)k·(q−1) ≡ m · 1 (mod p),

kot smo trdili.

Res torej velja t ≡ m (mod n) in zato zaradi 1 ≤ t,m < n sledi t = m. �

4.2.5 Digitalno podpisovanje

RSA algoritem lahko uporabimo tudi za digitalni podpis posiljatelja, s katerim poskrbimo za

potrjevanje pristnosti poslanega sporocila. Za digitalni podpis mora veljati, da je avtenticen,

da se ga ne da ponarediti, kopirati, da se podpisanega dokumenta ne da spremeniti ter da

se podpisa ne da zanikati. Predpostavimo, da Andreja prejme sporocilo od Bojana sifrirano

po metodi RSA. Kako Andreja ve, da ji je sporocilo zares poslal Bojan? Bojan lahko stori

naslednje. Najprej sifrira sporocilo z njegovim zasebnim kljucem, potem doda sporocilu podpis

“Bojan”in celotno sporocilo zopet sifrira z Andrejinim javnim kljucem. Ko Andreja prejme

sifropis, ga desifrira z njenim zasebnim kljucem. Desifrirano sporocilo bo sestavljeno iz podpisa

“Bojan”in sifrirane vsebine sporocila. Ce zeli prebrati vsebino sporocilo, poisce Bojanov javni

kljuci in s tem lahko desifrira se vsebino sporocila.

Page 32: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

24 POGLAVJE 4. RSA KRIPTIRANJE

Nihce ne more ponarediti tega sporocila in podpisa, saj bi moral uporabiti Bojanov zasebni

kljuc, ki pa ni javen. Ce bi napadalec uporabil katerikoli drug kljuc, bi Andreja po desifriranju

vsebine z Bojanovim javnim kljucem dobila brezpredmetno sporocilo in bi takoj vedela, da

sporocila ni poslal Bojan.

4.2.6 Uporaba

RSA algoritem za sifriranje podatkov se uporablja v SSL (Secure Socket Layer) protokolu, ki

omogoca varno komunikacijo na medmrezju, zelo razsirjen pa je tudi pri spletnih trgovinah,

kjer se pojavljajo prenosi zaupne narave (osebni podatki, stevilka kreditne kartice). Vsakic, ko

obiscemo zasciteno stran na internetu, nas racunalnik zgenerira zasebni in javni kljuc, ki potem

omogocata varno uporabo oziroma zascito osebnih podatkov. To lahko obcutimo tako, da je

internetna povezava malce pocasnejsa.

4.2.7 Varnost

Varnost RSA sistema je v veliki meri odvisna od izbire prastevil pri generiranju kljucev, kar je

opisano v poglavju Kreiranje kljucev. Zaenkrat noben napad na RSA algoritem ni bil uspesen,

vendar pa tudi niso se dokazali, da je algoritem varen. Velja pa, da ce kdo lahko uspesno napade

RSA algoritem, potem lahko faktorizira veliko stevilo, ki je produkt dveh prastevil.

S faktorizacijo stevil so se ukvarjali ze mnogi, vendar se niso odkrili metode, ki bi poljubno

stevilo faktorizirala v razumnem, polinomskem casu, ni bilo pa se dokazano, da nobena taka

metoda ne obstaja. Do leta 2013 je bilo najvecje stevilo, ki je bilo faktorizirano, dolgo 768 bitov

oziroma 212 stevk. Stevila dolzine 256 bitov ali manj je moc razstaviti na osebnem racunalniku

v nekaj urah. RSA kljuci so dandanes tipicno dolgi najmanj 1024 bitov, priporoca pa se upo-

raba 2048 bitov. Nekateri strokovnjaki so mnenja, da bodo 1024 bitni kljuci kmalu postali

zlomljivi, nekaj pa jih je celo mnenja, da bodo celo kljuci z dolzino 4096 v bliznji prihodnosti

postali premajhni. Zaradi tega v glavnem domnevajo da je kriptosistem RSA varen, ce je le n

zadostno velik.

Page 33: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

4.2. RSA ALGORITEM 25

4.2.8 Napadi

Napadi na RSA kriptosistem opozarjajo, kako pomembno je upostevati spodaj opisane predloge

pri implementaciji, da se izognemo ranljivosti sistema.

Izkaze se, da je mogoce v primeru, da je sifriranih veliko kopij cistopisa z razlicnimi kljuci, iz

sifropisa ugotoviti cistopis.

Wiener [11] je opisal se eno od moznih ranljivosti RSA, in sicer je pokazal, da ce za prastevili

p in q velja q < p < 2q in ce za zasebni kljuc d velja d < 4√n/3, pri cemer je n = p · q, potem

lahko iz javnega para kljuca (e, n) dolocimo zasebni kljuc d za desifriranje sporocila. Iz tega

sledi, da stevili p in q ne smeta biti preblizu skupaj ter da mora biti eksponent d velik.

Naj bo n = p · q in naj ima produkt m stevk. Izkaze se [2], da je moc ob razkritju delne

informacije zadnjih ali prvih m/4 stevk stevila p, zlahka faktorizirati stevilo n. To pa pomeni,

da napadalec lahko izracuna nas zasebni kljuc. Podobno se izkaze, da lahko v primeru, da

je javni kljuc e majhen, hitro lahko ugotovimo zasebni kljuc d, ce poznamo zadnjo cetrtino

njegovih stevk.

Leta 1995 je Paul Kocher [5] demonstriral, da je mogoce zasebni kljuc d ugotoviti na pod-

lagi casa, ki ga sistem porabi za desifriranje razlicnih sporocil. Temu se lahko izognemo tako,

da zagotovimo konstanten cas izvajanja desifriranja tajnopisov, vendar pa tak pristop znatno

zmanjsa ucinkovitost.

Zaenkrat resnih grozenj varnosti RSA kriptositema ni, ga pa ravno ta znacilnost dela pri-

vlacnega za siroko uporabo, obenem pa za nove in nove poskuse napadov.

Page 34: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

26 POGLAVJE 4. RSA KRIPTIRANJE

Page 35: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Poglavje 5

SKLEP

V diplomskem delu smo se posvetili RSA kriptiranju, ki je danes pogosto uporabljeno, saj je ob

dovolj velikih izbranih prastevilih pri kreiranju javnega in zasebnega kljuca varno. Temelji na

matematicno zahtevnem problemu faktorizacije velikih prastevil, za katerega se ni bila odkrita

hitra metoda, ceprav je prav tako res, da se ni bilo dokazano, da taka metoda ne obstaja. Za

faktoriziranje velikih stevil je vse od leta 1991 do 2007 potekalo tekmovanje z veliko denarno

nagrado ob uspesnem faktoriziranju velikega stevila. Trenutno je se varno izbrati najmanj 1024

bitna prastevila, se pa ze bolj priporoca uporaba 2048 bitnih prastevil. Seveda se bo v priho-

dnosti ta stevilka vedno bolj visala, saj bodo na voljo hitrejsi procesorji in s tem zmogljivejsi

racunalniki.

Na temo RSA kriptiranja obstaja veliko literature v angleskem jeziku, medtem ko v slovenscini

ne prav veliko. Se pa literatura razlikuje predvsem po tem, katero temo je avtor zelel izpostaviti.

Veliko je napisanega o razlicnih postopkih iskanja velikih prastevil, preverjanju prastevilskosti

in drugih kriptositemih, ki so se razvili na podlagi RSA.

V diplomskem delu smo predstavili zgodovino sifriranja od starih Egipcanov pa vse do razvoja

kriptografije javnega kljuca, ki je eden od najvecjih napredkov pri izmenjavi kljucev za sifriranje

in desifriranje. Dokazali smo, da metoda RSA deluje pravilno in se malo dotaknili tudi teme o

uporabi, varnosti in napadih na RSA.

27

Page 36: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

28 POGLAVJE 5. SKLEP

Page 37: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

Literatura

[1] Agrawal M., Kayal N., Saxena N., PRIMES is in P. Annals of Mathematics. Volume 160,

2004, stran 781 - 793.

[2] Coppersmith D., Small solutions to polynomial equations, and low exponent RSA vulnera-

bilities. Journals of Cryptology. Volume 10, 1997, stran 233 - 260.

[3] Grasselli J., Elementarna teorija stevil. DMFA- zaloznistvo, Ljubljana, 2009.

[4] Hoffstein J., Pipher J., Silverman J., An introduction to mathematical cryptography. Sprin-

ger cop., New York, USA, 2008.

[5] Kocher P., Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other

systems. Springer-Verlag, New York, 1996, stran 104 - 113.

[6] Medved, I. Nacelo vkljucitev in izkljucitev ter njegova uporaba. Diplomsko delo. Pedagoska

fakulteta, Ljubljana, 2013.

[7] Mollin R., An introduction to cryptography. Second Edition. Taylor & Francis Group, Boca

Raton, USA, 2007.

[8] Pavesic N., Informacija in kodi. Zalozba FE in FRI, Ljubljana, 2009.

[9] Rosen K., Elementary number theory and its applications. Fifth edition. Pearson/Addison

Wesley, cop., Boston, USA, 2005.

[10] Singh S., Knjiga sifer: umetnost sifriranja od starega Egipta do kvantne kriptografije. Ucila

International, Trzic, 2006.

[11] Wiener M. J., Cryptanalysis of short RSA secret exponents. IEEE Transactions on Infor-

mation Theory. Volume 36 (1990), stran 553 - 558.

[12] Cesnik U., Asimetricni sifrirni postopki.

Dostopno na: http://www.lkn.fe.uni-lj.si/Seminarji/u_cesnik.pdf (3. 8. 2013).

29

Page 38: UNIVERZA V LJUBLJANI PEDAGOSKA FAKULTETApefprints.pef.uni-lj.si/1800/1/Savs_Teja-RSAkriptiranje.pdf · PEDAGOSKA FAKULTETA Studijski program: DVOPREDMETNI U CITELJ Smer: MATEMATIKA

30 LITERATURA

[13] Tattersall J., Elementary Number Theory in Nine Chapters. Cambridge University Press,

New York, 1999.

Dostopno na: http://www.fmf.uni-lj.si/~lavric/Tattersall\%20-\%20Elementary

\%20number\%20theory\%20in\%20nine\%20chapters.pdf (19. 8. 2013).