Marton Péter. Prímtesztek és prímfaktorizáció

Hasonló dokumentumok
Diszkrét matematika I.

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

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

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

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 ősz

Waldhauser Tamás december 1.

Számelméleti alapfogalmak

illetve a n 3 illetve a 2n 5

Elemi matematika szakkör

2018, Diszkre t matematika. 10. elo ada s

Szakács Lili Kata megoldása

Egészrészes feladatok

Kongruenciák. Waldhauser Tamás

2016, Diszkrét matematika

Diszkrét matematika I.

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.

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

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

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

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

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

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

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?

Haladók III. kategória 2. (dönt ) forduló

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.

SzA XIII. gyakorlat, december. 3/5.

Határozott integrál és alkalmazásai

Diszkrét matematika I.

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.

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

Bevezetés az algebrába 1

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

SZÁMELMÉLETI FELADATOK

2017, Diszkrét matematika

Eötvös Loránd Tudományegyetem. Természettudományi Kar. Gyarmati Richárd. Számelmélet feladatok szakkörre. Bsc szakdolgozat.

Algoritmuselmélet gyakorlat (MMN111G)

Komplex számok trigonometrikus alakja

L'Hospital-szabály március 15. ln(x 2) x 2. ln(x 2) = ln(3 2) = ln 1 = 0. A nevez határértéke: lim. (x 2 9) = = 0.

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

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

Láthatjuk, hogy az els szám a 19, amelyre pontosan 4 állítás teljesül, tehát ez lesz a legnagyobb. 1/5

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

Polinomok (el adásvázlat, április 15.) Maróti Miklós

Oszthatósági problémák

Függvények július 13. Határozza meg a következ határértékeket! 1. Feladat: x 0 7x 15 x ) = lim. x 7 x 15 x ) = (2 + 0) = lim.

: s s t 2 s t. m m m. e f e f. a a ab a b c. a c b ac. 5. Végezzük el a kijelölt m veleteket a változók lehetséges értékei mellett!

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

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

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Megoldások 9. osztály

Permutációk véges halmazon (el adásvázlat, február 12.)

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Komplex számok algebrai alakja

Sapientia Egyetem, Matematika-Informatika Tanszék.

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

LÁNG CSABÁNÉ SZÁMELMÉLET. Példák és feladatok. ELTE IK Budapest javított kiadás

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:

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Prímek a középiskolai szakkörön

GAUSS-EGÉSZEK ÉS DIRICHLET TÉTELE

Bázistranszformáció és alkalmazásai 2.

I. Egyenlet fogalma, algebrai megoldása

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

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

Arany Dániel Matematikai Tanulóverseny 2014/2015-ös tanév első (iskolai) forduló Haladók II. kategória

25 i, = i, z 1. (x y) + 2i xy 6.1

24. szakkör (Csoportelméleti alapfogalmak 3.)

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

Diszkrét matematika 2.

Nagyságrendek. Kiegészítő anyag az Algoritmuselmélet tárgyhoz. Friedl Katalin BME SZIT február 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:

1. A maradékos osztás

KOVÁCS BÉLA, MATEMATIKA I.

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

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

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

A 2014/2015. tanévi Országos Középiskolai Tanulmányi Verseny első forduló MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA) Javítási-értékelési útmutató

KLASSZIKUS ALGEBRA ÉS SZÁMELMÉLET FELADATOK

1. A k-szerver probléma

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

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

Diszkrét matematika 2.C szakirány

2018, Diszkre t matematika. 8. elo ada s

Hatvány gyök logaritmus

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

Intergrált Intenzív Matematika Érettségi

GAUSS-EGÉSZEK ÉS DIRICHLET TÉTELE

Az Országos Középiskolai Tanulmányi Verseny tanévi második fordulójának feladatmegoldásai. x 2 sin x cos (2x) < 1 x.

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

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

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

Számelmélet Megoldások

M. 33. Határozza meg az összes olyan kétjegyű szám összegét, amelyek 4-gyel osztva maradékul 3-at adnak!

IV. INTEGRÁLSZÁMÍTÁS Megoldások november

KOVÁCS BÉLA, MATEMATIKA I.

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Átírás:

Eötvös Loránd Tudományegyetem Természettudományi Kar Marton Péter Prímtesztek és prímfaktorizáció BSc szakdolgozat Témavezet : Freud Róbert, egyetemi docens Algebra és Számelmélet Tanszék Budapest, 2012

TARTALOMJEGYZÉK TARTALOMJEGYZÉK Tartalomjegyzék 1. Bevezetés 2 2. Prímtesztek 2 2.1. Fermat-prímteszt.................. 3 2.2. SolovayStrassen-prímteszt............. 4 2.3. MillerLenstraRabin-prímteszt.......... 9 2.3.1. Példa..................... 10 2.3.2. Példa..................... 11 2.4. Lucas-prímteszt................... 12 2.5. Proth-prímteszt................... 12 2.6. Pepin-prímteszt................... 14 2.7. Pocklington-prímteszt................ 15 3. Prímfaktorizációk 16 3.1. Próbaosztás..................... 16 3.2. MonteCarlo-módszer................ 18 4. Feladatok 24 5. Irodalomjegyzék 30 1

2 PRÍMTESZTEK 1. Bevezetés A szakdolgozat témája a Freud RóbertGyarmati Edit: Számelmélet könyvben tárgyalt, illetve feladatként feladott prímtesztek, és a Donald Ervin Knuth: A számítógép-programozás m vészete könyv II. Szeminumerikus algoritmusok fejezet Próbaosztás, és különösen a MonteCarlo-módszer prímfaktorizáció. Ez utóbbinak bizonyos vonatkozásait részletesen is elemzem. A felépítés, a bizonyítás és a leírt feladatok megoldása, példák megírása és megoldása saját munkám eredménye. Az érdekl désemet prímszámok iránt a 8. születésnapomra kapott Matematika SH atlasz eratoszthenészi szitáról szóló ábrája keltett fel, mert a logika mellett ez volt az egyetlen, amit értettem bel le. Továbbá mivel szívesen programozok, érdekelnek az algoritmusok. 2. Prímtesztek A prímtesztek olyan eljárások, melyek egy adott számot prímnek vagy összetettnek nyilvánítanak, de általában nem határozzák meg annak egy osztóját sem. Attól függ en, hogy a teszt használ-e véletlen számokat, beszélünk determinisztikus és nem determinisztikus (más szóval véletlen) prímtesztekr l. A determinisztikus prímtesztekt l általában elvárjuk, hogy biztos eredményt adjon, míg a véletlen prímteszteknél megengedünk egy minimális valószín séget a hibás döntésre. Minden prímteszt valamilyen módon az EulerFermat-tételen alapul. EulerFermat-tétel: Minden egynél nagyobb egész n számra és minden n-hez relatív prím a egészre fennáll az kongruencia. a ϕ(n) 1 (mod n) 2

