Fermat-prímteszt
A Fermat-prímteszt (vagy Fermat-féle prímszámpróba) egy valószínűségi prímteszt. A kis Fermat-tételen alapul, ami kimondja, hogy ha p prím, akkor ap-1 kongruens 1 mod p, ha p nem osztója a-nak.
Menete
szerkesztésMeg kívánjuk vizsgálni, hogy n szám 1-nél nagyobb páratlan egész prím-e. Legyen 1<a<n. Euklideszi algoritmussal ellenőrizhető, hogy n és a relatív prímek. Ha nem azok, akkor n bukja a tesztet, összetett.
Ha n prím, akkor an-1 kongruens 1 mod n. Ha nem így van, akkor n bukja a tesztet, összetett. Ha igen, akkor újabb véletlen a-val folytatódik a vizsgálat, egészen addig, amíg eléggé biztossá nem válik, hogy n valószínűleg prím. A legtöbb összetett szám ugyanis legfeljebb 1/2 valószínűséggel állja a tesztet egy véletlen a-ra.
Futási ideje moduláris hatványozással O(k × log2n × log log n × log log log n), ahol k a fordulók száma, azaz ennyi véletlen alapra megy a tesztelés.
Álprímek
szerkesztésbi Ha n összetett, és an-1 kongruens 1 mod n valamely a-ra, akkor n a alapú álprím, másként pszeudoprím. Ilyen például a 341, ami álprím a 2 alapra.
Ha a kongruencia minden, az n-hez relatív prím a-ra fennáll, akkor n univerzális álprím, más néven Carmichael-szám. A legkisebb ilyen szám az 561. Végtelen sok ilyen szám van, de viszonylag ritkán.
Legyen most n páratlan pozitív egész. Teljesül a következő
Tétel:
1. n akkor és csak akkor álprím a b alapra, ha a mod n maradékosztályok csoportjában b rendje osztója n-1-nek.
2. Legyen lnko(b1,n)=lnko(b2,n)=1. Ha n álprím a b1 és a b2 alapra nézve, akkor álprím a b1b2, és a b1b2−1 alapokra is, ahol b2−1 a redukált mod n maradékosztályok csoportján értendő.
3. Ha n csak egyetlen hozzá relatív prím t-re is bukja a Fermat-tesztet, akkor a redukált maradékosztályoknak legalább a felére bukja.
Bizonyítás:
1. Ha b d rendje osztója n-1-nek, akkor bn-1 kongruens 1 mod n, mert akkor n-1=kd valamely egész k-ra, így bn-1=b(kd)=(bd)k kongruens 1k=1 mod n.
Vizsgáljuk most a redukált mod n maradékosztályokat. Ha ebben a csoportban valamely elemre igaz az, hogy an-1 kongruens 1 mod n, és egy másik k kitevőre is kongruens 1 mod n, akkor a(n-1-k) kongruens 1 mod n is teljesül. Így le lehet folytatni az euklideszi algoritmust, és kiderül, hogy d=lnko(n-1,k)-ra is igaz, hogy ad kongruens 1 mod n. Tehát van egy d osztója n-1-nek, amire a kongruencia teljesül.
Ha a legkisebb ilyen k-t vesszük, akkor ez az előzőek szerint osztója lesz n-1-nek, mert ha nem lenne meg maradéktalanul benne, akkor az a maradék kisebb lenne. Ez a legkisebb k kitevő pedig definíció szerint a maradékosztályának rendje a redukált maradékosztályok csoportjában.
2. Az kell, hogy az ilyen redukált maradékosztályok csoportot alkotnak. Ez így van, mert egyrészt (b1)d(b2)d=(b1b2)d (merthogy a redukált maradékosztályok csoportja kommutatív). Másrészt, ha b rendje d, akkor inverzének rendje is d
3. Legyenek most b1<b2< … <bk páronként inkongruens alapok, amelyekre n álprím. Most tekintsünk egy olyan n-hez relatív prím t-t, amelyre n bukja a tesztet. Szorozzuk meg vele az előbbi b1<b2< … <bk számokat, ezek páronként inkongruensek lesznek.
Állítás - n bukja a tesztet ezekre a tb1<tb2< … <tbk számokra.
Tegyük fel indirekt, hogy tbi-re nem bukja a tesztet, azaz n álprím erre az alapra. Ekkor mod n számolva a redukált maradékosztályok csoportjában n a tbibi−1 maradékosztály minden elemére álprím, így a t számra is, ami ellentmondás.
A Carmichael-számok karakterizációja
szerkesztésTétel: Legyen n páratlan összetett szám. n akkor és csak akkor Carmichael-szám, ha:
1. n négyzetmentes és
2. n minden p prímosztójára .
Bizonyítás
1. Tegyük fel, hogy n nem négyzetmentes. Belátjuk, hogy n nem lehet Carmichael-szám.
Mivel n nem négyzetmentes, van olyan p prímszám, hogy .
Mivel n páratlan, ezért p>2. Vegyünk egy g primitív gyököt modulo p2. Legyen m a legnagyobb olyan osztója n-nek, ami négyzetmentes, és nem osztható p-vel. Tekintsük a következő kongruenciarendszert:
- .
Ez a kongruenciarendszer megoldható, mert m és p2 relatív prímek. Vegyük a kongruenciarendszer egy b megoldását.
Állítás - n bukja a tesztet a b alapra nézve.
Tegyük fel indirekt, hogy .
Ekkor a kongruencia p2-re is teljesül, hiszen . b mod p2 rendje osztója n-1-nek, de b primitív gyök mod p2. Ezért p osztója n-nek és n-1-nek is, és ez ellentmondás, mert két szomszédos egész szám mindig relatív prím egymáshoz.
2. Legyen most n páratlan, összetett és négyzetmentes. Ha most b relatív prím n-hez, akkor a Fermat-tétel szerint teljesül
- .
Mivel , ezért minden b relatív prímre és p prímosztóra:
- .
Tekintsük a következő kongruenciarendszert:
- ,
ahol m=n/p, és g primitív gyök mod p.
Ez megoldható, mert m és p2 relatív prímek. Vegyük a kongruenciarendszer egy b megoldását.
Következik, hogy
- .
Ez teljesül, ha , ugyanis g rendje p-1 mod p, és éppen ez az állítás. Különben
- , így
- .
További információk
szerkesztésForrások
szerkesztés- N. Koblitz: A Course in Number Theory and Cryptography 1994
- Freud Róbert, Gyarmati Edit: Számelmélet
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Pages 889–890 of section 31.8, Primality testing.