Professional Documents
Culture Documents
MS Pred4
MS Pred4
SISTEMIMA
Asimetrični sistemi kriptovanja
Disclaimer: The European Commission support for the production of this website does not constitute an
endorsement of the contents which reflects the views only of the authors, and the Commission cannot be
held responsible for any use which may be made of the information contained therein.
15-09-2019
Fare clic per modificare lo stile del titolo
UVOD
▸ Koncept kriptografije sa asimetričnim ključevima ili kriptografije sa javnim
ključem evoluirao je iz pokušaja da se riješe dva osnovan problema koji
postoje kod simetričnih enkripcija:
2
Fare clic per modificare lo stile del titolo
Primjena asimetričnih sistema kriptovanja
javni ključevi privatni ključ
X šifrirani tekst X
Otvoreni tekst Enkripcija Dekripcija Otvoreni tekst
Y
Y=E(PUB,X) X=D(PRB,Y)
PUB je javni PRB je privatni
Osoba A ključ osobe B ključ osobe B Osoba B
javni ključevi
privatni ključ
X šifrirani tekst X
Otvoreni tekst Enkripcija Dekripcija Otvoreni tekst
Y
Y=E(PRA,X) X=D(PUA,Y)
PRA je privatni PUA je javni
Osoba A ključ osobe A ključ osobe A Osoba B
Enkripcija sa privatnim ključem
u ovom slučaju obzbijeđena je autentifikacija ali svako može pročitati poruku
3
Fare clic per modificare lo stile del titolo
Primjena asimetričnih sistema kriptovanja
Osoba A Osoba B
Otvoreni X Y Z Y X Otvoreni
Enkripcija Enkripcija Dekripcija Dekripcija
tekst tekst
PRB
PUB
PRA Izvor para
ključeva
PUA
Izvor para Z=E(PUB, E(PRA,X))
ključeva
X=D(PUA, D(PRB,Z))
4
Fare clic per modificare lo stile del titolo
Primjena asimetričnih kriptosistema
▸ Postoje javni i privatni ključ svakog učesnika u komuniakciji i u ovisnosti kako se
koriste imamo tri kategorije primjene ovih sistema:
▸ Razmjena ključeva
5
Fare clic per modificare lo stile del titolo
Usporedba simetričnih i asimetričnih sistema
6
Fare clic per modificare lo stile del titolo
Kriptoanaliza
∧
PRB
Kriptoanaliza ∧ Osoba B
Osoba A X
Otvoreni X X Otvoreni
Enkripcija Dekripcija
tekst tekst
Y=E(PUB,X)
X=D(PRB,Y)
PRB
PUB
Izvor para
ključeva
7
Fare clic per modificare lo stile del titolo
Kriptoanaliza
∧
PRA
Osoba A Kriptoanaliza Osoba B
Otvoreni X X Otvoreni
Enkripcija Dekripcija
tekst tekst
Y=E(PRA,X)
X=D(PUA,Y)
PRA
PUA
Izvor para
ključeva
U ovom slučaju napadaču su na raspolaganju javna šifra pošiljaoca i kriptovani
tekst se lako može dobiti na osnovu poznate javne šifre pošiljaoca a cilj je na
osnovu toga otkriti privatnu šifru pošiljaoca.
Ovo je slučaj autentifikacije.
8
Fare clic per modificare lo stile del titolo
Modularna aritmetika
▸ Nekoliko važnih algoritama za enkripciju koristi modularnu aritmetiku. Rezultat
izračunavanja je uvijek u području od 0 do m pri čemu je m modul.
▸ Da biste izračunali vrijednost n mod m, oduzimate što više multipla m dok ne dobijete
odgovor između 0 i m.
▸ Primjeri:
▸ 17 mod 5 = 2 7 mod 11 = 7
▸ 20 mod 3 = 2 11 mod 11 = 0
▸ -3 mod 11 = 8 -1 mod 11 = 10
▸ 9 - 2 mod 10 = 9 + 8 mod 10 = 7
▸ 4 - 6 mod 10 = 4 + 4 mod 10 = 8
▸ Ako je n negativan broj, u tom slučaju dodajete m sve dok se ne dobije odgovor u
opsegu od 0 do m.
9
Fare clic per modificare lo stile del titolo
Modularna aritmetika: sabiranje
+ 0 1 2 3 4 5 6 7 8 9
0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 0
2 2 3 4 5 6 7 8 9 0 1
3 3 4 5 6 7 8 9 0 1 2
4 4 5 6 7 8 9 0 1 2 3
5 5 6 7 8 9 0 1 2 3 4
6 6 7 8 9 0 1 2 3 4 5
7 7 8 9 0 1 2 3 4 5 6
8 8 9 0 1 2 3 4 5 6 7
9 9 0 1 2 3 4 5 6 7 8
10
Fare clic per modificare lo stile del titolo
Modularna aritmetika: osobina kongruentnosti
▸ 1.a ≡ b (mod n) ako je n|(a-b)
▸ Primjer
11
Fare clic per modificare lo stile del titolo
Modularna aritmetika: osobine
▸ [(a mod n) + (b mod n)] mod n = (a + b) mod n
▸ Primjeri
▸ 11 mod 8 = 3; 15 mod 8 = 7
12
Fare clic per modificare lo stile del titolo
Modularna aritmetika: množenje po mod 10
· 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9
2 0 2 4 6 8 0 2 4 6 8
3 0 3 6 9 2 5 8 1 4 7
4 0 4 8 2 6 0 4 8 2 6
5 0 5 0 5 0 5 0 5 0 5
6 0 6 2 8 4 0 6 2 8 4
7 0 7 4 1 8 5 2 9 6 3
8 0 8 6 4 2 0 8 6 4 2
9 0 9 8 7 6 5 4 3 2 1
13
Fare clic per modificare lo stile del titolo
Modularna aritmetika: množenje
▸ Primjer: poruka m = 3, tajni ključ K = 7
14
Fare clic per modificare lo stile del titolo
Modularna aritmetika: množenje
▸ Zasto su stupci 1 i 5, 2 i 6, 3 i 7 isti?
15
Fare clic per modificare lo stile del titolo
Modularna aritmetika: stepenovanje
▸ Stepenovanje je u osnovi ponavljanje množenja kao i u klasičnoj
aritmetici.
16
Fare clic per modificare lo stile del titolo
Modularna aritmetika: stepenovanje (mod 10)
x 0 1 2 3 4 5 6 7 8 9 10 11 12
0 - 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 1 2 4 8 6 2 4 8 6 2 4 8 6
3 1 3 9 7 1 3 9 7 1 3 9 7 1
4 1 4 6 4 6 4 6 4 6 4 6 4 6
5 1 5 5 5 5 5 5 5 5 5 5 5 5
6 1 6 6 6 6 6 6 6 6 6 6 6 6
7 1 7 9 3 1 7 9 3 1 7 9 3 1
8 1 8 4 2 6 8 4 2 6 8 4 2 6
9 1 9 1 9 1 9 1 9 1 9 1 9 1
17
Fare clic per modificare lo stile del titolo
Modularna aritmetika: stepenovanje
• Brojevi 1, 3, 7 i 9 su relativno prosti (relatively prime) brojevi u odnosu na broj
10
18
Fare clic per modificare lo stile del titolo
Uslovi koje trebaju ispunjavati asimetrični algoritmi
▸ Jednostavno je računski od strane B da generiše par ključeva: javni PUB i privatni PUA.
▸ Računski je neisplativo za napadača poznajući javni ključ PUB da odredi privatni ključ PRB
▸ Računski je neisplativo za napadača, poznajući javni ključ PUB i šifrovani tekst C za dobijanje
izvorne poruke M.
▸ Y = f (X ) jednostavno
▸ X = f −1(Y ) neisplativo
19
Fare clic per modificare lo stile del titolo
RSA algoritam - uvod
▸ 1978. god. definisan je prvi asimetrčni algoritam, koji se označava
sa RSA (Rivest, Shamir i Adleman)
20
Fare clic per modificare lo stile del titolo
RSA algoritam
▸ Enkripcija i dekripcija se realiziraju u obliku:
▸ C = M emod n
▸ Ovo je asimetrični sistem kod kojeg je javni ključ PU={e,n} a privatni ključ PR={d,n}.
21
Fare clic per modificare lo stile del titolo
RSA algoritam
▸ Potrebno je naći vezu oblika
▸ M ed mod n = M
▸ Ova veza važi ako su e i d multiplikativno inverzni modulu ϕ(n) gdje je ϕ(n) Eulerova
funkcija. Eulerova funkcija označava broj relativno prostih brojeva u odnosu na n koji
su manji od n.
▸ Ekvivalentno imamo:
▸ ed ≡ 1 mod ϕ(n)
▸ d ≡ e −1mod ϕ(n)
▸ e id su multiplikativno inverzni mod ϕ(n) Ovo je ispunjeno samo ako su d (i prema tome e)
relativno prosti brojevi u odnosu na ϕ(n).
22
Fare clic per modificare lo stile del titolo
RSA algoritam
▸ RSA šema sadrži:
▸ Primjer:
23
Fare clic per modificare lo stile del titolo
RSA algoritam
▸ Procedura za dobijanje ključeva:
▸ Izračunati N = p ⋅ q
24
Fare clic per modificare lo stile del titolo
RSA algoritam - primjer generisanje ključa
1. Izabrati dva prosta broja: p=17 i q=11.
2. Izračunati n = p ⋅ q = 17 ⋅ 11 = 187
4. Izabrati e tako da je e relativno prost broj u odnosu na ϕ(n) = 160 i manji od ϕ(n).
Izaberimo e=7.
7. Ključ je:
1. javni PU={e,n}={7,187}
25
Fare clic per modificare lo stile del titolo
RSA algoritam - primjer
▸ Kao ilustracija formiranja para ključeva data je sledeća procedura:
▸ izračunati N = p x q = 6012707;
▸ računa se d = 3674911.
26
Fare clic per modificare lo stile del titolo
Diffie-Hellman algoritam razmjene ključeva
▸ Razvili su Diffie i Hellman 1976 godine.
27
Fare clic per modificare lo stile del titolo
Diffie-Hellman algoritam razmjene ključeva
• Osoba A i Osoba B se dogovaraju oko
Osoba A Osoba B
primitivnog broja p i primitivnog korijena g.
• Osoba A generiše slučajni broj X i izračuna
gip A=gX mod p
gip
dogovoreno i to šalje osobi B.
dogovoreno
• Osoba B generiše slučajni broj Y i izračuna
B=gY mod p
generisanje generisanje i to šalje osobi A.
X Y • Dijeljeni ključ je: gXY mod p
• Bilo koji napadač zna brojeve: g, p, A i B ali
ne zna X i Y.
A=gX mod p • Ukoliko neka osoba C želi da dođe u posjed
B=gY mod p
zajedničkog tajnog ključa, znajući A, g i p,
prinuđena je da koristi diskretni logaritam.
• Sigurnost razmjene ključeva leži u činjenici
BX=gXY mod p AY=gXY mod p da iako je relativno lako naći eksponente po
modulu prostog broja, jako je teško naći
diskretne logaritme.
• Posebno dolazi do izražaja za velike proste
Tajni ključ Tajni ključ brojeve.
28
Fare clic per modificare lo stile del titolo
Primjer
Osoba A Osoba B
g= 3 i p=353 g= 3 i p=353
X=97 Y=233
29
Thank you !
www.project-benefit.eu