2 PRÍMTESZTEK 2.1 Fermat-prímteszt Bizonyítás: Legyen az r 1,..., r ϕ(n) egy redukált maradékrendszer (RMR). Ekkor az ar 1,..., ar ϕ(n) szintén RMR tetsz leges n-hez relatív prím a-ra, hiszen bármely kett különbsége ka alakú, ahol k nem osztható n-nel. Vegyük ezt a két felírását (az egyértelm ) RMR-nek: ϕ(n) i=1 r i ϕ(n) i=1 ar i (mod n). Egy RMR elemeinek szorzata relatív prím a modulushoz, ezért egyszer síthetünk vele: a ϕ(n) 1 (mod n). 2.1. Fermat-prímteszt Legyen n egy egynél nagyobb egész szám, melyr l szeretnénk eldönteni, hogy prím-e. Válasszunk véletlenszer en egy n-nél kisebb pozitív a egész számot; ekkor az a n 1 1 (mod n) (1) kongruencia biztosan fennáll, ha n prím, az összetett n-ek túlnyomó többségében legfeljebb 50% eséllyel teljesül. A fennmaradó kivételes esetekben n-et univerzális álprímnek nevezzük, ekkor (1) minden n-hez relatív prím a-ra teljesül. Bizonyítás: Prímekre ez az EulerFermat tétel következménye, hiszen ϕ (n) = n 1, ha n prím. Ha n összetett, és a nem relatív prím hozzá, akkor a-nak minden hatványa többszöröse lesz a és n legnagyobb közös osztójának, tehát (1) nem állhat fenn. Egyébként lásd az 5.7.13 a) feladatot. 3

2.2 SolovayStrassen-prímteszt 2 PRÍMTESZTEK 2.2. SolovayStrassen-prímteszt Legyen n egynél nagyobb páratlan szám. Ekkor az ( a n 1 a 2 (mod n) (2) n) kongruencia az 1,..., n 1 számok mindegyikére teljesül, ha n prím, és az 1,..., n 1 számok kevesebb, mint felére teljesül, ha n összetett. Bizonyítás: Ha n prím, az EulerFermat-tétel szerint, minden 1 és n 1 közötti a-ra a n 1 1 (mod n), továbbá Z p -ben csak ±1 második egységgyök, így a n 1 2 ±1 (mod n). A Legendre/Jacobi szimbólum deníciója szerint ( a n) = ±1. Tehát bizonyítandó: a n 1 2 1 (mod n) akkor és csak akkor, ha ( a n) = 1, azaz ha az x 2 a (mod n) kongruencia megoldható. Legyen g primitív gyök modulo n, és számoljunk a g szerinti diszkrét logaritmusokkal (indexekkel): g 2indx g inda (mod n). Mivel g primitív gyök, azaz minden nem 0 maradékosztály el fordul valamilyen hatványaiként (nyilvánvalóan ciklikusan fordulnak el ), a fenti állítások egyenérték ek 2indx inda (mod n 1) -gyel. 4

2 PRÍMTESZTEK 2.2 SolovayStrassen-prímteszt De 2indx és n 1 is osztható kett vel, tehát ha inda páratlan, a kongruencia nem oldható meg, míg ha inda páros, úgy megoldás. Összefoglalva: indx g inda 2 (mod n 1 ) 2 x ±g inda 2 (mod p) a n 1 2 1 (mod n) akkor és csak akkor, ha inda páros, azaz ( a n) = 1. Térjünk rá arra az esetre, amikor n összetett. Nevezzük cinkosnak a-t egy összetett n-re vonatkozólag akkor, ha (2) teljesül, egyébként pedig tanúnak. Mivel ( a n) csak n-hez relatív prím a-k esetén értelmezett, n-hez nem relatív prímekre (2) nem teljesül. A gyakorlatban ( a n) kiszámításakor tényleg kiderül, ha a és n nem relatív prím, lásd az 5.7.2 feladatot. A továbbiakban tegyük fel, hogy a és n relatív prím. Els lépésben csak annyit mutatunk meg, minden összetett n-re létezik a tanú. Ha n nem négyzetmentes, ossza mondjuk p 2, akkor egy g primitív gyök modulo p 2 tanú, mert g n 1 2 ±1 (mod n). Ennek bizonyításához indirekt tegyük fel, hogy g n 1 2 ±1 (mod n), négyzetre emelve amib l p 2 -re is következik g n 1 1 (mod n), g n 1 1 (mod p 2 ). 5

2.2 SolovayStrassen-prímteszt 2 PRÍMTESZTEK Az EulerFermat-tétel szerint g ϕ(p2 ) 1 (mod p 2 ), s mivel g primitív gyök, a mod p 2 RMR minden elemét fel kell vennie g hatványainak, tehát semmilyen ϕ (p 2 )-nél kisebb j-re nem állhat fenn g j 1 (mod p 2 ). Tehát rögtön következik Kifejtve de Ellentmondás. g n 1 1 (mod p 2 )-b l ϕ ( p 2) n 1. p (p 1) n 1, p p 2 n = p n, n 1. Legyen a továbbiakban n négyzetmentes. Válasszuk a bizonyítást két részre aszerint, hogy minden n-hez relatív prím a-ra fennáll a n 1 2 1 (mod n), (3) vagy sem. Ha (3) tényleg fennáll minden n-hez relatív prím a-ra, legyen ( ) h n = q 1... q s, = 1, és oldjuk meg a w h (mod q 1 ), w 1 (mod q i ) 2 i s szimultán kongruenciarendszert. Ekkor (3) miatt q 1 w n 1 2 1 (mod n), azonban ( w ) ( ) ( ) ( ) h 1 1 =... = ( 1) 1... 1 = 1. n q 1 q 2 q s 6

