230 likes | 479 Vues
Hogy mukdik az RSA?. Te mod N = RRd mod N = TAhol e s d egyms multiplikatv inverze. Sznet. Krdsek?. Clok. Az RSA algoritmus megrtseRSA titkosts puszta kzzel ( calc.exe)RSA algoritmus kifejlesztseVBScriptbenASP lapbanC
E N D
1. Az RSA algoritmus Fti Marcell
2. Hogy mukdik az RSA? Te mod N = R
Rd mod N = T
Ahol e s d egyms multiplikatv inverze
3. Sznet Krdsek?
4. Clok Az RSA algoritmus megrtse
RSA titkosts puszta kzzel (+calc.exe)
RSA algoritmus kifejlesztse
VBScriptben
ASP lapban
C#-ban
5. Nemek Nem az RSA az egyetlen nylt kulcs algoritmus
Nem a Certificate Authority generlja a kulcsprokat
Az RSA nem csak prmszmokkal mukdik (sot!)
6. Trapdoor fggvnyek Olyan fggvnyeket keresnk, melyek nem mukdnek visszafel
Diffie-Hellmann, 1976
Rivest, Shamir, Adleman, 1977
Ellpitikus fggvnyek
Tech.net december
Stb.
7. Moduloaritmetika A modulo idelis trapdoor fggvny
127 mod 21 = 1
A 21 s az 1 ismeretben soha nem talljuk ki a kiindulsi szmot
Kongruencia
Moduloegyenlosg
127 ? 1 (mod 21)
sszeadsra, szorzsra elemenknt is igaz!
8. Az RSA elozmnyei T(N-1) mod N = 1 s
TN mod N = T
ha N nagyobb mint T, s N prmszm
kori trkk
Euler bcsi rg bebizonytotta
9. Relatv prmek Prmtnyezokre bonts
18 = 2 * 3 * 3
30 = 2 * 3 * 5
A legnagyobb kzs oszt (LKO)
Kt szm kzs prmtnyezoinek szorzata
18 s 36 esetn 2*3=6
Ha LKO=1, a kt szm relatv prm egymshoz kpest
10. Ksrlet relatv prmekkel... Vajon T(P*Q) ?T (mod N) ?
Ha N=P*Q s N relatv prm T-hez?
Prba:
T=5
N=6
Ez relatv prm T-hez
56 mod 6=
11. Euler fje Mitol mukdik a TN mod N = T?
A kt N vletlenl azonos!
A kitevo valjban N relatv prmjeinek szma + 1
Prmszmoknl f(N) = N-1
gy a kitevo vletlenl N-1+1=N
A tbbi szmnl a szm prmtnyezoinek relatv prmjeinek szorzata + 1
315= 3 * 5 * 7,
2 * 4 * 6 = f = 48
Ellenprba
x(48+1) mod 315 = x, ha x relatv prm 315-hz
12. Ksrlet fvel T f(N)+1 ?T (mod N)
Prba
T=5
N=6
Ez relatv prm T-hez
f(6)=2
5(2+1) mod 6 =
13. A hatvnykitevo felbontsa f(N)+1 = P*Q
T(P*Q) ? T (mod N utn)
Az elozo pldban a kitevo 3 volt
Hogy bonthat fel?
3 * 1 ? vagy 1 * 3 ??
Nem j, mert 1. hatvnyra felesleges emelni!
14. ...visszatrnk Tf(N) mod N = 1
Mindkt oldalt emeljk ngyzetre:
Tf(N) * Tf(N) ? 1 * 1 (mod N)
Most kbre:
Tf(N) * Tf(N) * Tf(N) ? 1 * 1 * 1 (mod N)
sszevonva
T3*f(N) ? 1 (mod N)
Tbrmennyi*f(N) ? 1 (mod N)
Mindkt oldalt szorozzuk meg T-vel:
Tbrmennyi*f(N)+1 ? T (mod N)
15. Az utols lpsek Ismtls: Tbrmennyi*f(N)+1 ? T (mod N)
brmennyi*f(N)+1 knnyedn felbonthat kt szm szorzatra
brmennyi*f(N)+1=P*Q
Titkost: TP mod N = R
Megfejto: RQ mod N = T
16. Kzi RSA plda Titkostand (T): 8
Modulus(N): 15 (relatv prm 8-hoz)
15 prmtnyezoi: 3 * 5
f = 2*4 = 8
Szorztnyezokre bontand: K * f + 1 =
1 * 8 + 1 = 9 -> 3*3, azonos a kt kulcs :(
2 * 8 + 1 = 17
3 * 8 + 1 = 25 -> 5 *5, azonos a kt kulcs :(
4 * 8 + 1 = 33 -> 3 * 11
3 s 11 egyms multiplikatv inverze
17. Kzi RSA plda Publikus kulcs: e=3, N=15
Privt kulcs: d=11, N=15
Titkosts
83 mod 15 = 2
Kibonts
211 mod 15 = 8
18. Milyen legyen a modulus? N (a modulus) legyen
Oltri nagy szm
Univerzlis relatv prm
Legnagyobb kzs osztja tetszoleges szmmal 1 legyen
Knyu legyen megllaptani a f-jt
19. Kulcsgenerls Vesznk (generlunk) kt bazinagy prmszmot (P s Q)
A modulus N = P * Q
Ez ugyan nem prm, de mivel kt elvetemlten nagy prmszm szorzata, gyakorlatilag brmilyen nagy szmhoz relatv prm lesz
Mindkt prmszmnak tudjuk a f-jt, gy N f-je:
f=(P 1) * (Q - 1)
Ezutn felbontjuk brmennyi*f+1-et kt szm szorzatra (e s d).
A bazinagy prmszmokat elhajtjuk. Tbb nem kellenek.
A kulcsprok pedig e, N s d, N
20. Van-e elegendo prmszm? Euklidsz szerint
Tegyk fel, hogy vges szm prmszm van.
A legnagyobb prmszmot nevezzk P-nek
Q, legyen egy P-nl nagyobb szm, mgpedig gy:
Q=(2 x 3 x 4 x 5 x ... x P)+1
Q-nak teht nem osztja sem a 2, sem a 3, sem ... P
mert a plusz egy miatt mindig 1 a maradk.
Ha Q nem prm, akkor kizrlag egy P-nl nagyobb prm lehet az osztja, mert P-ig bezrlag egyik sem osztja maradk nlkl.
5.b Ha Q prm, akkor mint P-nl nagyobb szm, leti P-t a trnrl
Teht nem P a legnagyobb prmszm ->van belole boven
q.e.d.
21. Prmszmgenerls: az Ulam ngyzet
22. risi prmszmok 512 bites kulcshossz
10^151 darab 512 bites van
az Univerzumban 10^77 atom van
Great Internet Mersenne Prime Search
http://www.mersenne.org
Martin Mersenne (XVII. szd.)
Ha N prm, akkor 2^N-1 is taln
Rabin-Miller teszt
23. Gyenge pontok Az RSA gyenge pontja nem az algoritmus, hanem a kulcsgenerls
Az RSA addig l, amg nincs jobb mdszer N prmtnyezokre bontshoz, mint a prblgats
Az RSA Labs plyzatot hirdet prmtnyezokre bontsra
576 bites: 10.000$
2048 bites: 200.000$
http://www.rsasecurity.com/rsalabs/challenges/factoring/index.html
24. Sznet Krdsek?