Prezentace aplikace PowerPoint
Download
Report
Transcript Prezentace aplikace PowerPoint
Kriptografija sa
asimetričnim ključem
Jelena Ignjatović
Asimetrični-ključ (javni ključ) šifrovanja
Osnovna ideja:
– Korisnik ima dva ključa: javni ključ i privatni ključ.
– Poruka može da bude šifrovana javnim ključem i dešifrovana
privatnim ključem koji bi obezbedio sigurnost.
– Poruka može da bude šifrovana privatnim ključem i
dešifrovana javnim ključem koji bi obezbedio potpise.
Problem distribucije ključeva u gustim
mrežama
U gusto-razgranatim mrežama u kojima dosta članova
komunicira među sobom, zahteva se određeni broj tajnih
ključeva u šifrovanju.
Kompleksnost algoritama raste kvadratno sa porastom broja
učesnika obzirom da u potpuno-zatvorenoj, razgranatoj mreži
svakom od n komunikacinih partnera mora da bude sigurno
isporučeno (n-1) ključeva.
• Uzmimo primer široke komunikacione mreže sa 100
potpuno-razgranatih čvorova gde se ključ svake sesije menja
svakog sata što rezultuje zahtevom da se distribuira oko
240.000 ključeva svaki dan.
• Kao što se može videti, distribucija tajnih ključeva se slabo
menja sa porastom broja učesnika. Zato su dugo vremena
ljudi tražili neku altrnativu za uspostavljanje sigurnih veza.
Efikasno rešenje je najzad pronađeno 1976 sa novim
konceptom kriptosistema sa javnim ključem.
Problem sigurne distribucije ključeva
KAB, KAC, KAD, KAE, KAF
Alice
KAF, KBF, KCF,
Fred
Bob
KDF, KEF
KAB, KBC, KBD,
KBE, KBF
KAE, KBE, KCE,
KAC, KBC, KCD,
KDE, KEF
KCE, KCF
Edna
Sigurna distribucija
n2 ključeva
Ključevi se moraju
razmenjivati na siguran način
Carol
Dave
KAD, KBD, KCD, KDE, KDF
Sistem distribucije javnog ključa
Javni
direktorijum
Alice :
Bob :
Carol :
Dave :
Edna :
Fred :
KA
KB
KC
KD
KE
KF
KA
Alice
Fred
Bob
KE
KB
KE
KC
Edna
javna distribucija
n ključeva
Ključ se može poslati
putem interneta
Carol
KD
Dave
Kriptografija sa javnim ključem
pronalazači
– Whitfield Diffie i Martin Hellman 1976
– Ralph Merkle 1978
Alice
Bob
C = fPUBKB(P)
Šifrovanje
jednosmernom
funkcijom
Jednosmerne funkcije se obično
zasnivaju na dobro poznatim
teškim matematičkim
problemima
Faktorizacije
Diskretni logaritamski problem
P = f-1PRIVKB(C)
Računanje inverzne
funkcije je ekstremno
skupo
P = f-1PUBKB(C)
PUBKB
PRIVKB
Joe
RSA kriptosistem sa javnim
ključem
Razvili su ga 1978 Rivest, Shamir and Adleman (RSA)
Ovo je najpopularniji kriptosistem sa javnim ključem
Zasniva se na matematičkom problemu „faktorizacije celih
brojeva“ 143 = 11*13
RSA kriptosistem sa javnim ključem
Algoritam za generisanje ključa
Korak 1: Slučajno biramo dva velika prosta broja p i q
– Za maksimalnu sigurnost, biramo p i q približno jednake dužine,
od 512-1024 bitova svaki.
Korak 2: Računamo proizvod
Korak 3: Slučajno biramo broj e < (p-1)(q-1)
– Brojevi e i (p-1)(q-1) moraju biti uzajamno prosti, tj. Ne smeju
da imaju zajedničke proste faktore.
Korak 4: Računamo jedinstveni inverz d = e-1 mod (p-1)(q-1)
– Jednakost d·e mod (p-1)(q-1) = 1
može se rešiti korišćenjem Euklidovog algoritma.
n = p·q
RSA kriptosistem
Primer generisanja ključa
p = 3, q = 11:
(p-1)·(q-1) = 2 · 10 = 2 · 2 · 5 = 20
Javni eksponent e mora biti uzajamno prost sa (p-1)·(q-1) , tj. on
ne može imati 2 i 5 kao faktore.
e
d
e·d
3
7
9
11
13
17
19
7
3
9
11
17
13
19
21
21
81
121
221
221
361
n = p·q = 33
e·d mod 20
1
1
1
1
1
1
1
Svi mogući izbori
eksponenata e i d
RSA kriptosistem
Javni i privatni ključevi
Javni ključ: moduo n i javni eksponent e
– n i e se objavljuju u javnom direktorijumu,
Privatni ključ: moduo n i privatni eksponent d
– Privatni eksponent d je tvoj tajni ključ. On može biti zaštićen
ili skladištenjem na čip kartici ili na disku uz šifrovanje
simetričnom šifrom po tvom izboru.
– Veliki prosti brojevi p i q koji su korišćeni za generisanje
ključa više nisu potrebni i mogu biti izbrisani.
RSA kriptosistem
Šifrovanje i dešifrovanje
Šifrovanje bloka x otvorenog teksta:
– Pošiljalac koristi javni ključ primaoca
da šifruje x < n.
Dešifrovanje bloka y šifrata:
x = yd mod n
– Primalac koristi privatni ključ da otkrije
blok x otvorenog teksta.
Bez dokaza:
y = xe mod n
yd = (xe)d = xe·d = xm·(p-1)·(q-1) + 1 = x1 = x (mod n)
Šifrovanje i dešifrovanje su simetrične operacije
– Redosled stepenovanja javnim eksponentom e i privatnim
stepenom d može biti promenjen.
RSA kriptosistem
Primer šifrovanja / dešifrovanja
Šifrovanje javnim ključem
Binarni otvoreni tekst 0101001001001011010011 ...
Groupe od 5 Bitova 01010 01001 00101 10100 ...
Decimalni plaintext
10
9
5
20
y = x3
y = x3 mod 33
n = 33, e = 3
1000
10
Dešifrovanje privatnim ključem
Decimalni hipertext
10
x = y7
107
x = y7 mod 33
10
729
3
125
26
8000
14
n = 33, d = 7
3
2187
9
26
267
5
14
147
20
RSA–576 izazova
Pokušaj (napor)
– 576 bitni broj (174 decimalne cifre)
– Faktorisan 3. decembra 2003. posle 3 meseca rešavanja.
– Linux Cluster: 144 PCs with 400 MHz Pentium II procesori.
– Urađeno na Universitetu u Bonu, postprerađeno uz podršku BSIa.
18819881292060796383869723946165043980716356
33794173827007633564229888597152346654853190
60606504743045317388011303396716199692321205
734031879550656996221305168759307650257059
= ?
39807508642406493739712550055038649119906436
2342526708406385189575946388957261768583317
*
47277214610743530253622307197304822463291469
5302097116459852171130520711256363590397527
Šifrovanje RSA javnim ključem
Broj izazova
Cena ($US)
RSA-576
$10,000
RSA-640
$20,000
RSA-704
$30,000
RSA-768
$50,000
RSA-896
$75,000
RSA-1024
$100,000
RSA-1536
$150,000
RSA-2048
$200,000
RSA-2048
Cena:
Status $200,000
Datum prijave
Status: Nije faktorisan
December 3,
Decimalne
faktorisano cifre : 617
2003
Podnosilac
J. Franke
et al.
25195908475657893494027183240048398571429282126204
Nije faktorisano
03202777713783604366202070759555626401852588078440
69182906412495150821892985591491761845028084891200
Nije faktorisano
72844992687392807287776735971418347270261896375014
97182469116507761337985909570009733045974880842840
Nije faktorisano
17974291006424586918171951187461215151726546322822
16869987549182422433637259085141865462043576798423
Nije faktorisano
38718477444792073993423658482382428119816381501067
48104516603773060562016196762561338441436038339044
Nije faktorisano
14952634432190114657544454178424020924616515723350
77870774981712577246796292638635637328991215483143
Nije faktorisano
81678998850404453640235273819513786365643912120103
97122822120720357
Not Factored
Suma decimalnih cifara: 2738