Titkosírás. Biztos, hogy titkos? Szabó István előadása. Az életben sok helyen használunk titkosítást (mobil, internet, jelszavak...

Hasonló dokumentumok
Diszkrét matematika I.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Waldhauser Tamás december 1.

PRÍMSZÁMOK ÉS A TITKOSÍRÁS

Következik, hogy B-nek minden prímosztója 4k + 1 alakú, de akkor B maga is 4k + 1 alakú, s ez ellentmondás.

Számelméleti alapfogalmak

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Data Security: Public key

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:

Információs társadalom alapismeretek

Sapientia Egyetem, Matematika-Informatika Tanszék.

Prímtesztelés, Nyilvános kulcsú titkosítás

Prímszámok. A cikkben szereplő eredmények 2008 decemberéből származnak.

4. Előadás Titkosítás, RSA algoritmus

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

RSA algoritmus. Smidla József. Rendszer- és Számítástudományi Tanszék Pannon Egyetem

Diszkrét matematika I.

A prímszámok eloszlása, avagy az első 50 millió

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

2017, Diszkrét matematika

Szakács Lili Kata megoldása

Sapientia Egyetem, Matematika-Informatika Tanszék.

Tartalom. Algebrai és transzcendens számok

2018, Diszkre t matematika. 10. elo ada s

SzA XIII. gyakorlat, december. 3/5.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Minden egész szám osztója önmagának, azaz a a minden egész a-ra.

4. előadás Prímek, tökéletes számok, Fermat-teszt, pszeudoprímek

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens

HHF0CX. k darab halmaz sorbarendezésének a lehetősége k! Így adódik az alábbi képlet:

Diszkrét matematika 1. estis képzés. Komputeralgebra Tanszék ősz

Bevezetés az algebrába az egész számok 2

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

A Riemann-Siegel zeta függvény kiugró értékeinek keresése. A matematikai egyik legnehezebb problémája, avagy a prímszámok misztériuma

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

1.1. Definíció. Azt mondjuk, hogy a oszója b-nek, vagy más szóval, b osztható a-val, ha létezik olyan x Z, hogy b = ax. Ennek jelölése a b.

1. Egészítsük ki az alábbi Python függvényt úgy, hogy a függvény meghatározza, egy listába, az első n szám faktoriális értékét:

GAUSS-EGÉSZEK ÉS DIRICHLET TÉTELE

Diszkrét matematika I.

SZÁMELMÉLETI FELADATOK

Nagy Gábor compalg.inf.elte.hu/ nagy

Számelmélet (2017. február 8.) Bogya Norbert, Kátai-Urbán Kamilla

Számelmélet. 4. Igazolja, hogy ha hat egész szám összege páratlan, akkor e számok szorzata páros!

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Diszkréció diszkrét logaritmussal

Elemi matematika szakkör

Mintafeladat az RSA algoritmus szemléltetésére

Algebra es sz amelm elet 3 el oad as Nevezetes sz amelm eleti probl em ak Waldhauser Tam as 2014 oszi f el ev

Algoritmuselmélet gyakorlat (MMN111G)

Algoritmuselmélet 6. előadás

Kriptográfiai protokollok

Leképezések. Leképezések tulajdonságai. Számosságok.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Hatványozás. A hatványozás azonosságai

illetve a n 3 illetve a 2n 5

Egészrészes feladatok

GAUSS-EGÉSZEK ÉS DIRICHLET TÉTELE

Számelmélet. 1. Oszthatóság Prímszámok

6. előadás Faktorizációs technikák közepes méretű osztókra

6. előadás Faktorizációs technikák közepes méretű osztókra

OSZTHATÓSÁG. Osztók és többszörösök : a 3 többszörösei : a 4 többszörösei Ahol mindkét jel megtalálható a 12 többszöröseit találjuk.

5.1 Környezet Hálózati topológia

Fejezetek a. csodálatos életéből

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

Kiegészítő részelőadás 2. Algebrai és transzcendens számok, nevezetes konstansok

Matematika A1a Analízis

Diszkrét matematika 2.

Prímszámok statisztikai analízise

Bevezetés az algebrába 1

Dan Brown Digitális erődje és a nyilvános kulcsú titkosítás

Kongruenciák. Waldhauser Tamás

Adatbiztonság PPZH május 20.

Nyilvános kulcsú titkosítás RSA algoritmus

MBL013E Számelmélet és Alkalmazásai

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged

25. tétel: Bizonyítási módszerek és bemutatásuk tételek bizonyításában, tétel és megfordítása, szükséges és elégséges feltétel

2016, Diszkrét matematika

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

Prímtesztelés és prímfaktorizáció

Oszthatóság. Oszthatóság definíciója (az egészek illetve a természetes számok halmazán):

KÓDOLÁSTECHNIKA PZH december 18.

Nagyordó, Omega, Theta, Kisordó

KOVÁCS BÉLA, MATEMATIKA I.

A folyammenti kultúrák. (a, b, c) N 3 Pithagoraszi számhármas, ha. Pithagoraszi számhármasok, a Fermat problémakör. a 2 + b 2 = c 2.

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

2018, Diszkre t matematika. 8. elo ada s

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

4. Számelmélet, számrendszerek

1. Polinomok számelmélete

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Logaritmus

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

VIK A1 Matematika BOSCH, Hatvan, 5. Gyakorlati anyag

Nagy Gábor compalg.inf.elte.hu/ nagy

A folyammenti kultúrák. (a, b, c) N 3 Pithagoraszi számhármas, ha. Pithagoraszi számhármasok, a Fermat problémakör. a 2 + b 2 = c 2.

2. Tétel (Az oszthatóság tulajdonságai). : 2. Nullát minden elem osztja, de. 3. a nulla csak a nullának osztója.

Nagy Gábor compalg.inf.elte.hu/ nagy

Miller-Rabin prímteszt

Átírás:

Biztos, hogy titkos? Szabó István előadása Az életben sok helyen használunk titkosítást (mobil, internet, jelszavak...) Története Az ókortól kezdve rengeteg feltört titkosírás létezik. Monoalfabetikus helyettesítés Helyettesítő tábla, minden betűhöz egy jelet rendel. Elvileg 26! féle lehetőség, de gyakorlatilag sokkal könnyebben feltörhető. Hibája: átörökíti a nyelv gyakoriságait. Polialfabetikus helyettesítés Minden betűnél más számmal toljuk el az abc-t. Ehhez kell egy kulcsszó, ami tartalmazza azt, hogy mikor mennyivel. Ezt mindkettőnek ismernie kell. Hibája: rövid a periódusa (a jelszó hossza), ha arra rájöttünk, akkor ismét lehet nézni a gyakoriságokat Az előadó ezután bemutatott egy kis gépet, amelyet a II. VH-ban használt a magyar hadsereg Hibája: egyenetlen a kulcs One-time-pad kulcs Véletlenszerű Egyenletes Egy kulcsot csak egyszer használnak Közös hibája ezeknek a kulcsoknak: az adó és a vevő oldalnak előre meg kell egyeznie a titkos kulcsban Ez az internet korában nem kielégítő 1

Ez a probléma 1976-ban merült fel mint a nyilvános kulcsú titkosítás problémája (W. Diffie M. E. Hellman) Nyilvános kulcsú titkosítás 1978 több megoldás is van. Egyik: RSA (Rivest Shamir Adleman) Felhasználja: a kongruencia fogalmát (bevezette: Christian Goldbach 1730, elméletét kidolgozta: C.F. Gauss 1801) Fermat-tétel: Ha (p, a) = 1 és p prím, akkor a p 1 1 mod p. Euler-tétel (általánosítás): Ha (a, n) = 1, akkor a (n) 1 mod n. Megjegyzés a továbbiakhoz: Ha n = pq, akkor (n) = (p 1) (q 1). RSA módszer (ha A azt akarja, hogy akárki tudjon titkosan üzenni neki) 1. A választ két nagy prímet, ezeket jelölje p és q. 2. A kiszámolja n = pq értékét. 3. A választ egy e számot, amely relatív prím (n)-hez. 4. A kiszámolja, hogy melyik d szám(ok)ra igaz, hogy ed 1 mod (n). Ekkor: e és n a nyilvános kulcsa, p, q és d rejtve marad (d a titkos magán kulcsa). Most következik az m üzenet kódolása (amit elküldünk A-nak): 1. m-et bontsuk fel m 1,, m k részekre úgy, hogy minden m i kisebb (rövidebb) legyen n-nél. 2

2. Ezekből elkészítjük a rejtjeles blokkokat: c i (m i ) e mod n. 3. Elküldjük az ezekből képzett üzeneteket. A fogadó (A) dekódolása: (c i )d (m i )ed =(m i ) 1 + k (n) = m i (m i (n) ) k m i mod n, mivel m i (n) 1 mod n az Euler-tétel szerint. Gondoljuk meg: d-t csak (n) ismeretében lehet meghatározni. Ez viszont ekvivalens n faktorizálásával, azaz p és q megtalálásával n ismeretében. Tehát: Kérdés: lehet-e faktorizálni nagy számokat? Az RSA nyilvánosságra hozott ilyen nagy számokat (két nagy prím szorzata), pl.: RSA-155 (155 jegyű 10-es számrendszerben) ezt a számot 1999-ben faktorizálták. Megszületett az igény a hitelesítésre az interneten: digitális aláírás. Legyen a hitelesítendő üzenet: m = m 1,, m k. Az aláírás: s i = (m i ) d. Elküldi az (m i, s i, e, n) üzenetet. Ellenőrzés: igaz-e, hogy (s i ) e (m i ) ed m i mod n? Ha igen, akkor hiteles az aláírás. Megjegyzés: Valójában, mivel így az ellenőrzés túl sok műveletből állna, és egy számítógépnek is túl sok időbe telne az (m i ) ed m i kongruenciát vizsgálni, ezért m i t összekeverik és lerövidítik (ez lesz: hash(m i )) és s i =(hash(m i )) d a fenti (m i ) d helyett 3

Mindkét módszer biztonsága a faktorizáláson múlik. Faktorizálási módszerek: n leosztása n ig minden számmal (elég csak a páratlanokkal) ez az Erathosztenészi szita. az első 1 000 000 (eltárolt) prímmel leosztunk. 1874-ben úgy gondolták, hogy senki nem tudja majd faktorizálni a 8 616 460 799-et (10 jegy). Az 1970-es években 20 jegyű számokig tudtak mindent faktorizálni. 1978: publikáció a Scientific Americában, mely szerint az RSA-129 -et évmilliókba telne faktorizálni. 1980: 50 decimális jegyig tudtak faktorizálni. 1994: RSA-129 faktorizációja. 1999: RSA-155 faktorizációja. Prímekről Tétel: Végtelen sok prím létezik (Euklidesz) Bizonyítás: Tegyük fel, hogy csak véges sok prím van, ezek p 1, p 2,, p n. Ekkor p 1 p n + 1 minden prímnél nagyobb és egyikkel sem osztható, ami ellentmondás. Tétel: Minden n számra létezik n darab egymást követő szám, amelyek egyike sem prím. Bizonyítás: A következő n szám teljesíti a feltételeket: (n + 1)! + 2, (n + 1)! + 3,, (n + 1)! + n + 1. Becslések a prímek eloszlására: Jelölje p n az n-edik prímet, π(x) pedig az x-nél nem nagyobb pozitív prímek számát. 4

Keressük a C 1,p, C 2,p, C 1,π, C 2,π függvényeket, melyekre: C 1,p p n C 2,p és C 1,π π(x) C 2,π. Tétel: pn 2 2n 1 minden n 1 re. Bizonyítás: n szerinti teljes indukció, n = 1 re triviálisan igaz. p n + 1 p 1 p 2 p n + 1 (Euklidesz bizonyítása szerint). Tegyük fel, hogy az állítás az s = 1, 2,, n értékek mindegyikére teljesül. Ekkor: p n+1 p 1 p 2 p n + 1 2 M, ahol az M kitevő az 1 + 2 + 4 + + 2 n-1 kettőhatványok összege, s ez kisebb, mint 2 n. Tétel: log log x π(x) (x+1)/2 minden x 2 re, ahol a log most kettes alapú logaritmust jelent. Bizonyítás: Legyen π(x) = n, azaz p n x < p n+1. Ekkor 2 n loglog x < loglog pn+ 1 loglog2 = n = π x. Ennél azonban pontosabb becslések kellenek. Jelölés: ( e =lim n (1+1/n) n, az e alapú logaritmust ln x-szel jelölve:) Gauss 14 éves korából származik az a sejtése, hogy π(x) közelítőleg egyenlő ezzel. 3 000 000-ig le is ellenőrizte. Ez ekvivalens azzal, hogy π(x) ln x / x 1, ha x (x/ln x értékét könnyebb számolni). A sejtést 1896- ban bizonyította egymástól függetlenül Hadamard és de la Vallée Poussin. Belátták, hogy π(x) = x / lnx + O(x/ln 2 x) (abszolút hiba), itt f(x) =O(g(x)) azt jelenti, hogy létezik olyan c konstans, amelyre f(x)/g(x) < c. Ebből becsülhető, hogy mi az esélye annak, hogy egy véletlen, de adott méretű szám prím. 5

Még egy fontos tudnivaló a prímek eloszlásával kapcsolatban: Euler sejtette, hogy az első n prímszám reciprokösszege végtelenbe tart: lim n (1/p 1 +1/p 2 + +1/p n )=. Mertens megadta bizonyította ezt, egyben pontosan megadta az x-nél kisebb prímek reciprokösszegének a nagyságrendjét is: Tétel: Létezik c konstans, amelyre igaz, hogy Σ p x (1/p) = lnln x + c + O(1/lnx) (c az ún. Mertens-állandó). Megjegyzés: A prímek (jóval) sűrűbben vannak, mint a 2-hatványok vagy a négyzetszámok, de az első 10 16 prím reciprokösszege még mindig kisebb, mint 4. Faktorizáció Fermat ötlete: Legyen n összetett. Keressünk olyan x,y számokat, amelyekre x 2 y 2 = (x y) (x + y) = n. Ekkor x y és x + y jó eséllyel tényleges osztója n-nek. (x - y nem 1) Az ötlet továbbfejlesztése: Nagy számokra: keresünk x,y -t, hogy x 2 y 2 mod n. Ha n osztója x 2 y 2 -nek, akkor pq osztója (x y)(x + y)-nak. Rossz az az eset, ha n osztója x y-nak, vagy x + y-nak. Mindenképp igaz, hogy p osztója az egyik tényezőnek, és ha q nem osztója ugyanannak a tényezőnek, akkor sikerült szétválasztanunk a két prímet, és lényegében kész a faktorizáció, ugyanis: 6

Ha p x y, akkor p = (x y, n), ha p x + y, akkor p = (x + y, n). tehát két ismert szám legnagyobb közös osztóját kell megkeresni, amire az euklideszi algoritmus gyors (hatékony) algoritmus! És sikerült n-et felbontanunk! Hogyan találunk két ilyen négyzetszámot Definíció: Legyen B pozitív egész. y pozitív egész szám B-sima (B-smooth), ha egyik prím osztója sem nagyobb B-nél. Segédtétel (Pomerance, ez a faktorizáció fő tétele): Ha y 1, y 2,, y k B-sima számok és k > π(b), akkor létezik olyan K részhalmaza az {1,2,,k} indexhalmaznak, melyre Z = Π jek és j π(b) (y j ) négyzetszám. 1. Keressünk k > π(b) db x i számot, amelyek négyzetének n-es maradéka (y i )B-sima. 2. Ekkor a fenti tétel szerint ki tudunk választani néhány y i -t, hogy azok szorzata négyzetszám (y 2 ). 3. És az ezen y i -khez tartozó x i -k szorzata legyen x. 4. Így pedig teljesül az x 2 y 2 kongruencia. Ezután, az előadó felvázolta, hogy hogyan keresünk ilyen x i számokat kvadratikus szitával. Majd pedig ennek műveletigényéről mondott pár szót. 7