2 PRÍMTESZTEK 2.2 SolovayStrassen-prímteszt Azt akartuk megmutatni, hogy létezik legalább egy tanú, és ha (3) teljesül minden n-hez relatív prím a-ra, meg is találtunk egyet: ( 1 w n 1 w ) 2 = 1 (mod n). n Vizsgáljuk most a másik esetet, tehát azt, amikor van olyan n-hez relatív prím a szám, melyre (3) nem teljesül, azaz a n 1 2 1 (mod n). Mivel egy inkongruencia fennáll a modulus legalább egy prímtényez jére, válasszuk n-nek alkalmas q 1 prímtényez jét, tehát Oldjuk meg ezzel az a-val a a n 1 2 1 (mod q 1 ) z a (mod q 1 ), z 1 (mod q i ), 2 i s szimultán kongruenciarendszert. Erre a z-re z n 1 2 1 (mod q 1 ), z n 1 2 1 (mod q i ), 2 i s, tehát z n 1 2 sem 1-gyel nem kongruens q 1 -re, sem 1-gyel q 2 -re, így z n 1 2 nem kongruens ±1-gyel n minden prímtényez jére, azaz z n 1 2 ±1 (mod n). Ez a z tanú, hiszen ( z n 1 z 2 ±1 = n) (mod n). Ezzel beláttuk, hogy összetett n esetén mindenképpen létezik n összetettségét igazoló tanú a SolovayStrassen-tesztben. Megmutatjuk, hogy ha már egyetlen tanú létezik, úgy a RMR legfeljebb fele cinkos. 7

2.2 SolovayStrassen-prímteszt 2 PRÍMTESZTEK El ször legyen t és c relatív prím n-hez t tanú, c pedig cinkos; indirekt bebizonyítjuk, hogy ezek tc szorzata tanú. Tegyük fel ugyanis az ellenkez jét, azaz: (tc) n 1 2 ( ) tc n (mod n). Használjuk ki, hogy c cinkos, azaz ( c n 1 c 2 n) (mod n), és szorozzuk össze a két fenti kongruenciát: (tc) n 1 2 c n 1 2 ( tc n ) ( c ) n (mod n). A hatványozás és a Jacobi-szimbólum multiplikatív; egy n-hez relatív prím c cinkos n 1-edik hatványa kongruens ( ( c 2 n) -nel, c n) = ±1, tehát c n 1 2 négyzete kongruens ±1 négyzetével, azaz 1-gyel. E három azonosságot felhasználva adódik, hogy ( (tc) n 1 2 c n 1 2 = t n 1 2 c n 1 2 ) 2 t n 1 2 (mod n) t n 1 2 ( tc n ) ( c ) ( ) t ( ( ) c 2 t = n n n) n (mod n). Ez éppen azt jelenti, hogy t is cinkos ez ellentmond az indirekt feltevésnek; bebizonyítottuk, hogy cinkos és tanú szorzata tanú. Most, hogy tudjuk, cinkosokat tanúval szorozva tanúkat kapunk, látni fogjuk, egyetlen t tanú létezéséb l következik, hogy a mod n RMR legalább fele tanú: vegyünk ugyanis c 1,..., c k inkongruens cinkosokat és szorozzuk mindegyiket t-vel: tc 1,..., tc k mindegyike tanú és páronként inkongruensek, lásd az EulerFermat tétel bizonyítását a fejezet elején. 8

2 PRÍMTESZTEK 2.3 MillerLenstraRabin-prímteszt 2.3. MillerLenstraRabin-prímteszt A prímteszt egynél nagyobb páratlan n-ekre m ködik. Írjuk n 1- et 2 k r alakba, úgy, hogy már r páratlan legyen (k 1). Az EulerFermat-tétel szerint ha n prím, minden a 0 (mod n)- re a n 1 = a 2kr 1 (mod n). Ha n prím, modulo n csak ±1 lehet második egységgyök: a 2k 1r ±1 (mod n). Ha a 2k 1r +1 (mod n), akkor a 2k 2r ±1 (mod n), és így tovább. Ennek alapján a teszt pontos megfogalmazása: Legyen n > 1 és r páratlan, ahol n 1 = 2 k r. Nevezzük jó sorozatnak a 20r,..., a 2k 1r -et, ha a r 1 (mod n), vagy van olyan, mely 1-et ad n-re maradékul. Ha n prím, minden a = 1,..., n 1-re jó sorozatot kapunk, ha n összetett, a = 1,..., n 1 számok kevesebb, mint felére kapunk jó sorozatot. Bizonyítás: Z p -ben csak ±1 a két második egységgyök. Emiatt a 2kr 1 (mod n)-b l gyököt vonva ±1-et kell kapnunk. Ha +1-et kapunk, az eljárást megismételhetjük, mígnem k-adszor is gyököt vonva a r ±1 (mod n)-et kapunk. Ezzel prím n-ekre beláttuk az állítást. Nem négyzetmentes n-ekre a bizonyítás ugyanúgy megy, mint a SolovayStrassen igazolásában láttuk. Négyzetmentes n-ekre legyen j a legnagyobb szám, melyre még található olyan a, hogy a 2jr 1 (mod n) (4) (a maximum létezik, például a = 1, j = 0 esetén ( 1) 20r = 1). Ekkor n-nek valamely q 1 prímosztójára Oldjuk meg ezzel az a-val a a 2jr 1 (mod q 1 ). t a (mod q 1 ), t 1 (mod q i ), 2 i s szimultán kongruenciarendszert. A feltétel szerint t 2jr a 2jr 1 (mod q 1 ). 9

2.3 MillerLenstraRabin-prímteszt 2 PRÍMTESZTEK Azonban t 2jr 1 2jr 1 1 (mod q i ), 2 i s. Így t 2jr sem 1-gyel, sem 1-gyel nem lehet kongruens modulo n, míg a j-nél nagyobb számokra (így V = j + 1-re) t 2V r 1 (mod n), tehát t tanú. Megmutatjuk, hogy ennek a t tanúnak és egy n-hez relatív prím c cinkosnak a szorzata tanú. Egy j-nél nagyobb x számra (tc) 2xr 1 Mivel c cinkos, c 2jr ±1 és t-r l feljebb láttuk, hogy t 2jr ±1 (mod n). (mod n), (mod n), e kett összevetéséb l pedig (tc) 2jr ±1 (mod n). Ebb l a SolovayStrassen-prímteszt bizonyításának utolsó bekezdésében látott módon kapjuk, hogy az 1, 2,..., n 1 számok több, mint fele tanú. 2.3.1. Példa Legyen n = 561 = 3 11 17. Ez univerzális álprím, a Fermatprímteszttel csak akkor tudnánk igazolni összetettségét, ha a-t n- hez nem relatív prímnek választjuk. Mivel 561 relatíve kis szám, ennek is ϕ (561) 561 = ϕ (3) ϕ (11) ϕ (17) 561 10 43%

