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

Hasonló dokumentumok
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

Számelméleti alapfogalmak

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

3. előadás Prímtulajdonság, lnko, Euklideszi algoritmus, lánctörtek

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

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

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

Tartalom. Algebrai és transzcendens számok

2016, Diszkrét matematika

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

SzA XIII. gyakorlat, december. 3/5.

SZÁMELMÉLETI FELADATOK

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

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

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

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

Bevezetés az algebrába 1

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:

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

3. előadás Prímtulajdonság, lnko, Euklideszi algoritmus, lánctörtek

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

Diszkrét matematika I.

Diszkrét matematika I.

Diszkrét matematika I.

Elemi matematika szakkör

1. előadás Prímtulajdonság, lnko, Euklideszi algoritmus, lánctörtek

2018, Diszkre t matematika. 10. elo ada s

illetve a n 3 illetve a 2n 5

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.

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

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.

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

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

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

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?

Fermat kongruencia-tétele, pszeudoprímszámok

2017, Diszkrét matematika

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

Szakács Lili Kata megoldása

Waldhauser Tamás december 1.

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

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

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Waldhauser Tamás. Jelölés. Az egyszerűség kedvéért (a, b) ρ helyett gyakran azt írjuk, hogy aρb.

NEVEZETES SZÁMELMÉLETI FÜGGVÉNYEKRŐL

Oszthatósági problémák

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások. 21 és 5 7 = 15

GAUSS-EGÉSZEK ÉS DIRICHLET TÉTELE

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

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

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

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!

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

ARANYMETSZÉS. - érettségi dolgozat védése analízis és algebrából - Készítette: Szénási Eszter Mentor: Dr. Péics Hajnalka június 11.

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

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

Matematika 7. osztály

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

Számelmélet Megoldások

A törzsszámok sorozatáról

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

Prímszámok statisztikai analízise

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

2018, Diszkre t matematika. 8. elo ada s

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

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

Maple. Maple. Dr. Tóth László egyetemi docens Pécsi Tudományegyetem, 2007

Irodalom. (a) A T, B T, (b) A + B, C + D, D C, (c) 3A, (d) AD, DA, B T A, 1 2 B = 1 C = A = 1 0 D = (a) 1 1 3, B T = = ( ) ; A T = 1 0

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

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

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

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

Logika és informatikai alkalmazásai

Véletlenszám generátorok és tesztelésük. Tossenberger Tamás

Sapientia Egyetem, Matematika-Informatika Tanszék.

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

2. Feladatsor. N k = {(a 1,...,a k ) : a 1,...,a k N}

Kongruenciák. Waldhauser Tamás

Klasszikus algebra előadás. Waldhauser Tamás március 24.

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

Számítógépes Számelmélet

Megyei matematikaverseny évfolyam 2. forduló

1. megold s: A keresett háromjegyű szám egyik számjegye a 3-as, a két ismeretlen számjegyet jelölje a és b. A feltétel szerint

Data Security: Public key

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

MBL013E Számelmélet és Alkalmazásai

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

GAUSS-EGÉSZEK ÉS DIRICHLET TÉTELE

VIK A1 Matematika BOSCH, Hatvan, 5. Gyakorlati anyag

Logika és informatikai alkalmazásai

Felvételi tematika INFORMATIKA

A híres Riemann-sejtés

Szittyai István december 8. SZTE Bolyai Intézet. Szittyai István (NLG, Hmvh) Partíciók , Bolyai, Szeged 1 / 24

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet

Racionális számok: Azok a számok, amelyek felírhatók két egész szám hányadosaként ( p q

1. Polinomok számelmélete

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória

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

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai

Átírás:

4. előadás Prímek, tökéletes számok, Fermat-teszt, pszeudoprímek Dr. Kallós Gábor 2016 2017 1

Tartalom A prímek száma és elhelyezkedése A nagy prímszámtétel Reciprokösszegek Eratoszthenész szitája Próbaosztásos algoritmus Tökéletes számok Mersenne-prímek Fermat-teszt Pszeudoprímek Euler tétele Feladatok Történeti áttekintés A GIMPS projekt Irodalom 2

A prímek száma Ha véges sok prím van/lenne: közzétehetnénk egy könyvet/listát, amiben az összeset felsoroljuk, és így bármely számról könnyen eldönthető lenne a prímtulajdonság Azonban már Euklidesz is tudta a következőt: Állítás: A prímek száma végtelen Bizonyítás: Soroljuk fel őket, képezzük a szorzatukat (P), vegyük az eggyel nagyobb számot Másik bizonyítás: Euler (lásd később: 1/n sorozat összege ) Megjegyzések Feladatok Ez az igazolás sajnos nem használható a prímek előállítására Kapunk új prímet (P + 1 hoz be új prímfaktort), de általában nem a következőt, pl.: (2 3 5 7 11 13) + 1 = 30001 = 59 509 Kérdés: Van egyáltalán olyan eset, amikor a következő prímet kapjuk? Az euklideszi állítás nyomán szerezzünk tapasztalatokat, hogy milyen új prímek jönnek be P + 1 bevetésével ill. faktorizációval! *Ki tudjuk így tölteni a prímpalettát? (Programmal célszerű vizsgálódni.) Változat: Részszorzatokat is felhasználhatunk! Pl. (2 3) + 1, (2 5) + 1 stb. Vizsgáljuk meg a prímek eloszlását! Hány prímet találunk n-ig? Mekkora az n. prím? (Maple: isprime és ithprime függvények) (*Látunk valami szabályosságot?) 3

A prímek száma Egyszerű prímtesztelő VBA függvény 4

A prímek száma és elhelyezkedése A prímszámok n növekedésével egyre ritkábban fordulnak elő, eloszlásuk azonban alapvetően szabálytalan Fontos kérdés: Milyen sűrűn helyezkednek el az egészek között? Erre (a nehéz) kérdésre sokáig keresték a választ, a 18. sz. végén megsejtett eredményt (Legendre, Gauss) végül Hadamard és de la Vallée-Poussin bizonyította (1899) Jelölje p(n) a prímek számát n-ig (valós függvényként is értelmezhető, p(x), π(x)) Jelöljük p n -nel az n. prímet Tétel ( nagy prímszámtétel): A prímek száma n-ig aszimptotikusan egyenlő n/(ln n)-nel, azaz És: Tétel (változat 1.)*: Ebből parciális integrálással: π x) + ln x (ln x Tétel (változat 2.)*: x 1 x 1 ha x > 58 és + < π ( x) < 1 + ln x 2ln x ln x ha n > 19 3 n ln n + ln ln n < pn < n ln n + 2 Szemléletes jelentés: (nagyon) sok prím van p n nln n π ( x) = x 2 dt ln t + Ο( xe A x log x ) 2! x + (ln x) n! x +... + (ln x) π ( x) x / ln x lim = Ez jó akkor, ha véletlenül akarunk igen nagy prímet találni (pl. RSA algoritmus) x ) ( = + 2 3 n+ 1 3 2ln x 1 ln ln n 2 x... 1 5

A prímek száma és elhelyezkedése A nagy prímszámtétel eredménye azért zseniális, mert a formula maga egyszerű, és mégis meglepően pontos Feladatok Látható, hogy a különbség a két függvény között nagy, de a hányados ráközelít 1-re (az ábrán: logaritmikus skálák) Ellenőrizzük saját programmal a közölt adatokat! Készítsünk %-os statisztikát is a prímekről! (Maple: pi(x) függvény) *Készítsünk szép ábrát a két függvényről! 6

A prímek száma és elhelyezkedése Fontos alkalmazás: Mekkora eséllyel lesz egy véletlenül választott nagy szám prím? Pl. 2 jegyre: 1/ln10 2 = 1/(2 ln10) 1/4,6 100 jegyre: 1/ln10 100 = 1/(100 ln10) 1/230 (Persze az esélyeink könnyen javíthatók: kizárjuk a 2-vel, 3-mal és 5-tel osztható számokat) Továbbá: A prímek között nagyon nagy távolság is lehet (példa: n! után) De: n és 2n között mindig van prím (Bertrand, Csebisev) Ugyanakkor ismertek igen nagy ikerprímek is Sejtés: Végtelen sok ikerprím van (Tudjuk: a természetes számok és a négyzetszámok is végtelen sokan vannak, de ) A poz. egészek reciprokösszege végtelen, a négyzetszámoké ellenben véges (és az 2 π összeg 2-nél kisebb, *pontosan: ) Feladat: Igazoljuk ezeket az állításokat! Tétel (Euler): A prímszámok reciprokösszege végtelen Feladatok 6 Azaz: A prímszámok sűrűbben helyezkednek el, mint a négyzetszámok Becsüljük meg a poz. egészek köbeinek reciprokösszegét! Számoltassuk ki az eredményt Maple-ben (vagy Matlabban)! *Értelmezzük! 7

A prímek száma és elhelyezkedése A számítások Maple-ben és Matlabban (Symbolic Math Toolbox) 8

Eratoszthenész szitája Cél: Meg kell találnunk az összes prímet n-ig Algoritmus (vázlat): lista (inicializálás), karikázás, törlés Állítás: Elég csak n -ig elmenni, mert akkor már csak prímek maradnak a listán Egyszerűsítés pl.: 2 többszöröseit már eleve nem is írjuk fel Feladat: Írjunk programot a feladat megoldására! (*Szép ábra!) Komoly probléma: nagyobb n-ekre igen nagy memóriaigényű az eljárás (!) Továbbá: n prímtulajdonságának igazolásához kb. n ciklust kell végrehajtani Nagy előny (más eljárásban még felhasználjuk): nincs az eljárásban osztás (!), és lényegében nincs benne szorzás 9

Eratoszthenész szitája Egyszerű megvalósítás Maple-ben 10

Próbaosztásos algoritmus Cél: Le kell választanunk egy n számból a nem túl nagy prímosztókat Példa Ha n maga nem túl nagy, akkor ez teljes felbontást jelent, különben részleges felbontást Az eljárás egyben prímtesztként is használható! Tfh. a számunk max. egymillió (25 millió) Ha nem prím, akkor n 1000-ig lesz prímosztója (5000-ig) Szükségünk van tehát egy listára, amely 1000-ig (5000-ig) tartalmazza a prímeket, és ezekkel osztunk 168 ilyen van (669) ez könnyen tárolható Ha találunk valódi osztót, elosztjuk vele a n-t, és folytatjuk az eljárást (amíg szükséges, azaz a felbontatlan rész még nagyobb n -nél) Egyszerűsítési lehetőség Nem tároljuk el a prímeket, csak a 2-vel és 3-mal osztható számokat zárjuk ki a vizsgálatból 1000-ig ez 334 osztást jelent a 168 helyett (5000-ig: 1668 a 669 helyett) Ha egy nagy összetett szám esetében néhány tízezerig (vagy néhány százezerig) nem találunk prímosztót, akkor már nem érdemes tovább ezzel a módszerrel keresni Átlagosan kicsi az esély arra, hogy éppen csak kicsivel nagyobb legyen az első prímosztó (Nagyobb számok esetén a prímosztók vsz. eloszlását lásd később, ill. Knuth) 11

Próbaosztásos algoritmus 12

Próbaosztásos algoritmus Egy egyszerű megvalósítás Nézzük meg az ifactor függvényt az easy opcióval! 13

Próbaosztásos algoritmus A Matlab S. M. T. factor függvénye 14

Próbaosztásos algoritmus Egy egyszerű megvalósítás Excel 15

Próbaosztásos algoritmus Egy egyszerű megvalósítás Python 16

Erathoszthenész szitája és próbaosztásos algoritmus További feladatok Állítsuk elő egy saját (próbaosztásos) programunkkal a prímeket 10 4 -ig/10 5 -ig! Elemezzük a megtalált prímeket! Hányat találunk köztük, amelyek 4k + 1 alakúak, és hányat, amelyek 4k 1 alakúak? Milyen következtetésre jutunk ebből? (Állítás a): Végtelen sok 4k + 1 alakú prím van. Állítás b): Végtelen sok 4k 1 alakú prím van.) *Találunk/észreveszünk bármilyen mintázatot/szabályosságot az előállított prímek eloszlásában? Használjuk fel a próbaosztásos programunkat egy-egy véletlenszerűen választott 10, 12 14 és 16-jegyű szám felbontására, ill. prímtulajdonságának igazolására! Próbaosztásos programunkkal bontsuk fel 100 darab egymás utáni 10-jegyű számot! Készítsünk listát a faktorokról! Hány prímet találunk a listában? (Megfelel ez az elvárt értéknek?) Hány teljes négyzetet találunk a listában? (*Megfelel ez az elvárt értéknek?) Mekkora számot tudunk teljesen faktorizálni általában a próbaosztásos algoritmussal? (Általában: pl. legalább 80% az esély) *Milyen a megtalált a prímosztók méretének az eloszlása? Hány n-nek van n 3/4 -nél, n 1/2 -nél, n 1/3 -nál nagyobb prímfaktora? *Minden n-nél vegyük a legnagyobb prímosztót (n_p_max). Írjuk le az ln(n_p_max)/ln(n) eloszlását, átlagát, szórását! [Általános eredmény (Knuth): egy n szám legnagyobb prímfaktora átlagosan n 0,63 ] 17

