1 / 23

Az RSA algoritmus

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

zev
Download Presentation

Az RSA algoritmus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Az RSA algoritmus Fóti Marcell

    2. Hogy muködik az RSA? Te mod N = R Rd mod N = T Ahol e és d egymás multiplikatív inverze

    3. Szünet Kérdések?

    4. Célok Az RSA algoritmus megértése RSA titkosítás puszta kézzel (+calc.exe) RSA algoritmus kifejlesztése VBScriptben ASP lapban C#-ban

    5. Nemek Nem az RSA az egyetlen nyílt kulcsú algoritmus Nem a Certificate Authority generálja a kulcspárokat Az RSA nem csak prímszámokkal muködik (sot!)

    6. Trapdoor függvények Olyan függvényeket keresünk, melyek nem muködnek visszafelé Diffie-Hellmann, 1976 Rivest, Shamir, Adleman, 1977 Ellpitikus függvények Tech.net december Stb.

    7. Moduloaritmetika A modulo ideális trapdoor függvény 127 mod 21 = 1 A 21 és az 1 ismeretében soha nem találjuk ki a kiindulási számot Kongruencia Moduloegyenloség 127 ? 1 (mod 21) Összeadásra, szorzásra elemenként is igaz!

    8. Az RSA elozményei T(N-1) mod N = 1 és TN mod N = T ha N nagyobb mint T, és N prímszám Ókori trükk Euler bácsi rég bebizonyította

    9. Relatív prímek Prímtényezokre bontás 18 = 2 * 3 * 3 30 = 2 * 3 * 5 A legnagyobb közös osztó (LKO) Két szám közös prímtényezoinek szorzata 18 és 36 esetén 2*3=6 Ha LKO=1, a két szám relatív prím egymáshoz képest

    10. Kísérlet relatív prímekkel... Vajon T(P*Q) ?T (mod N) ? Ha N=P*Q és N relatív prím T-hez? Próba: T=5 N=6 Ez relatív prím T-hez 56 mod 6=

    11. Euler fíje Mitol muködik a TN mod N = T? A két N „véletlenül” azonos! A kitevo valójában N relatív prímjeinek száma + 1 Prímszámoknál f(N) = N-1 Így a kitevo „véletlenül” N-1+1=N A többi számnál a szám prímtényezoinek relatív prímjeinek szorzata + 1 315= 3 * 5 * 7, 2 * 4 * 6 = f = 48 Ellenpróba x(48+1) mod 315 = x, ha x relatív prím 315-höz

    12. Kísérlet fível… T f(N)+1 ?T (mod N) Próba T=5 N=6 Ez relatív prím T-hez f(6)=2 5(2+1) mod 6 =

    13. A hatványkitevo felbontása f(N)+1 = P*Q T(P*Q) ? T (mod N után) Az elozo példában a kitevo 3 volt Hogy bontható fel? 3 * 1 ? vagy 1 * 3 ?? Nem jó, mert 1. hatványra felesleges emelni!

    14. ...visszatérünk Tf(N) mod N = 1 Mindkét oldalt emeljük négyzetre: Tf(N) * Tf(N) ? 1 * 1 (mod N) Most köbre: Tf(N) * Tf(N) * Tf(N) ? 1 * 1 * 1 (mod N) Összevonva T3*f(N) ? 1 (mod N) Tbármennyi*f(N) ? 1 (mod N) Mindkét oldalt szorozzuk meg T-vel: Tbármennyi*f(N)+1 ? T (mod N)

    15. Az utolsó lépések Ismétlés: Tbármennyi*f(N)+1 ? T (mod N) bármennyi*f(N)+1 „könnyedén” felbontható két szám szorzatára bármennyi*f(N)+1=P*Q Titkosító: TP mod N = R Megfejto: RQ mod N = T

    16. Kézi RSA példa Titkosítandó (T): 8 Modulus(N): 15 (relatív prím 8-hoz) 15 prímtényezoi: 3 * 5 f = 2*4 = 8 Szorzótényezokre bontandó: K * f + 1 = 1 * 8 + 1 = 9 -> 3*3, azonos a két kulcs :( 2 * 8 + 1 = 17 3 * 8 + 1 = 25 -> 5 *5, azonos a két kulcs :( 4 * 8 + 1 = 33 -> 3 * 11 3 és 11 egymás multiplikatív inverze

    17. Kézi RSA példa Publikus kulcs: e=3, N=15 Privát kulcs: d=11, N=15 Titkosítás 83 mod 15 = 2 Kibontás 211 mod 15 = 8

    18. Milyen legyen a modulus? N (a modulus) legyen Oltári nagy szám „Univerzális” relatív prím Legnagyobb közös osztója tetszoleges számmal 1 legyen Könyu legyen megállapítani a f-jét

    19. Kulcsgenerálás Veszünk (generálunk) két bazinagy prímszámot (P és Q) A modulus N = P * Q Ez ugyan nem prím, de mivel két elvetemülten nagy prímszám szorzata, gyakorlatilag bármilyen nagy számhoz relatív prím lesz Mindkét prímszámnak tudjuk a f-jét, így N f-je: f=(P – 1) * (Q - 1) Ezután felbontjuk bármennyi*f+1-et két szám szorzatára (e és d). A bazinagy prímszámokat elhajítjuk. Többé nem kellenek. A kulcspárok pedig e, N és d, N

    20. Van-e elegendo prímszám? Euklidész szerint… Tegyük fel, hogy véges számú prímszám van. A legnagyobb prímszámot nevezzük P-nek Q, legyen egy P-nél nagyobb szám, mégpedig így: Q=(2 x 3 x 4 x 5 x ... x P)+1 Q-nak tehát nem osztója sem a 2, sem a 3, sem ... P mert a plusz egy miatt mindig 1 a maradék. Ha Q nem prím, akkor kizárólag egy P-nél nagyobb prím lehet az osztója, mert P-ig bezárólag egyik sem osztja maradék nélkül. 5.b Ha Q prím, akkor mint P-nél nagyobb szám, leüti P-t a trónról Tehát nem P a legnagyobb prímszám ->van belole boven q.e.d.

    21. Prímszámgenerálás: az Ulam négyzet

    22. Óriási prímszámok 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 prím, akkor 2^N-1 is … talán Rabin-Miller teszt

    23. Gyenge pontok Az RSA gyenge pontja nem az algoritmus, hanem a kulcsgenerálás Az RSA addig „él”, amíg nincs jobb módszer N prímtényezokre bontásához, mint a próbálgatás Az RSA Labs pályázatot hirdet prímtényezokre bontásra 576 bites: 10.000$ 2048 bites: 200.000$ http://www.rsasecurity.com/rsalabs/challenges/ factoring/index.html

    24.  Szünet Kérdések?

More Related