2 PRÍMTESZTEK 2.3 MillerLenstraRabin-prímteszt esélye van minden egyes a kiválasztásakor. A véletlenszer en választott a legyen 404, írjuk fel n 1 = 2 4 35- öt. 404 560 1 (mod 561), hiszen álprím (és 404 relatív prím 561- hez). 404 280 1 (mod 561); megjegyezzük, ( 280 561) = 1, így a Solovay Strassen-prímteszt sem buktatja le. 404 140 1 (mod 561), 404 70 67 (mod 561) tehát 561 összetett. 2.3.2. Példa Ebben a példában a http://www.chalcedon.demon.co.uk/rgep/cartable.html oldalon található Largest rst and largest last prime factors táblázat Largest rst prime and largest last prime up to 10 17 els sorában látható n = 410671 577981 380251 = 90256390764228001 univerzális álprímet használom. Ennek a különösen nagy számnak a hatványainak a maradékait az erre a célra készített http://www.math.umn.edu/ garrett/crypto/a01/fastpow.html oldalon található eszközzel számoltam. Ezt az n számot a Fermat-prímteszt csak akkor min síti összetettnek, ha az a-t véletlenül pont n-hez nem relatív prímnek választjuk, ennek esélye próbálkozásonként mindössze 0, 00068%. Ez azt jelenti, hogy még 10000 próbálkozással is 93% valószín - séggel hibásan prímnek veszi. Tehát n 1 = 2 5 2820512211382125. Egy véletlenszer en választott a példánkban legyen 12345678901234. 12345678901234 25 2820512211382125 1 (mod n) 12345678901234 24 2820512211382125 1 (mod n) ( 12345678901234 90256390764228001) = 1 Azaz átmegy a SolovayStrassen-teszten 11

2.4 Lucas-prímteszt 2 PRÍMTESZTEK 12345678901234 23 2820512211382125 1 (mod n) 12345678901234 22 2820512211382125 1 (mod n) 12345678901234 21 2820512211382125 1 (mod n) 12345678901234 20 2820512211382125 15151079460239103 (mod n) 2.4. Lucas-prímteszt Legyen n kett nél nagyobb egész szám. létezik olyan 1 és n közötti a, melyre Akkor és csak akkor a n 1 1 (mod n), de n 1 minden q prímosztójára ha n prím. a n 1 q 1 (mod n), Bizonyítás: Ha n prím, létezik primitív gyök modulo n, azaz a feltételt kielégít a. Ha létezik ilyen a, annak a rendje n 1-nek osztója, de nem osztója egyetlen valódi osztójának sem: tehát a rendje n 1, ezért n prím. Megjegyzés: Az állítás akkor is igaz marad, ha csak annyit teszünk fel, hogy n 1 minden q prímtényez jéhez létezik egy olyan q-tól függ a q egész szám melyre a n 1 q q 1 (mod n) 2.5. Proth-prímteszt Legyen n = k 2 l + 1, ahol k egy 2 l -nél kisebb páratlan szám; így n akkor és csak akkor prím, ha található olyan a, melyre a n 1 2 1 (mod n). 12

2 PRÍMTESZTEK 2.5 Proth-prímteszt Megjegyzés: Ha n prím, a kvadratikus nemmaradékok modulo n alkalmasak. Mivel a kvadratikus maradékok és nemmaradékok fele-fele arányban fordulnak el a mod n RMR-ben, így minden próbálkozásban 50% esélyünk van alkalmas a-t választani, tehát könnyen találhatunk egyet próbálkozással. Míg ha n összetett, gyakran a n 1 2 ±1 (mod n), és ebb l biztosan kiderül, hogy összetett. Bizonyítás: Ha n prím, akkor ahogy fentebb említettük a kvadratikus nemmaradékok modulo n alkalmasak. Ha n összetett, indirekt tegyük fel, a n 1 2 1 (mod n) fennáll. Jelölje n egy prímosztóját p. Ekkor 2 l o (a) p 1, mert a n 1 2 a k 2l +1 1 2 a k 2l 1 1 (mod p), négyzetre emelve a k 2l 1 (mod p), tehát o (a) prímtényez s felbontásában l-edik hatványon szerepel a 2, azaz 2 l o (a). Továbbá o (a) ϕ (p) = p 1, ezek szerint 2 l p 1 kongruenciával kifejezve: p 1 (mod 2 l ). Ezért p = 1 + c 2 l, továbbá n k 2 l + 1 1 (mod 2 l ). Mivel mind p, mind n kongruens 1-gyel modulo 2 l, ezért így n p 1 (mod 2l ), n = p n p = ( 1 + c 2 l) ( 1 + d 2 l) > 1 + cd2 2l > 1 + k2 l = n. Ellentmondás. 13

2.6 Pepin-prímteszt 2 PRÍMTESZTEK 2.6. Pepin-prímteszt Legyen F n = 2 2n + 1. n > 0 esetén F n akkor és csak akkor prím, ha 3 Fn 1 2 1 (mod F n ) Bizonyítás: négyzetre emelésével 3 Fn 1 2 1 (mod F n ) 3 Fn 1 1 (mod F n ) adódik. Így o (3) 2 2n, de o (3) 2 2n 1, ezért o (3) = 2 2n, így legalább ennyi relatív prím van 0 és F n között F n -hez, tehát F n prím. A másik irány bizonyításához tegyük fel, F n prím. Az Euler-feltétel szerint ( ) 3 Fn 1 3 2 (mod F n ). F n 2 2 1 (mod 3), tehát ezt n 1-szer négyzetre emelve is 2 2n 1 (mod 3). Emiatt F n 1 (mod 3), F n 1 = 2 2n 0 (mod 4), tehát a kvadratikus reciprocitási tétel szerint ( ) ( ) 3 Fn = = 1. 3 F n 14