Tökéletes számok Az előzőekben megismert két (ókori) algoritmus nagy számokra lassú és nem hatékony A gyorsításhoz mélyebb számelméleti ismereteket kell szereznünk Definíció: Egy pozitív egész számot tökéletesnek nevezünk, ha egyenlő a valódi osztói összegével Az első néhány tökéletes szám: 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064 Feladat: Ellenőrizzük az utolsó két egyenlőséget! (Maple: divisors függvény a numtheory csomagban) *Próbáljuk megkeresni a következő tökéletes számot! Fontos kérdések Végtelen sok tökéletes szám van? (Sejtés: igen) Van-e páratlan tökéletes szám? (Sejtés: nincs) Van-e egyszerű lehetőség a (páros) tökéletes számok generálására? (Igen) A páros tökéletes számok vajon mindig 6-ra vagy 8-ra végződnek? (Igen) 18

Számítástudomány Tökéletes számok Az első négy tökéletes szám felbontása: 6 = 2 3; 28 = 2 2 7 = 4 7 496 = 2 4 31 = 16 31 8128 = 2 6 127 = 64 127 Definíció: Legyen M(n) = 2 n 1. Mersenne-prímeknek nevezzük azokat az M(n) számokat, amelyek prímek. Így az első négy Mersenne-prím: 3, 7, 31, 127 Állítás: Ha M(n) Mersenne-prím, akkor m = 2 n 1 M(n) = 2 n 1 (2 n 1) tökéletes szám Feladatok Állítsunk elő néhány Mersenne-számot, és nézzük meg, hogy prímek-e! (Maple: mersenne fv., numtheory csomag) Mi romlik el abban az esetben az osztóknál (a tökéletes szám képletben), ha a Mersenne-szám nem prím? 19

