Az RSA algoritmus Fóti Marcell.

Slides:



Advertisements
Hasonló előadás
Egyszerű oszthatósági problémák
Advertisements

Oszthatósággal kapcsolatos feladatok pszeudokódban.
Átváltás a számrendszerek között
Készítette: Kosztyán Zsolt Tibor
Elemi algoritmusok Páll Boglárka.
FEJEZETEK A MATEMATIKÁBÓL
Természetes számok 0, 1, 2, 3, ..., 24, 25, ..., 1231, 1232, ..., n, ...  = {0, 1, 2, 3, ..., n,...} a természetes számok halmaza Műveletek: összeadás.
Oszthatóság Az a osztója b-nek, ha van olyan egész szám, amivel a-t szorozva b-t kapok. (Az a osztója b-nek, ha egész számszor megvan benne.) Ha a|b, akkor.
Elemi algoritmusok Páll Boglárka.
Elektronikus aláírás Balogh Zsolt György egyetemi docens
Osztó, többszörös Osztó: azokat a számokat, amelyekkel egy B szám osztható, az B szám osztóinak nevezzük. Minden számnak legalább két osztója van, 1 és.
Legyenek az a és b egész számok.
Halmazok, műveletek halmazokkal
6) 7) 8) 9) 10) Mennyi az x, y és z értéke? 11) 12) 13) 14) 15)
Titkosítás Digitális aláírás Szabványosított tanúsítványok
Prímtesztelés Témavezető: Kátai Imre Komputeralgebra Tanszék Nagy Gábor:
Euklidészi gyűrűk Definíció.
Egy f  R[x] polinom cS -beli helyettesítési értéke
Algebrai struktúrák 1.
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Algebra a matematika egy ága
Informatikai biztonság alapjai 4. Algoritmikus adatvédelem Pethő Attila 2008/9 II. félév.
Informatikai biztonság alapjai 4. Algoritmikus adatvédelem
Hálózatbiztonsági kérdések
Bizonyítások Harmath Zsolt.
Számelmélet Matematika Matematika.
Matematika: Számelmélet
Algebra, számelmélet, oszthatóság
AMFI KUPA és ami mögötte van…
Digitális Aláírás ● A rejtjelező algoritmusokon alapuló protokollok közé tartozik a digitális aláírás is. ● Itt is rejtjelezés történik, de nem az üzenet.
A TERMÉSZETTUDOMÁNYOK ALAPJAI 1. Matematika
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
6. SZÁMELMÉLET 6.1. Oszthatóság
Oszthatóság Az a osztója b-nek, ha van olyan egész szám, amivel a-t szorozva b-t kapok. (Az a osztója b-nek, ha egész számszor megvan benne.) Ha a|b, akkor.
M ODERN KORI KRIPTOGRÁFIA Három ember csak úgy tud megőrizni egy titkot, ha kettő közülük halott. „Benjamin Franklin” Hegedüs Dániel.
A titkosítás alkalmazott módszerei az elektronikus kommunikációban
Folytonos jelek Fourier transzformációja
Exponenciális egyenletek
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
{ PKI } Active Directory Certificate Services
AMFI KUPA és ami mögötte van…
Mikroökonómia gyakorlat
Algebrai struktúrák: csoport, gyűrű, test. RSA Cryptosystem/ Titkosítási rendszer Rivest, Shamir, Adelman (1978) RSA a neten leggyakrabban használt.
Dodekaéder Hamilton köre
Valószínűségszámítás II.
Többdimenziós valószínűségi eloszlások
A természetes számok osztása, az osztás tulajdonságai
Nagy Szilvia 2. Lineáris blokk-kódok II.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
Nyilvános kulcsú titkosítás Digitális aláírás Üzenet pecsétek.
Számok világa.
TITKOSÍTÁS.
A tökéletes számok algoritmusa
Informatikai biztonság alapjai 4. Algoritmikus adatvédelem
3. óra Algebrai kifejezések nagyító alatt
137. óra - Ismétlés Számok és műveletek
78. óra Prímszámok Röp: 1. Az osztó definíciója. 2. Dönts el és indokold: a.) osztható-e 125-tel? b.)
Alice, Bob és Carol A mai titkosítás hősei
A kínai maradéktétel algoritmusa
Algebra, számelmélet, oszthatóság
A legkisebb közös többszörös
óra Algebra
Algebrai geometriai számítások
Algebra, számelmélet, oszthatóság
Csoport, félcsoport, test
Hatványozás azonosságai
TITKOSÍTÓ ALGORITMUSOK
Előadás másolata:

Az RSA algoritmus Fóti Marcell

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

Szünet Kérdések?

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

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 működik (sőt!)

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

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 Moduloegyenlőség 127  1 (mod 21) Összeadásra, szorzásra elemenként is igaz!

Az RSA előzményei T(N-1) mod N = 1 és TN mod N = T Erre még visszatérünk! 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 Ezzel dolgozunk. T=14 és N=17 esetén... 1416 mod 17 = 1 1417 mod 17 = 14

Relatív prímek Prímtényezőkre bontás A legnagyobb közös osztó (LKO) 18 = 2 * 3 * 3 30 = 2 * 3 * 5 A legnagyobb közös osztó (LKO) Két szám közös prímtényezőinek 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

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= 1

Euler fíje Mitől működik a TN mod N = T? A két N „véletlenül” azonos! A kitevő valójában N relatív prímjeinek száma + 1 Prímszámoknál f(N) = N-1 Így a kitevő „véletlenül” N-1+1=N A többi számnál a szám prímtényezőinek 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

Szuper! Jöhet a hatványkitevő felbontása! 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 = 5 Szuper! Jöhet a hatványkitevő felbontása!

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

...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)

Az utolsó lépések Kész 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 Megfejtő: RQ mod N = T Kész

Kézi RSA példa Titkosítandó (T): 8 Modulus(N): 15 (relatív prím 8-hoz) 15 prímtényezői: 3 * 5 f = 2*4 = 8 Szorzótényezőkre 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

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

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 tetszőleges számmal 1 legyen Könyű legyen megállapítani a f-jét

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

Van-e elegendő 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 belőle bőven q.e.d.

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

Ó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

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ényezőkre bontásához, mint a próbálgatás Az RSA Labs pályázatot hirdet prímtényezőkre bontásra 576 bites: 10.000$ 2048 bites: 200.000$ http://www.rsasecurity.com/rsalabs/challenges/ factoring/index.html

 Szünet Kérdések?