2 PRÍMTESZTEK 2.7 Pocklington-prímteszt 2.7. Pocklington-prímteszt Legyen N > 1 egész, q > N 1 prímosztója N 1-nek. Az N biztosan prím, ha találunk olyan a-t, melyre a N 1 1 (mod N), és (a N 1 q ) 1, N = 1. Megjegyzés: Az els feltétel nem teljesülése esetén az Euler Fermat tétel miatt N biztosan összetett. Ha ) 1 < (a N 1 q 1, N < N, akkor N-nek még egy osztóját is megtaláltuk. Ezért tekinthetnénk prímfaktorizációnak, mely el tt végrehajtottunk egy Fermatprímtesztet. Bizonyítás: Indirekt tegyük fel, N összetett. Ezért létezik p N prímosztója. Tehát p q, így (p 1, q) = 1. Ezért alkalmas u-ra uq 1 (mod p 1). a N 1 1 (mod N) miatt emiatt a N 1 1 (mod p), ( ) ) a N 1 u = (a N 1 uq N 1 q a q 1 (mod p). Ez viszont ellentmond ) (a N 1 q 1, N = 1-nek. 15

3 PRÍMFAKTORIZÁCIÓK 3. Prímfaktorizációk 3.1. Próbaosztás Lényeges kérdés, milyen sorrendben próbáljuk ki a 2 d n próbaosztókat. Ugyanis, ha a vizsgált n számra nem teszünk feltételeket, P (d n) = 1 d, tehát a kisebb számok valószín bben osztanak egy véletlenszer en választott összetett számot. Ha egy véletlenszer en választott számról csak bizonyos p hiba valószín séggel szeretnénk eldönteni, hogy prím-e, ismét célszer az els néhány kis számmal osztani. Tegyük fel, p i n, ahol p i néhány különböz prímszám. Ekkor P ( p i n) = ) (1 1pi i Ez érvényes akkor is, ha n-r l feltesszük, hogy összetett, hiszen a prímek s r sége 0, azaz π (n) lim n n = 0. Emiatt elméletileg kiváló prímteszt, ha minden számot összetettnek min sítünk, a hiba valószín sége határértékben 0 (prímeket összetettnek min síthet). Ami a gyakorlatban használható, az mindent prímnek min sít, kivéve, amir l biztosan kiderül, hogy összetett. Ezek a bizonytalan számok, melyeket prímnek min sít, 1 valószín séggel összetettek: a hiba valószín sége tehát egyenl a bizonytalan számok arányával. Mindezt egy táblázatban szemléltetjük: az els k prímszámmal való próbaosztás után milyen E valószín séggel döntünk hibásan? Jól látszik, hogy a 1520%- os hibahatárt szinte azonnal elérjük, a 10%-osért már jóval többet kell dolgoznunk, kb. az 5%-os, amit számítógéppel érdemes kit zni, aztán elképeszt en lassan tart E a nullához a vizsgált prímszámok függvényében. Mindez még látványosabb, ha megtekintjük a vizsgált prímszámok nagyságrendjét (a p k oszlopban) a túloldali ábrákon. Gyorsabban tudunk számokat szorozni, mint 16

3 PRÍMFAKTORIZÁCIÓK 3.1 Próbaosztás osztani, ezért a számok méretét l és mennyiségét l függ en érdemes lehet sok próbaosztót inkább összeszorozni modulo n, majd ennek legnagyobb közös osztóját kiszámítani a faktorizálandó n számmal. Ilyenkor tovább kényelmesedik a helyzetünk: szóba jöv próbaosztók helyett teljesen véletlenszer en választott számok szorzatának is kiszámíthatjuk a legnagyobb közös osztóját n-nel. Vegyük észre, hogy a szorzások folyamán a legnagyobb közös osztó nem csökkenhet. #Prímek Utolsó Hiba esélye ) Megjegyzés (1 1pi k p k E = i 1 2 0,5 2 3 0,3333 3 5 0,2667 4 7 0,2286 10 29 0,1579 55 257 0,09996 < 10% 100 541 0,08875 168 997 0,08097 p k < 1000 1000 7919 0,06247 1229 9973 0,06088 p k < 10000 7398 75037 0,0499996 < 5% 32768 386093 0,04364 Diagram vége 5761455 99999989 0,03048 p k < 100000000 6000000 104395301 0,03041 17

3.2 MonteCarlo-módszer 3 PRÍMFAKTORIZÁCIÓK 3.2. MonteCarlo-módszer A MonteCarlo-módszerrel adott n összetett számot bonthatunk prímtényez ire. Az algoritmus: 1. Válasszunk egy a 0 kezd értéket, egy g összehasonlító és egy f : Z n Z n iterációs függvényt. Jelölés: a n+1 = f (a n ). 2. Számítsuk ki (a k g (a k ), n) = d k legnagyobb közös osztókat (ha g (a k )-t értelmeztük), mígnem d k 1. 3. Ha d k n, megtaláltunk egy osztót; ha n d k összetett, helyettesítsünk n helyébe, és folytassuk az algoritmust attól az a k -tól, ahol tartunk. Bár d k tipikusan prím lesz, de ha d k véletlenül mégis összetett, ezzel a módszerrel valószín leg nem tudjuk faktorizálni. Ahhoz, hogy d k -t faktorizálni tudjuk, válasszunk másik f függvényt (például f = f + 1-et), és a 0 -tól kezdjük újra d k faktorizálását; vagy, ha d k kicsi, érdemesebb a próbaosztást elvégezni. 4. Ha d k = n, nem kaptunk nemtriviális osztót, az eljárás cs döt mondott. érté- Megjegyzés: nem csak a 3., 4. lépésben található d k és n /d k kekre, hanem n-re is érdemes prímtesztet végrehajtani. Magyarázat: Vizsgáljuk meg, miért érdemes vennünk két szám, a k és a j különbségét, és kiszámítanunk legnagyobb közös osztóját n-nel. Abban reménykedünk ugyanis, hogy n-nek van olyan p prímtényez je, melyre a k a j (mod p), hiszen ekkor mind n-nek, mind a k a j -nek osztója p. A második kérdés, miért érdemesebb egy f függvénnyel generált sorozat elemeinek különbségét venni, és ezzel kiszámítani n legnagyobb közös osztóját, mint véletlenszer en választott x i számokra ellen rizni (x i, n)-et, ahogy a próbaosztás cím fejezet végén olvashattuk. Ehhez tisztázzuk, hogyan nézzünk az f függvényre. 18

3 PRÍMFAKTORIZÁCIÓK 3.2 MonteCarlo-módszer Els próbálkozásként f helyébe valószín leg valamilyen lineáris függvényt helyettesítenénk: f (x) = ax + c. El re közöljük, ebben az esetben semmi értelme nem lenne a módszernek: ilyenkor f általában körbevezet minket a mod n TMR-en. Vizsgáljunk egy bonyolultabb f függvényt egy n faktorizálandó szám p osztója (els sorban prímtényez je) szerint. Hangsúlyozzuk, ez a vizsgálat teljesen független n-t l, csak n- egy p osztójára van szükségünk. Legyen például f (x) = ( x 2 + 1 ) mod n, és egészen mást tapasztalunk: sokkal kisebb körben jön egymás után néhány maradékosztály megeshet, ebbe a körbe néhány további maradékosztályon keresztül csatlakozunk be, lásd a túloldali ábrán. A tervünk az, hogy egy kis kerület körben ténylegesen benne lév p szerint q maradékosztályba tartozó a 0 számot összehasonlítunk a körben következ maradékosztályba tartozó a 1 számmal, majd a rákövetkez maradékosztályba tartozó a 2 számmal, és így tovább. El bb utóbb körbeérünk, mondjuk a λ ugyanabba a maradékosztályba a q maradékosztályba tartozik p szerint, mint a 0. Ekkor a 0 a λ -nak és n-nek is osztója p, a legnagyobb közös osztó végre nem 1 lesz. Tervünkben a kisebb probléma az, hogy mennyire hosszú körbe találunk bele a 0 kiválasztásakor. Mondjuk azt, hogy az f függvény megválasztásakor elég ügyesek voltunk ahhoz, hogy egy hosszabb kör is megfeleljen az igényeinknek. A nagyobb probléma az, hogy a 0 egyáltalán nem biztos, hogy egy körön fekszik: lehet, hogy csak egy körbe vezet úton; ez a lehet ség több kellemetlenség forrása. Sajnos képtelenek vagyunk ránézésre eldönteni, vajon egy körön fekszik egy bizonyos a i szám, vagy sem. Az persze biztos, hogy minél tovább haladunk el re, annál valószín bb, hogy már tényleg körbe-körbe lépkedünk a maradékosztályokon, de sosem lehetünk benne biztosak. Nincs mit tenni: ha úgy érezzük, túl sokat próbálkoztunk a 1,...,a t -vel, következtessünk arra, a 0 nincs is rajta a körön válasszunk helyére egy kés bbi számot, az ugyanis valószín bb, hogy már beért a körbe. 19

3.2 MonteCarlo-módszer 3 PRÍMFAKTORIZÁCIÓK mod 2 0 1 mod 3 0 1 2 mod 4 0 1 2 3 mod 9 0 6 3 1 2 8 5 4 7 mod 5 1 3 0 2 4 mod 6 0 1 2 5 4 3 mod 10 3 4 0 7 1 6 2 5 9 8 mod 7 0 1 2 5 4 3 6 mod 8 7 0 1 2 5 4 3 6 mod 11 0 3 8 1 10 2 9 5 4 20 7 6

3 PRÍMFAKTORIZÁCIÓK 3.2 MonteCarlo-módszer Praktikusnak látszik az utolsó kiszámított szám (azaz a t ) maradékosztályát választani: innent l kezdve átveszi a 0 szerepét a t és mindent újrakezdünk. Másfel l nem korlátozhatjuk egy x számmal (mondjuk 1000-rel) t-t: ha mindig csak a 1, a 2,..., a 1000 -rel dolgoznánk, sohasem találnánk meg például egy 1001 hosszú periódust. Ezért t-t célszer folyamatosan nagyobbra és nagyobbra választani: egy lehetséges megoldás, ha t a kett hatványokon fut végig az eljárás során. Példa feladat: Bontsuk tényez kre az adott n = 91 számot a MonteCarlo-módszer segítségével az adott f (x) = x 2 + 1 és x 0 = 2 paraméterek segítségével. Az aktuális x k -t (ahol k egy h + 1 bites egész) csak a j = 2 h 1-edik elemmel hasonlítsuk össze. A feladat a fent leírt MonteCarlo-módszer algoritmusának els lépését írja el, azaz x 0 = 2 kezd érték és f (x) = x 2 + 1 megválasztását. Összehasonlítás alatt pedig a 2. lépést érti, azaz a legnagyobb közös osztó kiszámítását. Íme f (x 0 ) értéke, amit a tömörség kedvéért x 1 -gyel jelöltünk x 1 = x 2 0 + 1 = 2 2 + 1 = 5. Míg x 0 -t nem volt mivel összehasonlítani, a most kiszámolt x 1 -re már alkalmazhatjuk a 2. lépést: (a 1 a 0, n) = (5 2, 91) = 1. Ez a legnagyobb közös osztó számítás arra volt jó, hogy megnézzük, 91-nek osztója-e a 3; láthatjuk, nem. Meghatároztuk tehát x 1 -et, és nem értünk célt: x 2 = f (x 1 ) = 5 2 + 1 = 26. Most már k = 2-t helyettesítve j = 2 log 2 k 1 1-be nem 0, hanem 1 adódik, ezért x 2 -t, azaz 26-ot, nem x 0 -lal, hanem x 1 - gyel hasonlítjuk össze azaz 5-tel. Ez pedig (26 5, 91) = 7 21

3.2 MonteCarlo-módszer 3 PRÍMFAKTORIZÁCIÓK legnagyobb közös osztót jelenti. Szerencsére a 7 prím, ahogy 91 7 (azaz 13) is az: a MonteCarlo-módszer véget ért. Pollard a következ ket javasolta: a kezd értéket válasszuk a tervezett iterációk számának mondjuk tizedének; továbbá ne végezzünk el minden legnagyobb közös osztó számítást csak tízesével összevonva. Például (a 64 a 63, n),..., (a 73 a 63, n) legnagyobb közös osztók kiszámítása helyett csak az alábbi legnagyobb közös osztót számítsuk ki: ((a 64 a 63 )... (a 73 a 63 ), n). Láthatjuk, hogy így nem vesztünk el osztót, ugyanis ha akkor (a i a 63, n) = p, p ((a i a 63 ) (a j a 63 ), n). Gond lehet viszont, ha két egyt l különböz szám is el fordul az (a 64 a 63, n), (a 65 a 63, n),..., (a 127 a 63 ) tényez k között; ekkor ugyanis (szinte mindig) többletmunkát okozna a szorzatra lefuttatni egy hosszú MonteCarlo-módszert, amiért cserébe megspóroltunk 9 legnagyobb közös osztó számítást. Ezért ha egy összevont legnagyobb közös számítás eredményére összetett számot kapunk, érdemes leellen rizni, nem kerülte két (vagy akár még több) kis szám összevonásra. Egy másik gyorsítási lehet ség, ha becslést készítünk a nemperiodikus szakasz hosszára és a periódushosszra. Ezután nem hasonlítunk össze minden számot, hanem csak akkor számítjuk ki az (a j a k, n) legnagyobb közös osztót, ha egyrészt j nagyobb, mint a nemperiodikus szakaszra vonatkozó becslésünk, másrészt, ha k j nagyobb, mint a periódushosszra vonatkozó becslésünk. Például: 22

3 PRÍMFAKTORIZÁCIÓK 3.2 MonteCarlo-módszer? =1? =1 (a 3 a 2,n) (a i a 4,n) {}}{{}}{ a 0 a 1 a 2 a 3 a 4 a 5 a 6 a }{{} 7 túl korai értékek: várhatóan a nemperiódikus szakaszba esnek (a i a 8,n)? =1 {}}{ a 8 a 9 a 10 a 11 a 12 a 13 a 14 a }{{ 15 } túl közeli értékek: nem érik el a periódushossz várható értékét a 16 a 17 a 18 a 19 a 20 a 21 a 22 a 23 a 24 a 25 a 26 a 27 a 28 a 29 a 30 a 31 }{{} Ezeket érdemes összehasonlítani a 16 -tal A módszer akkor talál meg egy p prímtényez t, ha az (a j g (a j ), n) legnagyobb közös osztó kiszámításakor a j g (a j ) (mod p). A módszer akkor mond cs döt, ha n-nek van két olyan p és q prímosztója, melyekre de a j g (a j ) (mod p), a j g (a j ) (mod q), a l g (a l ) (mod p), a l g (a l ) (mod q), minden l < j-re. Miután megtaláltuk n egy d osztóját, sem n faktorizálásánál, d sem d faktorizálásánál nem érdemes újra kezdeni a MonteCarlomódszert: ha eddig nem állt fenn a j g (a j ) (mod p) egy prímosztóra, természetesen az osztás után sem fog: folytatnunk kell azokkal a paraméterekkel, amelyeknél az osztáskor tartottunk. 23

4 FELADATOK 4. Feladatok Freud RóbertGyarmati Edit: Számelmélet 5.7.1 Tekintsük az a > b > 0 számokra a szokásos euklideszi algoritmust, ahol a keletkez maradékokra b = r 0 > r 1 > r 2 >... 0 teljesül. a) Mutassuk meg, hogy bármely k-ra r k+2 < r k 2. A maradékokra tett r k > r k+1 feltétel és a > b miatt a maradékos osztás képletében (r k = qr k+1 + r k+2 ) szerepl q biztosan nem nulla, ezért r k r k+1 + r k+2. A maradékokra vonatkozó feltétel ismételt alkalmazásával r k+1 > r k+2 miatt r k > r k+2 + r k+2, amit bizonyítani akartunk. Megjegyzés: ugyanebben a fejezetben olvasható a módszer javítása, melyben a legkisebb abszolútérték maradékokkal már r k 2r k+1 is elérhet. b) Milyen fels becslés adódik innen az algoritmus lépésszámára? Használjuk az r k+2 r k2 1 képletet. Ebb l 0 = rn r n 2 1 2 r n 4 6 r n 6 14... r n 2m 2 m+1 +2. Átrendezve r 4 8 2 m n 2m 2 m+1 2. Tehát, ha b 2 m+1 2, akkor a lépésszám legfeljebb 2m. Explicite: 2 (1 + log 2 (b + 2)). *c) Igazoljuk, hogy ha az algoritmus lépésszáma pontosan s, akkor b lehet legkisebb értéke ϕ s+1, ahol ϕ j a j-edik Fibonacciszám. Az algoritmus utolsó lépésében r n 2 = q n 1 r n 1 + r n osztásban r n = 0-t kapunk, ahol q n 1 2. A maradékokra tett r k > r k+1 feltétel és a > b miatt a maradékos osztás képletében (r k = q k r k+1 + r k+2 ) szerepl q k biztosan nem nulla, ezért r k r k+1 +r k+2 egyenl tlenség áll fenn, mégpedig élesen: vegyen fel mind az r n 1, mind pedig a q k minden k-ra a lehet legkisebb 24