Tökéletes számok Állítás (eml.): Ha M(n) Mersenne-prím, akkor m = 2 n 1 M(n) = 2 n 1 (2 n 1) tökéletes szám Bizonyítás: Ha M(n) prím, akkor m valódi osztói a következők: 1, 2, 4,, 2 n 1, M(n), 2 M(n), 2 2 M(n),, 2 n 2 M(n). A valódi osztók összege így (1 + 2 + 4 + + 2 n 1 ) + (1 + 2 + 4 + + 2 n 2 ) M(n) = (2 n 1) + (2 n 1 1) (2 n 1) = 2 n 1 (2 n 1) Így tehát minden Mersenne-prímhez tartozik egy páros tökéletes szám Ezen felül az is igaz, hogy nincs más páros tökéletes szám Állítás: Ha m páros tökéletes szám, akkor található olyan egész n, hogy m = 2 n 1 (2 n 1), és 2 n 1 prím Bizonyítás: lásd Bressoud könyv Tétel (következm.): A páros tökéletes számok pontosan azok a 2 n 1 (2 n 1) alakú számok, ahol 2 n 1 (Mersenne-)prím Feladatok Mű-tökéletes számnak nevezzük (csak házilag ) azokat a számokat, amelyek valódi osztóinak összegére valamely egyszerű szabály teljesül (pl. valódi osztói összege = önmaga 1 vagy 2) Keressünk ilyen számokat! *Milyen alakúak a megtalált számok? (Észreveszünk valamilyen szabályszerűséget?) 20

Tökéletes számok, Mersenne-prímek Kérdés: Mikor lesz M(n) prím? Állítás: Ha n összetett, akkor M(n) is összetett Bizonyítás: Legyen n = a b, ahol a és b egyaránt 1-nél nagyobb egészek. Ekkor M(n) = 2 a b 1 = (2 a ) b 1 = (2 a 1) (1 + 2 a + 2 2a + + 2 (b 1) a ). Itt mindkét faktor nagyobb 1-nél. Így a problémánk arra redukálódott, hogy a prím M(p)-ket megkeressük M(2) = 3, M(3) = 7, M(5) = 31, M(7) = 127 mind prímek De: M(11) = 2047 = 23 89 nem prím! M(13) = 8191, M(17) = 131 071, M(19) = 524 287 mind prímek Az ezutáni Mersenne-prímeket a következő p értékekre találjuk: 31, 61, 89, 107, 127, 521, 607, 1279, 2203, 2281, 3217, 4253, 4423 (1332 jegyű szám) Nagyon nagy Mersenne-számok prímtulajdonsága is hatékonyan igazolható a Lucas- Lehmer teszt segítségével 21

Mersenne-prímek A Lucas-Lehmer teszt Példa: q = 3 (Egyelőre magyarázat nélkül) Ekkor m = 2 q 1 = 7 A teszt lefutása: (4 2 2) mod 7 vizsgálata, ez pedig 0 Így a 7 prím Bináris számítógépeknek ez a teszt nagyon jól fekszik, mert a mod (2 q 1) számítások egyszerűen megvalósíthatók (lásd még: Knuth) A modern kor legnagyobb ismert prímszámai szinte mindig Mersenne-prímek 22

Fermat észrevétele Fermat az összetett M(p) Mersenne-számokat vizsgálta (ahol p prím), p = 23-ig Észrevette, hogy ha q M(p), akkor q mod p = 1 is teljesül! Feladat: Nézzük meg ezt M(11)-re és M(23)-ra! Nem prím p-re ez gyakran nem érvényes pl. M(4) = 15 = 3 5, M(6) = 63 = 3 3 7 Bevezetjük a kongruenciát a b (mod m) jelentése: m (a b) vagy a mod m = b mod m (a és b ugyanahhoz a maradékosztályhoz tartoznak modulo m, a legkisebb maradék a kitüntetett) Lehet: egyszerű feladat a maradékosztályokról, pl. mod 5 A kongruencia egyszerű tulajdonságai (áll.) Ha a x (mod m) és b y (mod m) akkor a + b x + y (mod m) és a b x y (mod m) Ha lnko(x, m) = 1 és a x b x (mod m) akkor a b (mod m) Fermat észrevétele így: ha d M(p) azaz d prímek szorzata, amelyek osztják M(p)-t akkor d 1 (mod p) Sőt, d = M(p) is lehet, így 2 p 1 1 (mod p) És itt, ha p nem 2, hanem páratlan prím, akkor kapjuk: 2 p 1 1 (mod p) Ez Fermat (kis) tételének 1. változata (biz. később, egyelőre fogadjuk el) 23

Pszeudoprímek Eml. páratlan prímekre: 2 p 1 1 (mod p), azaz a prímekre nagyon speciális egyenlőség teljesül! És a többi számra nem Példák (Fermat-teszt): 2 3 1 = 4 1 (mod 3), 2 4 1 = 8 0 (mod 4), 2 5 1 = 16 1 (mod 5), 2 6 1 = 32 2 (mod 6), 2 8 1 = 128 0 (mod 8), 2 14 1 = 8192 2 (mod 14) Feladat: Próbáljuk ki több más (kisebb) számra is! Remény: Van egy igen jó eszközünk, amellyel megkülönböztethetjük a prímeket az összetett számoktól! A hatványozás számítógéppel nagyon gyorsan elvégezhető Sajnos vannak azonban olyan összetett számok, amelyek úgy viselkednek, mint a prímek: 2 341 1 1 (mod 341), ugyanakkor 341 = 11 31 Definíció: Ha n páratlan összetett szám, és ugyanakkor 2 n 1 1 (mod n), akkor n-et pszeudoprímnek nevezzük Szerencsére a pszeudoprímek ritkák, így a Fermat-teszt a gyakorlatban elég magas megbízhatóságot nyújt 1000-ig csak három pszeudoprím van: 341, 561, 645 1000000-ig pedig 245 (a prímek száma 78498) 24