4 FELADATOK értéket, azaz 1-et. Konkrétan: 2 = 2 1 + 0 3 = 1 2 + 1 5 = 1 3 + 2 8 = 1 5 + 3 13 = 1 8 + 5 Mint láthatjuk, a fenti egyenletek bal oldalából képzett sorozata csak annyiban tér el a Fibonacci sorozattól, hogy nincs benne 2 darab 1-es, tehát a válasz (azaz a lépésszám fels becslése, az s) a b függvényében: 0 b 0 s = 0 1 b 1 s = 1 2 b 2 s = 2 3 b 3 s = 3 4 b 5 s = 4 6 b 8 s = 5 9 b 13 s = 6 5.7.2 Tekintsük az ( a b ) Jacobi-szimbólum kiszámítására a következ rekurzív deníciót: 1. ( ) 1 b := 1 2. ( a b 3. ( 2 s α b ) := ( a mod b b ) ) { ( ) α := ( b α ) b 4. ( ) a { ( ) b b := ( a α ) b, ha s páratlan, és b ±3 (mod 8) egyébként, ha a b 3 (mod 4) egyébként (ha apáratlan) Mutassuk meg, hogy ha ezt (a, b) = d > 1 mellett alkalmazzuk, akkor végül egy olyan helyzethez jutunk, ahol a számláló d, a nevez pedig többszöröse d-nek. (Ez azt jelenti, hogy ily 25

4 FELADATOK módon is kiderül, ha a Jacobi-szimbólum nem értelmes, és így a és b relatív prímségét nem kell el re külön ellen rizni.) A Jacobi-szimbólumot nem értelmezzük 2 b esetén. Egyébként egy páratlan (a, b) = d az algoritmus során végzett kongruens érték behelyettesítését l, 2-vel osztástól és felcserélést l nem változik. Mivel a és b csökken, el bb utóbb az els lépésben a b fog fennállni. Ez azt jelenti, hogy (a, b) = a, ami egyenl d-vel, tehát tényleg igaz, hogy a számláló d, a nevez pedig többszöröse d-nek. 5.7.3 Mutassuk meg, hogy a 341 kettes alapú álprím, de nem hármas alapú álprím. Mivel 2 10 1 (mod 341), ezért (2 10 ) 34 is. Mivel 3 3 1 (mod 13), ezért 3 340 = 3 (3 3 ) 131 3 (mod 13), tehát 3 340 1 (mod 11 13) 5.7.4 Bizonyítsuk be, hogy ha n kettes alapú álprím, akkor 2 n 1 is az. Az, hogy n kettes alapú álprím, azt jelenti, hogy n összetett és n 2 n 1 1. Szorozzuk kett vel: n 2 n 2. Ezért 2 2n 2 = (2 n ) k. Az, hogy 2 n 1 kettes alapú álprím, azt jelenti, hogy 2 2n 2 = (2 n ) k 1 (mod 2 n 1). Ez nyilván fennáll, hiszen 2 n 1 (mod 2 n 1). Végül 2 n 1 nem lehet valódi prím, hiszen b 1 n összetett (mondjuk n = ab), és ezért 2 ab 1 = (2 a 1) 2 ai. 5.7.6 Igazoljuk, hogy az 561 univerzális álprím. Lássuk be 561 minden p prímtényez jére (azaz 3-ra, 11-re és 17- re), hogy a 561 1 (mod p), azaz p 1 561 1. Csakugyan: 2 280 = 10 56 = 16 40 = 560. 5.7.9 a) A tárgyalt prímteszteknél a feltétel ellen rzése el tt nem volt szükséges külön megnézni, hogy a kipróbált a és a vizsgált n relatív prímek-e. Milyen el ny származhat abból, ha mégis kiszámítjuk (a, n) értékét? Ha (a, n) 1 adódik, akkor nem csupán azt mutattuk meg, hogy n összetett, hanem még egy osztóját is meghatároztuk. 26 i=0

4 FELADATOK 5.7.9 b) Ha az n két százjegy prím szorzata, akkor nagyjából mekkora a valószín sége annak, hogy egy véletlenszer en választott a szám és az n nem relatív prím? Ekkor n kétszáz jegy, n ϕ (n) pedig (a két prím összege mínusz 1) százjegy. A hányadosuk nagyjából 10 100, körülbelül annak az esélye, hogy negyedéven át egyfolytában telitalálatunk legyen a lottón az 1,2,3,4,5 tippel. 5.7.10 Mutassuk meg, hogy ha a 2 1 (mod n), de a ±1 (mod n), akkor az n-nek gyorsan meg tudjuk határozni egy nemtriviális osztóját. Mivel n a 2 1 = (a + 1) (a 1), ezért nyilván ((a + 1) (a 1), n) = n. Emiatt nem lehet, hogy (a + 1, n) és (a 1, n) egyszerre 1-gyel legyen egyenl. Azonban sem (a + 1, n), sem (a 1, n) nem egyenl n-nel. Tehát (a + 1, n) vagy (a 1, n) valódi osztó. (Egyébként világos, hogy mindkett valódi osztó, mert ha az egyik tényez relatív prím lenne n-hez és a másik nem többszöröse, akkor a szorzat sem lehetne többszöröse). 5.7.12 Vizsgáljuk meg, hogy alkalmas-e prímtesztnek a Wilsontétel és megfordítása, azaz ha azt ellen rizzük, hogy n osztója-e (n 1)! + 1-nek. Alkalmatlan, mert ehhez kb. n darab szorzást el kell végeznünk. Próbaosztással is kb. n darab osztással végzünk. 5.7.13 a) Mutassuk meg, hogy ha az n összetett szám nem univerzális álprím, akkor a n 1 1 (mod n) egy modulo n teljes maradékrendszer elemeinek kevesebb, mint felére teljesül. Nevezzük a-t tanúnak, ha a n 1 1 (mod n), egyébként cinkosnak. Ha (a, n) 1, akkor a nyilván tanú. Legyenek c 1,..., c k páronként inkongruens cinkosok és (t, n) = 1 tanú (ha nem létezik ilyen t, akkor hívjuk az n összetett számot univerzális álprímnek). Ekkor tc 1,..., tc k számok páronként inkongruensek, hiszen egy RMR részének t-szerese, t pedig relatív prím a modulushoz (azaz n-hez). Emellett tc 1,..., tc k számok tanúk, hiszen (tc i ) n 1 = t n 1 c n 1 i t n 1 1 (mod n). 27