Pszeudoprímek Fermat azt is észrevette, hogy nemcsak 2 lehet alap (Tétel, vált.): Ha p olyan prím, amire p b, akkor: b p 1 1 (mod p) Hasonlóan (def.): Ha n ptlan összetett szám, amire lnko(n, b) = 1, és b n 1 1 (mod n), akkor n-et b-alapú pszeudoprímnek nevezzük Így erősíthetjük az előző tesztet: Ha pl. n átmegy a 2 alapú teszten, akkor megnézzük 3, 5, alappal is A 341 pl. így már lebukik Sajnos vannak azonban olyan durván pszeudoprím összetett számok is, amelyek minden tesztet becsapnak, ha az alap relatív prím Ezeket Carmichael-féle számoknak nevezzük A legkisebb az 561 = 3 11 17 Feladat: Próbáljuk ki, hogy az 561 átmegy a 2, 5, 7, 13 alapú teszteken! Persze nyilván a 3, 11 és 17 alapú teszten nem A Carmichael-számok nagyon (extrém) ritkák 25 milliárdig csak 2163 van belőlük *Knuth: a Carmichael-számok mindig legalább 3 kül. prím szorzatából állnak (azaz -ig biztosan találunk osztót) 3 n 25

Pszeudoprímek Feladatok Írjunk programot a (2, 3, alapú) pszeudoprímek meghatározására megadott határig! Keressünk a Fermat-teszt segítségével 20, 50, 100 és 200 jegyű valószínű prímeket! Írjunk programot a Carmichael-számok meghatározására megadott határig! Készítsünk statisztikákat: Mennyi a pszeudoprímek aránya a prímekhez viszonyítva adott határig? Mennyi a Carmichaelszámok aránya a prímekhez és a pszeudoprímekhez viszonyítva adott határig? Keressünk minél több 3 p q és 5 p q alakú Carmichael-számot! *Keressünk olyan (nem kicsi) Carmichael-számokat, amelyekre a próbaosztásos algoritmus nem tud könnyen osztót találni (nincs kicsi prímosztójuk)! 26

Pszeudoprímek Alkalmazás példa: Fermat-teszt Python alatt 27

Euler tétele Definíció (Euler-féle φ függvény): Jelölje φ(n) az n-hez relatív prím pozitív egészek számát n-ig Például: φ(3) = 2, φ(4) = 2, φ(5) = 4, φ(6) = 2 Tétel: Legyenek n és b pozitív, relatív prím egészek. Ekkor b φ(n) 1 (mod n). Ha n prím, akkor φ(n) = n 1, azaz a kis Fermat tételt kapjuk Példa: 2 φ(15) = 2 8 = 256 1 (mod 15) Bizonyítás: Legyen t = φ(n) és legyenek a 1, a 2,, a t azok az n-nél kisebb (különböző) poz. egészek, amelyek rel. prímek n-hez. A b a 1, b a 2,, b a t mod n maradékokat jelöljük r 1, r 2,, r t -vel. (Itt b a i r i (mod n).) Ha i és j különböző, akkor r i és r j is különböző. (Ha nem így lenne, akkor b a i b a j (mod n)-ből lnko(b, n) = 1 miatt következne a i a j (mod n), de ez nem lehet.) Az is igaz, hogy lnko(r i, n) = 1, mert valódi osztójuk a i -t is osztaná (ez szintén nem lehet). Így r 1, r 2,, r t pontosan φ(n) darab 0 és n közötti egész, amelyek rel. prímek n-hez. Eszerint ezek pontosan ugyanazok, mint a 1, a 2,, a t, csak esetleg más sorrendben. Így r 1 r 2 r t b a 1 b a 2 b a t (mod n) b r 1 b r 2 b r t (mod n) b t r 1 r 2 r t (mod n). Osztással: 1 b φ(n) (mod n). Alkalmazás: RSA titkosítás 28

Fermat észrevétele, feladatok Igazolások, amiket nem tanulunk (lásd Bressoud) A páros tökéletes számok utolsó jegye mindig 6 vagy 8 Fermat eredeti észrevétele Ez alapján ügyes teszt adódik a Mersenne-számokra (Eml.: Ha q M(p), akkor q mod p = 1 is teljesül) Példa: M(19) = 524 287, négyzetgyöke 724,07 Eddig kell nézni azon q prímeket, amelyekre q 1(mod 19) Ezek: 191, 229, 419, 571, 647 Ezek egyike sem osztja M(19)-et, ezért M(19) prím Feladatok Feladatok Nézzük meg ugyanezt M(17)-re és M(23)-ra! Próbáljunk egy ismeretlen nagyobb Mersenne-számot is megvizsgálni! Határozzuk meg Euler-féle φ függvény értékeit sok n-re! Milyen mintát/szabályosságokat tapasztalunk? *Igaz, hogy φ(n) mindig páros, ha n > 2? (Bizonyítsuk) A biz.-hoz: Lemma 1.: Ha lnko(m, n) = 1, akkor φ(m n) = φ(m) φ(n) Lemma 2.: Ha p prím, akkor φ(p a ) = p a 1 (p 1) Tétel: Ha n = p a1 1 p a2 2 p ar r, akkor φ(n) = p a1 1 1 (p 1 1) p a2 1 2 (p 2 1) p ar 1 r (p r 1) = = n (1 1/p 1 ) (1 1/p 2 ) (1 1/p r ) 29

Történeti áttekintés Eratoszthenész Kr. e. 3. században alkotó görög matematikus (Alexandria) Három nevezetes ókori probléma: a kör négyszögesítése, a szögharmadolás és a kockakettőzés (megoldások csak: Galois-elmélet, 1830-as évek) Elég pontosan kiszámította az egyenlítő hosszát! Marin Mersenne (17. század eleje) Prímlista: 2 p 1 prím, ha p = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127, 257, a többi 257-nél kisebb értékre összetett (nem pontos! első hiba: 1870 k., Lucas) Híres idézete (1644): Ahhoz, hogy egy 15 vagy 20-jegyű számról eldöntsük, prím-e vagy sem, egy élet sem elég, akárhogy is használjuk minden tudásunkat. Fermat-prímek: 2 2 n +1 alakú prímek Fermat szerint minden n-re, de később kiderült, hogy nem (cáfolat: Euler, n = 5) Kapcsolat: szabályos sokszögek szerkeszthetősége (körosztás, nevezetes ókori probléma) Ötszög: Hippaszosz (Kr. e. 5. sz.), ekkor ismert tehát 3 2 n, 4 2 n, 5 2 n és ezek szorzatai is, tehát pl. a 15-szög Több évszázadon keresztül (csak): egyedi szerkesztések különböző sokszögekre Gauss (18. sz. vége): euklideszi szerkesztéssel a kör kerülete pontosan akkor osztható n egyenlő részre, ha n Fermat-féle prímszámok első hatványainak és a 2 hatványainak véges szorzata Megszerkeszthető tehát: 3, 4, 5, 6, 8, 10, 12, 15, 16, 17, 20-szög (n = 20-ig) 30

Történeti áttekintés Leonard Euler (18. század) A kor matematikájának minden szeletében maradandót alkotott (trigonometria, analízis, differenciál és integrálszámítás, harmad- és negyedfokú egyenletek elmélete) Tiszteletére nevezték el az e számot Mersenne-prímek Az újkortól/a modern korszakban a legnagyobb ismert prímek szinte mindig Mersenne-prímek voltak Egy-két kivételt találunk, de azok is hasonló spec. alakú számok Napjainkban is így van: 2013. jan. 25-én találták meg a 48. ilyen prímet, ez egy 17.425.170 jegyű szám, értéke 2 57.885.161 1 2016. jan. 7-én a 49. prím is előkerült, jegyeinek száma: 22.338.618, értéke 2 74.207.281 1 Eml.: Ezeket a számokat a CA rendszerek tudják Great internet Merssene prime search GIMPS 31

Történeti áttekintés 32

Történeti áttekintés Great internet Mersenne prime search 33

Ajánlott irodalom David M. Bressoud: Factorization and Primality Testing, Springer, New York, 1989 Geddes, Czapor, Labahn: Algorithms for Computer Algebra (6th pr./ed.), Kluwer Acad. Press, Boston, 1999 Joachim Gathen, Jürgen Gerhard: Modern Computer Algebra (3rd ed.), Cambridge Univ. Press, 2013 Donald E. Knuth: A számítógép-programozás művészete 2. (2. kiadás), Műszaki Könyvkiadó, Budapest, 1994 Katona Gyula, Recski András, Szabó Csaba: A számítástudomány alapjai, Typotex Kiadó, Budapest, 2003 Sain Márton: Matematika-történeti ábécé, Tankönyvkiadó, Budapest, 1974 Maple User Manual, Maplesoft, 2013 Matlab Symbolic Math Toolbox User s Guide, MathWorks, 2013 Fritz Reinhardt, Heinrich Soeder: dtv-atlas zur Mathematik, Deutscher Taschenbuch Verlag, München, 1977 34