4 FELADATOK Tehát a RMR legalább fele tanú, a nála szigorúan b vebb TMR többi része meg mind az. 5.7.13 b) Írjuk le az a) részen alapuló konkrét prímtesztet. A dolgozat elején szerepel Fermat-prímteszt néven. 5.7.15 Legyen n = 2 k r + 1, ahol k 1, r páratlan és 0 < r < 2 k. Tegyük fel, hogy egy a egész számra a n 1 2 1 (mod a). Lássuk be, hogy ekkor n prím. A dolgozatban Proth-prímteszt néven szerepel. 5.7.16 Legyen n > 2. Mutassuk meg, hogy az alábbi feltételek bármelyikéb l következik, hogy az n prím. a) Van olyan a egész szám, amelyre a n 1 1 (mod n), és az n 1 bármely p i prímosztójára: a n 1 p i 1. A dolgozatban Lucas-prímteszt néven szerepel. *c) Létezik az n 1-nek egy n-nél nagyobb c osztója a következ tulajdonságokkal: a c bármely p i prímosztójához van olyan a i egész szám, amelyre a n 1 i 1 (mod n) és ( a n 1 p i i ) 1, n = 1. A dolgozatban Pocklington-prímteszt néven szerepel. A következ feladatban hivatkozunk A algoritmus néven a próbaosztás alábbi algoritmusára: 28

4 FELADATOK Donald Ervin Knuth: A számítógép-programozás m vészete 2. Szeminumerikus Algoritmusok 4.5.4/1 Ha az A Algoritmus próbaosztóinak d 0, d 1,, d 2,... sorozatában szerepel egy összetett szám, ez miért nem lép fel soha az outputban? Mert d i prímfelbontásában szerepl d k,..., d m prímek mind kisebbek nála és szerepelnek a próbaosztók között, ez azok lehet legmagasabb hatványával már elosztottuk az inputot, így d i nem osztja n-et (s t relatív prím hozzá). 4.5.4/3 Adjunk meg olyan P számot, amely rendelkezik az alábbi 29

5 IRODALOMJEGYZÉK tulajdonságokkal: Ha 1000 n 1000000, úgy n akkor és csak akkor prím, ha (n, P ) = 1. Legyen P az 1000-nél kisebb prímszámok szorzata. Ez nyilván relatív prím egy 1000-nél nagyobb prímszámhoz. Ám ha egy 1000000-nál nem nagyobb szám összetett, annak legalább két prímtényez je közül van 1000-nél kisebb prím, így nem relatív prím P-hez. 5. Irodalomjegyzék Freud RóbertGyarmati Edit: Számelmélet Donald Ervin Knuth: A számítógép-programozás m vészete II. Szeminumerikus algoritmusok Neal Koblitz: A Course in Number Theory and Criptography Wikipédia http://www.math.umn.edu/~garrett/crypto/a01/fastpow.html http://www.chalcedon.demon.co.uk/rgep/cartable.html 30