Anda di halaman 1dari 125

rta:

SZALKAI ISTVN s DSA GYRGY




ALGORITMIKUS
SZMELMLET

Egyetemi tananyag
































2011































































COPYRIGHT: 20112016, Dr. Szalkai Istvn, Dr. Dsa Gyrgy, Pannon Egyetem Mszaki Informatikai Kar
Matematika Tanszk

LEKTORLTA: Dr. Hujter Mihly, Budapesti Mszaki s Gazdasgtudomnyi Egyetem Matematika Intzet
Differencilegyenletek Tanszk

Creative Commons NonCommercial-NoDerivs 3.0 (CC BY-NC-ND 3.0)
A szerzk nevnek feltntetse mellett nem kereskedelmi cllal szabadon msolhat, terjeszthet,
megjelentethet s eladhat, de nem mdosthat.

TMOGATS:
Kszlt a TMOP-4.1.2-08/1/A-2009-0008 szm, Tananyagfejleszts mrnk informatikus, programtervez
informatikus s gazdasginformatikus kpzsekhez cm projekt keretben.




ISBN 978 963 279 523 2

KSZLT: a Typotex Kiad gondozsban
FELELS VEZET: Votisky Zsuzsa
AZ ELEKTRONIKUS KIADST ELKSZTETTE: Bori Tams







KULCSSZAVAK:
Algoritmusok, szmelmlet, Euklidesz algoritmusa, Lineris Diophantoszi egyenletek, kongruencik, Knai
maradkttel, prmtesztek, titkosrs nyilvnos kulccsal, bizonyts nulla informcival, Euklideszi gyrk
SSZEFOGLALS:
Az algoritmusok legfontosabb jellemzinek ttekintse utn a knyv bevezetskppen az elemi szmelmletet
tekinti t algoritmikus szemszgbl nem minden egyszer krds szmthat ki percek vagy vek alatt. A
knyv elsdleges clja egyrszt a szmelmlet felhasznlsa az algoritmusok s titkosrsok, irat-hitelestsek
tern (7.3, 10. s 1. fejezetek), msrszt a szmelmlet sajt kiszmthatsgi problmi s azok megoldsra
trtnt prblkozsok bemutatsa (3.2, 8. s 9. fejezetek). A knyv tartalmazza a fenti rszek megrtshez
szksges (nem kevs) elmleti tudnivalt is (2., 47. fejezetek). Az anyag megrtst t kis program segti,
melyek a bemutatott algoritmusokat lpsenknt mutatjk be, az output-szveg szerkeszthet. A programok
egyszerbb szmtsok elvgzsre (pl. titkosrs) is hasznlhatk. Nhny j jellssel s szemlletmddal,
tovbb Bolyai Jnos szmelmleti munkssgval, st modern algebrai ltalnostsokkal is
megismerkedhetnk a knyvben (3., 8.3. s 13. fejezetek). A knyvet Tblzatok, Irodalomjegyzk s
Trgymutat teszi teljess.
Tartalomjegyzk
1. Bevezets 5
1.1. Jellsek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Algoritmusok sebessge 8
2.1. Alapfogalmak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. Alapm uveletek sebessge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1. Termszetes szmok mrete . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2. M uveletek sebessge . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. A szmelmlet alapjai 18
3.1. Oszthatsg s prmszmok . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2. A szmelmlet algoritmikus problmi . . . . . . . . . . . . . . . . . . . . . 21
3.3. lnko s lkkt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4. A prmszmok eloszlsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5. Nevezetes problmk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.5.1. Pitagorasz s FLT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.5.2. Karcsonyi Ttel s Bolyai Jnos . . . . . . . . . . . . . . . . . . . 30
3.5.3. Szmtani sorozatok . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5.4. Ikerprmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4. Maradkos oszts s Euklidesz algoritmusa 32
4.1. Maradkos oszts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2. Euklidesz algoritmusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5. Lineris Diophantoszi egyenletek 38
5.1. ax + by = c egyenletek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2. a
1
x
1
+ + a
n
x
n
= c egyenletek . . . . . . . . . . . . . . . . . . . . . . . 42
6. Kongruencik s maradkosztlyok 45
6.1. Kongruencik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.2. Maradkosztlyok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.3. Els ofok kongruencia-egyenletek . . . . . . . . . . . . . . . . . . . . . . . . 52
6.4. Euler-fle (n) fggvny . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.5. Maradkosztly-ttelek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.6. Nagy kitev oj u hatvnyozs . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
4 TARTALOMJEGYZK
6.7. Primitv gykk s diszkrt logaritmus . . . . . . . . . . . . . . . . . . . . . 62
6.8. Magasabbfok kongruencik . . . . . . . . . . . . . . . . . . . . . . . . . . 64
7. Knai Maradkttel s nagy szmok szorzsa 71
7.1. Knai Maradkttel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.2. ltalnos modulusok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
7.3. Nagy szmok szorzsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
8. Prmtesztels s szmok felbontsa 79
8.1. Eratoszthenesz algoritmusa . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
8.2. Fermat algoritmusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
8.3. lprmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
8.4. MillerRabin teszt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.5. Pollard -mdszere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.6. Az AKS algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9. Prmkeress 90
9.1. Mersenne-szmok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.2. Fermat-prmek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
10. Titkosrs nyilvnos kulccsal 93
10.1. Az RSA-algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
10.1.1. Pldk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.1.2. Megoldsok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10.2. A htizsk algoritmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
11. Bizonyts nulla informcival 103
12. Szmtgpes megvalstsok 105
13. Fggelk 107
13.1. Boole-Algebrk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
13.2. Polinomok, Euklideszi gy ur uk . . . . . . . . . . . . . . . . . . . . . . . . . 108
13.3. Tblzatok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Irodalomjegyzk 117
Trgymutat 120
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
1. fejezet
Bevezets
Minden egsz szm (lnyegben) egyrtelm uen bonthat fel prmszmok szorzatra ta-
nultuk ltalnos iskolban, s fel is bontottunk nhny 3-4-jegy u szmot.
1.1. Plda. Faktorizljuk (bontsuk szorztnyez okre) az albbi szmokat, vagy gy oz odjnk
meg rla, hogy prmszmok (vagyis nincs valdi felbontsuk):
a) n
a
= 440 747
b) n
b
= 2 347 589
c) n
c
= 97 189 241
d) n
d
= 17 967 876 255 379
e) n
e
= 444 113 096 135 661 846 937
f) n
f
= 2
67
1 = 147 573 952 589 676 412 927
g) n
g
= 11438162 5757888867 6692357799 7614661201 0218296721 2423625625
6184293570 6935245733 8978305971 2356395870 50589890751 4759929002
6879543541 (129 jegy u).
Kedves Olvasnk, prblja meg a fenti szmokat faktorizlni (felbontani): kzzel (mint
a XIX.szzadban), egyszer u szmolgppel vagy sajt kis szmtgpes programocskj-
val vagy knyvnkhz mellkelt PRIM1D.EXE programmal (egyel ore ne hasznljon interne-
tet, mint a 11. Szmtgpes megvalstsok fejezetben), vagy olvassa vgig knyvnket.
(Most mg a megfejtst se nzze meg a 3.25. Megoldsban a 2.2. A szmelmlet algoritmi-
kus problmi c. alfejezet vgn.)
Igen, a bajok mr a 810 jegy u szmokkal elkezd odnek, pedig a modern alkalmazsok-
ban tbbszz vagy akr ezer jegy u egsz- s prmszmokkal kellene szmolnunk. Knyvnk
lnyegt a 2.2. A szmelmlet algoritmikus problmi alfejezetben fejtjk ki rszletesen:
a tnyleges szmtsok mennyi id ot is ignyelnek, hogyan cskkenthet ok tbb vmilli (!)
helyett pr napra. Ez vonatkozik egyrszt a szmelmletben felmerl o szmtsi problmk
(pl. prmtesztels, -felbonts, lnko, lkkt, stb.) kiszmtsnak nehzsgeire s azok megoldsi
mdszereire, msrszt a szmelmlet felhasznlsaira a modern szmtstechnikban (szm-
tsok gyorstsban, titkosrsokban, kdelmletben). Gyors algoritmus azonban nem ltezik
behat elmleti vizsglatok nlkl, ezekb ol is csak a legszksgesebbeket trgyaljuk (mara-
dkosztlyok, stb.).
A titkosrsok elvgezhet osge azon alapszik, hogy arnylag knnyen tallunk nagym-
ret u (5001000 jegy u) prmszmokat (ld. 8. Prmkeress fejezet) s arnylag knnyedn
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
6 1. BEVEZETS
tudunk szmolni velk (ld. 5. Kongruencik s maradkosztlyok fejezet), mg titkossgt
az biztostja, hogy (jelenlegi ismereteink szerint) ugyanekkora, de ismeretlen szmokat csak
vezredekig tart algoritmusokkal tudnnk prmtnyez okre bontani: ld. pldul a 7. Prm-
tesztels s szmok felbontsa fejezet. (Egy egsz szmot akkor neveznk ismeretlen-nek,
ha nem ismerjk prmtnyez os felbontst.)
Knyvnk mgis bevezet o jelleg u, hiszen csak nhny egyszer ubb szemlltet o algorit-
must mutat, s inkbb csak hivatkozunk rszletesebb m uvekre. (A tma legtfogbb ismerte-
tse mg mindig Donald Knuth [KD] m uvben tallhat.)
t egyszer u szmtgp-programot is mellkeltnk knyvnkhz:
EUKLDIO2D.EXE, HATVMODDD.EXE, KINAI3D.EXE, POLIOSZ5.EXE s PRIM1D.EXE.
Nem dszes megjelents volt a clunk, hanem a knyvben lert algoritmusok szemlltet-
se, lpsenknti bemutatsa. (Egyszer usgk miatt az adatok bersa sem szerkeszt osorban
trtnik: legynk krltekint oek.) Jl hasznlhatk azonban szmolgp-knt kisebb fel-
adatok (pl. RSA) megoldshoz s tanulmnyozshoz.
A programok kizrlag magnclra hasznlhatk, brminem u zleti alkalmazsuk
szigoran tilos!
Knyvnk felttelezi a kzpiskols szmelmleti anyag ismerett, ugyanakkor az alap-
fogalmak jszer u bemutatsval (pl.p (n), s jelek [3.9. s 3.33. Dencik], atom-
elmlet s Boole-algebrk) igyekszik az anyag mlyebb megrtst el osegteni. Nem ma-
radhattak ki a klasszikus s modern szmelmlet legfontosabb s legrdekesebb problmi
s eredmnyei sem, dihjban. A Fggelkben pedig az oszthatsg fogalmt s problmit
terjesztjk ki ms halmazokra (Euklideszi gy ur uk), ezen vizsglatok tbbek kztt a Fermat-
sejts) megoldsban jtszottak kulcsszerepet. (Az erre vonatkoz megjegyzseinket a Fg-
gelken kvl aprbet uvel jeleztk.)
Ksznetnket fejezzk ki kedves tanrainknak: Szalay Mihlynak, Freud Rbertnak,
s Csirmaz Lszlnak! Kln ksznet a Lektor lelkiismeretes munkjnak!
1.1. Jellsek
A knyvben hasznlt legfontosabb jellsek a kvetkez ok:
N jelli a termszetes szmok halmazt, azaz
N := 0, 1, 2, . . . ,
az egsz szmok halmazt Z-vel jelljk.
P jelli a prmszmok halmazt.
#. . . vagy [. . . [ a halmaz szmossga,
p (n) := n prmosztinak multihalmaza (n N), pl. p (12) = 2, 2, 3
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
1.1. JELLSEK 7
int(x) = [x] = x| = (als) egszrsz-fggvny: a x-nl nem nagyobb egsz szmok
kzl a legnagyobb (lefel csonkts a nemnegatv szmok esetn),
,x| = fels o egszrsz-fggvny: a x-nl nem kisebb egsz szmok kzl a legkisebb
(felfel kerekts a nemnegatv szmok esetn).
Mskppen: minden x R vals szmra x|, ,x| Z, x| x ,x| s egyenl o-
sg csak x Z egsz szmoknl van.
Tudjuk, hogy egy (vges vagy vgtelen) sorozat semmi esetre sem rszhalmaz, de knyel-
mesek az (a
n
) N, (a
n
) R ill. (m
1
, m
2
, . . . , m
k
) R jellsek.
Tudjuk azt is, hogy sok szmtgp-program tizedes pontot hasznl, mi mgis maradunk a
tizedes/ binris- vessz onl, hiszen Magyarorszgon a tudomnyos- s kzletben, oktatsban
s tanknyvekben (s a Windows-rendszerben is) ez az elterjedt.
Nhny absztrakt matematikai fogalmat (Boole Algebrk, gy ur uk, testek stb.) a Fgge-
lkben vzlatosan ismertetnk.
egy-egy gondolat / Denci / Megjegyzs / llts / Ttel / Bizonyts vgt jelli.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
2. fejezet
Algoritmusok sebessge
2.1. Alapfogalmak
Az algoritmus fogalmt preczen lehet denilni (pl. [SzI2]), neknk elg a kvetkez o intui-
tv magyarzat: a problma megadsa utn a szmtgp vges id o utn megll, s helyes
(pontos) eredmnyt ad, s termszetesen ugyanazon inputtal megismtelt minden futs
ugyanazt az eredmnyt adja az ilyen algoritmusokat determinisztikus algoritmusoknak
hvjk. Vizsglhatnnk mg nemdeterminisztikus algoritmusokat is: ugyanarra az inputra
nem minden esetben ll meg s nem mindig ad helyes eredmnyt ilyen algoritmusokkal
knyvnkben nem foglalkozunk. Vizsglni fogunk azonban olyan algoritmusokat, melyek
minden futs utn megllnak (vges id o utn), de nha csak olyan tpus vlaszt kapunk t o-
lk: a vizsglt problmra 99% esllyel az a vlasz hogy . . . , esetleg mg az ilyen tpus
vlaszok valszn usgt is meg tudjuk becslni. Az ilyen algoritmusokat valszn usgi al-
goritmusoknak nevezzk. A vals szmoknl megismert kzelt o algoritmusokat is csak
elvtve hasznljuk knyvnkben.
A determinisztikus algoritmusoknl emltett vges id o elg tg fogalom: 10
100
lps
(1000 GHz = 10
12
lps/msodperc sebessggel) is vges, ez pedig csak 3 10
80
v . . . ,
mrpedig a titkosrsoknl, tbbszzjegy u szmoknl ltni fogunk olyan problmkat, ame-
lyekre ennl gyorsabb algoritmust (2010-ben) mg senki sem ismer.
Az algoritmusok futsnak gyorsasgt, id oignyt az algoritmus (pontosabban az ltala
megoldott problma) bonyolultsgnak neveznk.
Az algoritmusok futsi idejnek kiszmtsakor teljesen pontos szmtsra nincs szk-
sgnk, hiszen ha mondjuk hnapokig futott, tovbbi pr ra mr nem rdekes. Ezenkvl,
programunk sok egyb m uveletet vgez (pl. beolvass, kirs, stb), msrszt, az egyre gyor-
sabb szmtgpek megjelense miatt (ugyanaz a program sokkal gyorsabban futhat egy m-
sik szmtgpen), s rszben ugyanezen okok miatt bennnket inkbb a nagymret u adathal-
mazok rdekelnek. Vagyis csak az id o nagysgrendjre, aszimptotikus viselkedsre vagyunk
kvncsiak.
Sajnos az albbi jellsek nem egysgesek, az id ok folyamn is vltoztak, mi az albbia-
kat hasznljuk ([CLR]):
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
2.1. ALAPFOGALMAK 9
2.1. Denci. Legyenek f, g : N R
+
tetsz oleges pozitv rtk u fggvnyek. Azt mondjuk,
hogy
(i)
f = O(g) (2.1)
vagyis f rtke nagy ord g (f is big oh of g), ha valamely x c
2
R
+
szmra teljesl
a
f(n) < c
2
g(n) (2.2)
egyenl otlensg minden elg nagy n N szmra, azaz ltezik olyan n
0
N kszbszm:
(2.2) teljesl minden n > n
0
termszetes szm esetn,
(ii)
f = (g) (2.3)
ha valamely x c
1
, c
2
R
+
szmokra teljesl a
c
1
g(n) < f(n) < c
2
g(n) (2.4)
egyenl otlensg minden elg nagy n N szmra,
(iii)
f (g) (2.5)
ha valamely x c
1
R
+
szmra teljesl a
c
1
g(n) < f(n) (2.6)
egyenl otlensg minden elg nagy n N szmra,
(iv)
f = o (g) (2.7)
vagyis f rtke kis ord g (f is little oh of g), ha minden c
2
R
+
szmra teljesl a
f(n) < c
2
g(n) (2.8)
egyenl otlensg minden elg nagy n N szmra, vagy mskppen:
lim
n
f (n)
g (n)
= 0,
(v)
f = (g) (2.9)
ha minden c
1
R
+
szmra teljesl a
c
1
g (n) f (n) (2.10)
egyenl otlensg minden elg nagy n N szmra, vagy mskppen:
lim
n
f (n)
g (n)
= . (2.11)

c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu


10 2. ALGORITMUSOK SEBESSGE
(Lnyegben az O s jellsek a krlbell sz matematikai szinonimi.)
Termszetesen a fenti jellseknek csak akkor van rtelme, ha f bonyolult s g egysze-
r u. A kpletben szerepl o c
1
, c
2
, (tetsz oleges) konstansok nyelik le a bevezet oben emltett
kerektsi hibkat ill. a klnbz o sebessg u gpek problmjt ahol n az input mrete, s
n . A megkvetelt n
0
kszbszmok rtkei lnyegtelenek, hiszen mi az algoritmusokat
tetsz olegesen nagy inputokra tervezzk, matematikai rtelemben n .
Az analzisb ol is jlismert tpusok (g lehetsges rtkei) esetn a kvetkez o elnevezsek
hasznlatosak (nvekv o sorrendben):
2.2. Denci. f = (g) vagy f = O(g) esetn az f s g fggvnyeket az albbi elnevez-
sekkel illetjk:
g(n) = c konstans (inputtl fggetlen id o),
g(n) = log
a
(n) logaritmikus (alap tetsz oleges de 1-nl nagyobb),
g(n) = n lineris (els ofok),
g(n) = n log
a
(n) szemilineris (alap tetsz oleges),
g(n) = n
2
ngyzetes (kvadratikus),
g(n) = n
k
polinomilis (k > 1, k R tetsz oleges de rgztett vals szm),
g(n) = a
n
exponencilis (alap mindegy de 1-nl nagyobb),
g(n) = n
n
hiperexponencilis.
2.3. Megjegyzs. Mint kzpiskolban tanultuk: brmely a, b R
+
esetn log
b
(x) =
c log
a
(x) egy rgztett c R
+
szmra (c =
1
log
a
(b)
), vagyis O s tekintetben a logarit-
mus alapja lnyegtelen.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
2.1. ALAPFOGALMAK 11
rdemes az alapfggvnyeket kzelebbr ol is megvizsglnunk.
Az alapfggvnyek
Az brn a jlismert alapfggvnyeket brzoltuk, de gyors nvekedsk miatt fgg ole-
ges sszenyomst alkalmaztunk, radsul logaritmikus beosztst, azaz a fgg oleges ssze-
nyoms mrtke tvolabbi sktartomnyok esetn egyre nvekszik. Ennek kvetkeztben a
lineris (egyenes) s a parabola grbk most lefel grblnek, az exponencilis grbe ki-
egyenesedett (vagyis az exponencilis fggvny ppen akkora mrtkben nvekszik, mint
amekkora az sszenyoms mrtke). Azonban a hiperexponencilis grbk mg most is me-
redeken velnek felfel: mg ekkora sszenyoms ellenre is csak n < 7 (ht) rtkek esetn
frnek el a papron!
Nagyobb n rtkekre csak szmtsokkal tudjuk mr az exponencilis fggvnyeket is
nyomon kvetni, [SzI2] Fggelkben, vagy a szerz ok honlapjn lev o tblzatban:
HTTP://MATH.UNI-PANNON.HU/~SZALKAI/ALGTABL.PDF
egy 1 MHz-cel jjel-nappal m ukd o szmtgp konkrt futsidejt szmtottuk ki n =
10, 100, 10, . . . , 10
6
mret u adathalmazok esetn. rdemes a tbb vmillicska id onl
jval nagyobb id oket tanulmnyozni, amikor is 100 1000 10
6
-szor (vagy esetleg ngy-
zetesen?!) gyorsabb szmtgpek illetve programok beszerzse ugye nem sokat segt . . . .
Analzisben jl ismertek az albbi sszefggsek, amelyek igazoljk a 2.2. Denci el-
nevezseinek sorrendjt:
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
12 2. ALGORITMUSOK SEBESSGE
2.4. Ttel.
log
a
(n) n
k
b
n
n
n
_
a, b, k R
+
, 1 < b
_
azaz
lim
n+
log
a
n
n
k
= 0, lim
n+
n
k
b
n
= 0, lim
n+
b
n
n
n
= 0
_
a, b, k R
+
, 1 < b
_

A fenti ttelben s a tovbbiakban az albbi ltalnos jellseket hasznljuk:


2.5. Denci. Tetsz oleges f, g : N R vagy f, g : R
+
R fggvnyekre
(i) az
f g
jellst akkor hasznljuk, ha g vgtelenszer nagyobb, mint f, vagyis
lim
n
f (n)
g (n)
= illetve lim
x
f (x)
g (x)
= .
(ii)
f g
azt jelli, hogy f s g aszimptotikusan egyenl oek, vagyis
lim
n
f (n)
g (n)
= 1 illetve lim
x
f (x)
g (x)
= 1.
Az (ii)-beli jellst ne tvesszk ssze a gy ur uknl hasznlatos asszocilt elemek jel-
lssel (ld. Fggelkben).
Ne feledjk a kombinatorikban (s jegyzetnkben is) gyakran hasznlt kzelt o formult:
2.6. Ttel (Stirling-formula). Elg nagy n N termszetes szm esetn
n!
_
n
e
_
n

2n (2.12)
s ot kicsit pontosabban
_
n
e
_
n

2n e
1
12n

1
360n
3
n!
_
n
e
_
n

2n e
1
12n
. (2.13)
Ms alakja:
log(n!) n log(n) n.
(James Stirling (1692-1770) skt matematikus.)
Hangslyozzuk ismt, hogy szmunkra n miatt a konstansok nem rdekesek. Ezrt
(elmletileg) pldul a 54 312 n
2
= O(n
2
) (ngyzetes) idej u algoritmust jobbnak tartjuk
mint a 10
3
2
n
= O(2
n
) (exponencilis) idej ut, noha kis n rtkekre (elg sokig) az utbbi
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
2.1. ALAPFOGALMAK 13
a gyorsabb, vagyis gyakorlati felhasznlsra kis n-ek esetn inkbb az utbbi javasolt (de
nagy n-re mr nem).
A tanulsg: az n
2
algoritmusokat mg jnak, a polinomilis algoritmusokat mg elfo-
gadhatnak (gyorsnak), az exponencilisakat pedig (kibrhatatlanul) lassnak, a hiperex-
ponencilisakat pedig . . . -nak tartjuk.
Egy konkrt algoritmus futsidejt arnylag egyszer u kiszmolni, azonban fontosabb len-
ne az algoritmusok (pontosabban: a problmk) bonyolultsgnak als becslse: mennyire
szksgszer uen nehz egy-egy problma. Sajnos ez nagyon nehz, ltalban megoldatlan fel-
adat, kevs (s nehezen bizonythat) ilyen eredmnynk van.
Most csak pr rdekessget emltnk meg:
2.7. Ttel (Cejtin). Tetsz oleges f : N N rekurzv (kplettel kiszmthat) fggvnyhez
ltezik olyan problma, melyet megold minden algoritmus, n adat esetn legalbb
O(f(n))
ideig fut.
Bizonyts. tlet: ha mr a vgeredmny kijelzshez legalbb ennyi bet ut kell lernunk
. . . .
(A rekurzv fggvnyek dencija megtallhat pl. [SzI2]-ben.)
2.8. Denci. (Naiv=nem matematikai): Egy problmt NP-teljesnek (Nondeterministic
Polynomial Complete) neveznk, ha az albbi kijelents igaz r:
ha erre a problmra lenne gyors algoritmus, akkor a vilg sszes problmjra is lenne
(azonnal!) gyors algoritmus .
Brmilyen hihetetlen: mr a mlt szzad 70-es veiben kzismert htkznapi probl-
mk tucatjairl bizonytottk be, hogy NP -teljes (ld. pl. [SzI2], [LG], [CLR] vagy [LL2]).
Algoritmusok elmletr ol rvid bevezet ot tallunk [SzI2] utols 40 oldaln, nagyon ala-
pos de olvasmnyos bevezet o m u [LG], rszletesebb olvasnivalt pldul [CLR], [IA], [LL2],
[RF] s [RISz]-ban tallhatunk.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
14 2. ALGORITMUSOK SEBESSGE
2.2. Alapm uveletek sebessge
2.2.1. Termszetes szmok mrete
Az algoritmus futsideje nyilvn fgg az Input mrett ol: mekkora adathalmazt adtunk a
szmtgpnek. Ne feledjk:
2.9. Megjegyzs. Amennyiben az input egy n N termszetes szm, akkor az input mrete
= az n szmjegyeinek szma, teht nem n rtke maga.
Az input mrett nha in-nel vagy in(n)-nel jelljk, azaz n > 0 esetn
in(n) := log (n)| + 1
(a szmrendszer alapszma, s gy a logaritmus alapja is ugye lnyegtelen).
2.10. Plda. Ha a szmtgpnek egy k (pl. k = 100) jegy u n szmot adunk be, akkor mi
csak k db karaktert adtunk a gpnek, de ez a karaktersorozat ltal kdolt n szm rtke val-
jban 10
k
krl van: n = O
_
10
k
_
. Ha most ezt az n szmot szorzatt akarjuk bontani,
pldul megkrhetjk a gpet, hogy a pratlan szmokkal prblja meg n-et maradk nl-
kl elosztani

n-ig, akkor a vgrehajtott O(

n) lps valjban O
_
10
k/2
_
= O
_

10
k
_
,
vagyis inputunk fggvnyben exponencilisan lass algoritmus!
(Az mr elenysz o problma, hogy egy-egy lpsben tbbszzjegy u egsz szmokat kell ma-
radkosan elosztanunk egymssal.)
2.11. Denci. Legyen n N tetsz oleges termszetes szm. Ekkor jellje
n := log
2
(n)| + 1 (2.14)
az n szm binris szmjegyeinek szmt. Nha hasznljuk a k
b
s k
d
jellseket is az n
szm binris illetve decimlis szmjegyinek szmra, ebben az esetben az n szmot k-bites
szmnak nevezzk.
Mint az 2.3. Megjegyzsben is emltettk, a (2.14)-ben a logaritmus alapszma lnyeg-
telen, ezrt a k-bites szm elnevezsben is lnyegtelen (elmletileg) a szmrendszer alap-
szma, mindenkppen n = O(log (n)), s egy k-bites szm rtke mr 10
k
d
ill. 2
k
b
:
exponencilisan nagy.
[LL1]-ban az n szm (kettes szmrendszerbeli) jegyeinek szmt n jelli, mi helyette
n -t hasznlunk amiatt, hogy ne legyen sszetveszthet o ms jellsekkel, pldul az
Euklideszi algoritmusnl az r
i
maradkok megklnbztetsre.
[JA] 34. oldala szerint a szmrendszer alapja a gyakorlatban mgsem lnyegtelen: a Ma-
ple 10
4
alap szmrendszert hasznl, ami lnyegesen lerontja a sebessget.
2.12. Plda. Az albbi szmokrl dntsk el, hogy hny szmjegyb ol llnak a 10-es szm-
rendszerben:
a = 2
7
3
43
11
93
39
45
101
2
,
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
2.2. ALAPM

UVELETEK SEBESSGE 15
b
1,2
= 697 053 813 2
16 352
1 (ikerprmek,[JA]),
c
1,.2
= 242 206 083 2
38 880
1 (ikerprmek,[JA]),
d
1,.2
= 16 869 987 339 975 2
171 960
1 (ikerprmek,[FR]),
M
43 112 609
:= 2
43 112 609
1 (egy Mersenne-prm),
M
o
= 2
p
1 ahol p = 2375063906985 2
19380
(egy Mersenne sszetett szm[JA]).
Hny oldalon illetve hny (kilo)mter polcon frne ki M
o
ha 4 pt bet umretben (152 sor,
soronknt 225 karakter, biblia-papron 1500 lap = 4 cm) nyomtatnnk ki?
2.13. Megolds. Egy n N, 0 < n szm k-alap szmrendszerben felrt jegyeinek szmt
nyilvn
log
k
(n)| + 1 (2.15)
adja meg.
Teht
lg (a) = 7 lg (2) + 43 lg (3) + 93 lg (11) + 45 lg (39) + 2 lg (101) 195, 0794
miatt az a szm 196 jegy u,
lg (b
1
) lg (697053813) + 16352 lg (2) 4931, 285 755
miatt a b
1
s b
2
szmok 4932 jegy uek,
lg (c
1,2
) lg (242 206 083) + 38880 lg (2) 11 712, 430 416
miatt a c
1
s c
2
szmok 11 713 jegy uek,
lg (d
1,2
) lg (16 869 987 339 975) + 171 960 lg (2) 51778, 345
miatt a d
1
s d
2
szmok 51 779 jegy uek, ([FR] szerint ezek voltak 2005-ben a legnagyobb
ismert ikerprmek, Jrai Antal s munkatrsai talltk meg),
lg (M
43 112 609
) 43 112 609 lg (2) 12 978 188, 5003329
miatt az M
43 112 609
szm 12 978 189 jegy u
(tizenktmilli szmjegy u prmszm!),
lg (M
o
) 2
23750639069852
19380
lg (2)-t nagy mrete miatt mr a Windows szmolgpe sem
tudja kiszmtani, ezrt lg (lg (M
o
)) -t szmoljuk ki:
lg (lg (M
o
)) lg
_
2
23750639069852
19380
lg (2)
_
=
= 2375063906985 2
19380
lg (2) + lg lg (2) 6, 540 10
5845
vagyis M
o
szmjegyeinek szma 10
5845
. Csak ahhoz kell 5845 szmjegy, hogy lerjuk:
M
o
-nek ennyi szmjegye van!
M
o
szmjegyeinek lershoz 10
5845
karaktert kell lernunk, a paprlapokat szorosan egyms-
hoz tve kb. 8, 2 10
5816
fnyvnyi polcra lesz szksgnk (ez nem 8 fnyv, hanem tbb,
mint 10
5816
fnyv!)
Szerencsre, ebben a knyvben mi nem foglalkozunk ekkora szmokkal.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
16 2. ALGORITMUSOK SEBESSGE
2.2.2. M uveletek sebessge
Mivel a modern titkosrsoknl tbbszzjegy u szmokkal kell exponencilisan sok (!) m uve-
letet vgeznnk, rdemes gondolkodnunk az alapm uveletek gyorsabb elvgzsn.
SSZEADS s KIVONS
Az (ltalnos) iskolban tanult papr-ceruza mdszer lineris: ha az m n feladatban
mondjuk n a nagyobbik abszolt rtk u, s
k := in := n = log
2
(n)| + 1
akkor az algoritmus lpsszma 2 in.
Linerisnl gyorsabb algoritmus (szmok sszeadsra) nyilvn nem ltezik.
SZORZS
A tanult rsbeli szorzs kvadratikus (ngyzetes), azaz a lpsszm =
O(n m ) 2 in
2
([KRSz] 105.old., [KN] 7.old.).
Azonban Lovsz Lszl s Gcs Pter [LG] nagyszer u knyvnek 3.1.1.fejezetb ol (81-
82.old.) megtanulhatjuk Karacuba szovjet matematikus 1962-ben felfedezett szorzsi md-
szert: kt k jegy u szmot mdszervel k
2
lps helyett
27 k
log
2
(3)
27 k
1,85
lpsben szorozhatunk ssze! (Az algoritmus lnyege: megprbl 2 hatvnyaival szorozni,
ami pedig lnyegben a binrisvessz o tologatsnak felel meg. Az algoritmust rviden meg-
emlti [JA] is.)
[LG] mg megemlti, hogy Karacuba mdszert azta messzemen oen ltalnostottk
Schnhage s Strassen svjci matematikusok: a vges Fourier-transzformltak felhaszn-
lsval csak
c k log (k) log (log (k))
m uveletet ignyel kt k jegy u szm sszeszorzsa. (Ld. mg [KD] 2.ktet 4.3.3. alfejezett.)
OSZTS
Az iskolban tanult algoritmus (egsz szmok maradkos osztsa) polinomilis ugyan, de
ngyzetesnl is tbb id ot ignyel. [CLR] (692, 696.old., 33.1-11.gyakorlat) s [KRSz] 7.old.
szerint ngyzetes algoritmus is knnyen szerkeszthet o. Kiss bonyolultabban, egy egyszer u
oszd meg s uralkodj elven m ukd o mdszerrel egy k-bites szmot egy nla kisebbel el le-
het osztani O
_
k
lg
2
(3)
_
lpsben is, s ot a leggyorsabb ismert mdszer O(k log (k) log (log (k)))
futsidej u. Gyakorlati clokra azonban a O(k
2
) algoritmus a legjobb (egyszer usge vgett).
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
2.2. ALAPM

UVELETEK SEBESSGE 17
A vals szmokra ksztett kzelt o algoritmusokat is hasznlhatjuk a hibakorltot l-
ltsuk
1
2
-nl kisebbre. A mr emltett [LG] knyv 3.2.1. fejezetben (90-91old.) megismert-
hetjk Newton mdszert: ha u R s 1/u-t rtkes jegyig akarjuk kiszmolni, akkor
c log () log (log ()) m uveletre van szksgnk. [JA] a Newton-fle itercit javasolja:
1/u kiszmtshoz az f (x) = u
1
x
fggvny zrushelyt keressk itercival: legyen
pldul x
0
:= 1 s n N esetn
x
n+1
:= x
n

f (x
n
)
f

(x
n
)
= x
n

u
1
xn
1
x
2
n
= 2 x
n
u (x
n
)
2
. (2.16)
HATVNYOZS
Nyilvnvalan pl. a 2
n
vgeredmny puszta kirshoz is mr log (2
n
) = n = 2
in
lps
kell, de a rszletszmtsok lersa sem elhanyagolhat feladat. Mg akkor sem, ha ismtelt
ngyzetreemelsekkel a lpsek szmt lnyegesen cskkentjk.
Azonban, ha egy u
k
hatvnynak csak egy m szmmal vett maradkra van szksgnk,
akkor a fenti trkk mr szemilineris algoritmust eredmnyez, amint ezt a 6.6. Nagy kitev oj u
hatvnyozs alfejezetben rszletesen ismertetjk.
FAKTORILIS
A szoksos mdszer n! kiszmtshoz O
_
n
2
log
2
n
_
= O(2
2in
in
2
)
lpst ignyel, ennl lnyegesebben jobb algoritmus nem ismert.
NGYZETGYKVONS
Nyilvn

n egszrszre vagyunk kvncsiak ha n N . A kb. fele olyan hossz
algoritmus is j, de nem a leggyorsabb. Egyik lehet osg ismt egy Newton-fle itercis
mdszer: legyen pldul x
0
:= 1 s n N esetn
x
n+1
:=
x
n
+
n
xn
2
.
KONVERTLS
Mint mr idztk [JA]-t: nha clszer u a szmrendszer alapszmt megvltoztatnunk.
Hasznlhatjuk az iskolai mdszert is, kicsit jobb [KN] 7.old. mdszere: k-bites binris sz-
mot tr tzes szmrendszerbe O(k
2
) id o alatt. (A konvertls fontossgrl s klnbz o
megoldsi mdszereir ol rszletesebben olvashatunk [KD] 2.ktet 4.4. alfejezetben.)
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
3. fejezet
A szmelmlet alapjai
Akzpiskolai szmelmlet-ismereteket (oszthatsg, prmszmok, prmfelbonts, lnko, lkkt)
ismertnek ttelezzk fel. Most csak felsoroljuk a legfontosabb fogalmakat s sszefggse-
ket, a hangslyt inkbb az j szemlletre helyezzk (pl. a p (n), s jelek a 3.9. s 3.33.
Dencikban, hasonlat a kmiai atomok elmletvel, Boole-algebrk, stb.) Ezenkvl n-
ha utalunk (apr bet ukkel) az oszthatsg ltalnosabb (ms halmazokban is denilhat)
tulajdonsgaira, amiket rszletesebben a Fggelkben ismertetnk.
Ismt hangslyozzuk, hogy a knyvben szm alatt legtbbszr egsz szmot rtnk.
3.1. Oszthatsg s prmszmok
Egsz szmok osztsakor termszetes, hogy van maradk. Most csak a nem maradt esettel
foglalkozunk, ks obbi fejezetekben mr inkbb maga a maradk lesz fontosabb a hnyados-
nl.
3.1. Denci. Legyenek a, b Z egsz szmok. Azt mondjuk, hogy a osztja b-nek, vagy
ms szval, b oszthat a -val, ha ltezik olyan x Z, hogy b = ax. Ennek jellse a [ b.
3.2. Denci. Ap Zegsz szmot (p ,= 1, 1, 0) prmszmnak (=primitv szm) rviden
prmnek, vagy trzsszmnak neveznk, ha irreducibilis (felbonthatatlan), azaz nem rhat
fel p = x y, x, y > 1 alakban.
Mskppen fogalmazva: p-nek nincs olyan d osztja, amelyre 1 < d < p, azaz nmagn s
az 1-en kvl nincs ms pozitv osztja.
Ha az n egsz szm nem prm, akkor sszetett szmnak nevezzk.
A pozitv prmszmok halmazt P-vel jelljk.
3.3. Megjegyzs. (i) A fenti dencibl ki kellett zrnunk 1-et s 0-t, mert egszen ms
tulajdonsgokkal rendelkeznek mint a prmszmok. A prmszmok legfontossabb tulajdon-
sga nem felbonthatatlansguk, hanem az, hogy minden egsz szm el ollthat bel olk (ld.
3.6. Ttel).
(ii) Egsz szmok oszthatsgnl az el ojel nyilvn nem lnyeges, de mindig gondolnunk
kell a negatv egsz szmokra is, hiszen azok is lteznek. gy pldul minden p P esetn
p is prmszm!
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
3.1. OSZTHATSG S PRMSZMOK 19
3.4. Megjegyzs. Az oszthatsg fogalmt s innen az egsz knyv elmlett is! ltalnosthatjuk
tetsz oleges gy ur ukre is, pl. polinomokra, komplex (algebrai) egszekre, Gauss- s Euler-egszekre,
mtrixokra. Rvid bevezet ot tallunk a Fggelkben vagy [KN]-ben.
3.5. Ttel. Ha p prm s p [ ab, akkor vagy p [ a vagy p [ b. (Ezt prmtulajdonsgnak hvjuk).
Ugyangy, ha p prm s p [ a
1
a
2
a
n
, akkor valamely i n-re p [ a
i
.
Hangslyozzuk, hogy a prmszmok jelent osgt nem az el oz o denci, hanem a kvet-
kez o ttel magyarzza meg:
3.6. Ttel (Szmelmlet Alapttele). Minden n Z, n ,= 0 egsz szm felbonthat (fak-
torizlhat) prmszmok szorzatra, lnyegben egyrtelm uen (azaz csak a tnyez ok sor-
rendjben s el ojelekben lehet eltrs).
Az el obbi ttel szerint teht minden n Z, [n[ > 1 egsz szm felrhat
n = p

1
1
p

2
2
p
r
r
(3.1)
alakban, ahol a p
i
P szmok pronknt klnbz o prmszmok, s
i
1. Mivel ez az
el ollts (lnyegtelen dolgoktl eltekintve) egyrtelm u, ezrt kln nevet is adunk neki:
3.7. Denci. A fenti el olltst az n szm trzs- (vagy prm-) tnyez os alakjnak (felbon-
tsnak), vagy n kanonikus (rendezett, lat.) alakjnak hvjuk.
Ismt hangslyozzuk, hogy a legtbb n N termszetes szm (3.1)-ben emltett fel-
bontst a gyakorlatban lehetetlen (azaz csak vmillirdok alatt lehetsges) megkeresni ld.
pldul a 3.2. A szmelmlet algoritmikus problmi alfejezetben tallhat pldkat!
3.8. Megjegyzs. Mivel a prmszmok tovbb mr nem oszthat szmok, ezrt atomoknak
is nevezhetnnk oket (atom=oszthatatlan, gr.). A molekulkat atomok ptik fel a term-
szetes szmokat prmszmok. A molekulk sszegkplete megegyezik a (3.1) kplettel, ezrt
a (3.1) kpletet hvhatnnk az n N szm sszegkpletnek-nek is.
Pedaggiailag sokszor segtett a fenti hasonlat s a kvetkez o jells, amit a ks obbiekben
mi is tbbszr hasznlunk:
3.9. Denci. Tetsz oleges n N, n > 1 egsz szmra p (n) jellje a (3.1) egyenl osgben
szerepl o prmszmok multihalmazt multiplicitssal, vagyis pleft(n)-ben a p
i
prmszm
pontosan
i
-szer szerepel:
p (n) := p
1
, . . . , p
1
, p
2
, . . . , p
2
, . . . , p
r
, . . . , p
r
(3.2)
(pldul p (12) = 2, 2, 3). Legyen tovbb
p (1) := .
Persze p (n) legtbbszr nem halmaz, mert elemei tbbszr is szerepelhetnek benne, de
ezzel az (elmleti) problmval most nem foglalkozunk. Negatv n Z szmokra is ki lehet-
ne terjeszteni a p (n) jellst, de sok problma merlne fel, feleslegesen ezzel sem foglalko-
zunk. A p (0) halmazt ugyancsak nem deniljuk.
Knnyen lthatak az albbi hasznos tulajdonsgok:
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
20 3. A SZMELMLET ALAPJAI
3.10. llts. Tetsz oleges n, m N, n, m 1 termszetes szmokra
p (n m) = p (n) p (m) , (3.3)
n [ m p (n) p (m) , (3.4)
s n [ m esetn
p
_
m
n
_
= p (m) p (n) . (3.5)
Mg pl. a 3.31. Ttel szerint:
lnko (n, m) = p (n) p (m)
s
lkkt (n, m) = p (n) p (m) ,
stb.
A multihalmazok kztti m uveleteket most ugyan nem deniltuk, de az Olvas knnyen
kitallhatja ezeket.
3.11. Denci. Tetsz oleges p P prm s n, Z szmokra
p

| n (3.6)
-t runk ha p

pontosan osztja n-t, vagyis:


p

[ n de p
+1
n. (3.7)
3.12. Denci. Az n Z szmot ngyzetmentesnek nevezzk, ha prmfelbontsban min-
den prmosztja csak egyszer szerepel (p
2
i
n vagyis p
i
| n), azaz (3.1)-ben mindegyik

i
= 1.
3.13. Denci. Tetsz oleges n Z
+
szmra jellje d(n) az n szm pozitv osztinak szmt
(divisors number).
3.14. llts.
d (n) = (
1
+ 1) (
2
+ 1) (
r
+ 1)
a (3.1) kplet jellseivel.
3.15. Megjegyzs. (i) Ne feledjk, hogy az n = 0 szmnak nincs trzstnyez os felbontsa,
de szerencsre szksgnk sem lesz r.
(ii) Hangslyozzuk, hogy a fenti felbonts alapjn a legtbb szmelmleti krds s vizsg-
lat egyszer unek t unik, de maga a felbonts megkeresse kzepesen nagy (egy-ktszz jegy u)
szmok esetn vbillikig is eltarthat mg a modern tbb teraHz-es tbbmagos prhu-
zamos processzorokkal m ukd o szuperszmtgpekkel is. Ezeket a krdseket a kvetkez o
alfejezetben vizsgljuk A Szmelmlet Algoritmikus Problmi cmsz alatt.
(iii) Az egsz szmokhoz hasonlan ms gy ur ukben is vizsglhatjuk az oszthatsgot, irreducibilis
elemeket, prmfelbontst: polinomok, mtriszok, Gauss- s Euler- egszek gy ur uje, stb. (Ezeket a hal-
mazokat a Fggelkben ismertetjk rviden.)
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
3.2. A SZMELMLET ALGORITMIKUS PROBLMI 21
3.2. A szmelmlet algoritmikus problmi
Ebben az alfejezetben a szmelmletben felmerl o legtbb szmtsi kplet gyakorlati meg-
valsthatatlansgra hvjuk fel az Olvas gyelmt.
Bemelegtskppen prblja meg az Olvas felbontani a Bevezet oben 1.1. Pldban felrt
szmokat (a megolds a jelen fejezet vgn a 3.25. Megoldsban tallhat).
Igen, a bajok mr a 7-8 jegy u szmokkal elkezd odnek, pedig a modern alkalmazsokban
tbbszz, -ezer jegy u egsz- s prmszmokkal kellene szmolnunk. Nem az sszeadssal s
szorzssal van baj ezeket tbbszzjegy u szmokkal is pillanatok alatt elvgzi brki, hanem
hogy sok ilyen osztst kell elvgeznnk.
3.16. Problma. A Szmelmlet Algoritmikus Problmi.
Legyen az input egy tetsz oleges (tbbszz/ezer-jegy u) n N termszetes szm.
(i) Prmtesztels problma: n prmszm-e?
(ii) Prmfelbonts (faktorizcis) problma: ha n nem prmszm, akkor bontsuk fel leg-
albb kt (nla kisebb) szm szorzatra!
(iii) Prmgenerls problma: adjunk meg (legalbb egy) n-nl nagyobb p prmszmot!

Nagyon jl gondoljuk meg a hrom problma klnbz osgt!


3.17. Megjegyzs. Nyilvn a (ii) problma megoldsval az (i) problmra is adnnk meg-
oldst, s ot a (iii) problma megoldshoz is kzelebb kerlnnk.
3.18. Megjegyzs. Mindhrom problmra van algoritmus, amely vges id o alatt ad megol-
dst: az Eratosztheneszi szita-algoritmus.
3.19. Algoritmus. Eratosztheneszi szita. Adott tetsz oleges n N szm prmtnyez os fel-
bontsra.
Az algoritmus jl ismert: az n szmot elosztjuk a

n-nl kisebb pratlan szmokkal.

3.20. Megjegyzs. (i) Eratoszthenesz (Kr.e.276196) grg matematikus.


(ii) A fenti 3.19. Algoritmus exponencilisan lass.
Ezt a 2.10. Pldban mr megllaptottuk a 2.2.1. Termszetes szmok mrete alfejezetben.

3.21. Plda. (a) Mennyi ideig fut az Eratosztheneszi szita-algoritmus egy k -jegy u input
esetn, a k = 20, k = 30, k = 40 s k = 50, k = 100, . . . esetekben egy 5GHz-es gpen
futtatva (ha csak az osztsokat szmtjuk egy-egy lpsnek, azaz felttelezzk, hogy a gp
minden rajel alatt elvgez egy k jegy u osztst (!) s ellen orzst, vagyis msodpercenknt
5 10
9
osztst)?
(b) Mennyire cskkenne a futsid o, ha a

n alatti prmszmokat egy tmbben (tblzatban)


trolnnk, s csak e prmszmokat prblnnk ki?
(c) Mi vltozna, ha mondjuk 1000-szer gyorsabb gpnk lenne?
Megoldsok (A rszletes szmtsok megtallhatk [SzI0]-ban.)
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
22 3. A SZMELMLET ALAPJAI
(a) Az osztsok szma

n
2
10
k/2
, ez
k=20 esetn 510
9
lps = 1 mp,
k=30 esetn 510
14
lps = 10
5
mp 27 ra 46 perc,
k=40 esetn 510
19
lps = 10
10
mp 317 v 35 nap 18 ra,
k=50 esetn 510
24
lps = 10
15
mp 31,7 milli v,
k=100 esetn 510
49
lps = 10
40
mp 3, 17 10
23
millird v . . . .
(b) Ha (x) jelli az x R-nl kisebb prmszmok szmt (ld. 3.50. Denci), akkor a
3.51. Nagy Prmszmttel szerint (x)
x
ln(x)
, vagyis az osztsok szma (

n)

n
ln (

n)
. (Az f g jellst a 2.5. Denciban vezettk be.)
Az id oadatok:
k=20 esetn 4,310
8
lps < 1 mp,
k=30 esetn 2,910
13
lps 5790 mp 1 ra 36 perc,
k=40 esetn 2,210
18
lps 4,410
8
mp 13 v 281 nap 13 ra,
k=50 esetn 1,410
23
lps 1,710
14
mp 5,5 milli v . . . .
k=100 esetn HF.
(c) Semmi.
A knyvnkhz mellkelt PRIM1D.EXE program ppen az Eratosztheneszi szitamdszer
lasssgt szemllteti: h usgesen vgigprblgatja az sszes,

n-nl kisebb pratlan szmot.


Knyvnk egyik clja ppen a lehetsges gyorstsok bemutatsa (ld. a 7. Prmtesztels s
szmok felbontsa fejezetben).
Sok esetben a prmek beolvassa fjlbl mg lassthatja is a program futst sszess-
gben, erre a 11. Szmtgpes megvalstsok fejezetben tallunk pldkat. Pldul, az
egymilliomodik prmszm p
1 000 000
= 15 485 863 mg csak 8 jegy u (s radsul 1-gyel
kezd odik), azaz (15 485 863) = 1 000 000.
Knyvnk f o clja a fenti 3.16. Problmra gyorsabb algoritmusokat mutatni, br csak
nhny egyszer ubbre van helynk. (Lsd a 7. Prmtesztels s szmok felbontsa s a 8.
Prmkeress fejezeteket, termszetesen el otte sok elmletet kell megismernnk: ld. 3-
6. fejezetek.) Bonyolultabb (jobb) algoritmusokat pldul Knuth [KD] nagyszer u m uvben
tallhatunk.
A legfontosabb eredmnyek
3.22. llts. A 3.16.(ii) (Prmfelbonts) problmra nem ismert gyors (polinomilis) algo-
ritmus.
Teht vatosan fogadjunk minden olyan ttelt s kpletet, amely hasznlja a prmfelbon-
ts (3.1) kpletet! Megjegyezzk: ppen ez a j, mert ellenkez o esetben a ma hasznlatos
titkosrsok knnyen feltrhet oek lennnek!
Mg egyszer hangslyozzuk: rdekes mdon a nagy (egsz) szmokkal val m uveletek a
modern szmtgpek robbansszer u fejl odse s tmeges elterjedse, valamint a szmelm-
let tbbezer ves eredmnyei ellenre megkzelthetetlen problmkat tmasztanak, de ppen
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
3.3. LNKO S LKKT 23
ezrt vltak fontoss a kdols, jelek zajsz urse, titkosrsok, alrs hitelestse, jelszvde-
lem problmk megoldshoz.
Vannak azonban olyan problmk, melyeket meg tudunk oldani prmfelbonts nlkl,
mint pldul Euklidesz (Kr.e.300 !!!) eredmnye lnko kiszmtsra s els ofok Diophanto-
szi egyenletek megoldsra (ld.a 4.2. Euklidesz algoritmusa alfejezetet s a 4. Lineris
Diophantoszi egyenletek fejezetet).
3.23. Ttel (AgrawalKayalSaxena, 2001 [AKS]). A 3.16.(i) (Prmtesztels) problmra
van gyors (polinomilis) algoritmus.
Az algoritmus hivatalos rvidtse: AKS-algoritmus.
3.24. Megjegyzs. A 3.16.(iii) (Prmgenerls) problmra mr tbb mint szz ve lteznek
nem tl lass (br nem is tl gyors) algoritmusok, ezeket a 8. Prmkeress fejezetben tr-
gyaljuk.
Az rdekl od ok gyelmt felhvjuk az Interneten zajl nagy prmkeressi programra (tbb-
ezer $ jutalommal!): HTTP://WWW.MERSENNE.ORG s HTTP://PRIMES.UTM.EDU
Megoldsok
3.25. Megolds. Az 1.1. Pldban emltett szmok felbontsai:
a) 440 747 = 613 719,
b) 2 347 589 = 1483 1583,
c) 97 189 241 = 7151 13 591,
d) 17967876255379 = 81371 220814249,
e) 444113096135661846937 = 3719977867 119385951211,
f) 2
67
1 = 193707721 761838257287
g) A megolds trtnett (600 szmtgpen tbb mint 8 hnap 1994-ben) a 9. Titkosrs
nyilvnos kulccsal fejezetben a 10.17. Feladatnl, mg a vgeredmnyt a 10.23. Megoldsnl
ismertetjk.
3.3. lnko s lkkt
3.26. Denci. Azt mondjuk, hogy d kzs osztja az a s b egsz szmoknak, ha d[a s
d[b.
Azt mondjuk, hogy g a legnagyobb kzs osztja a-nak s b-nek, ha g a kzs osztk
kzl a legnagyobb, azaz, ha d is kzs osztja a-nak s b-nek, akkor d g. Ennek jellse
lnko(a, b) vagy gcd(a, b) (greatest common divisor) vagy csak rviden (a, b).
Hasonlan az a
1
, . . . , a
n
Z szmok kzs oszti kzl a legnagyobbat, azaz a szmok
legnagyobb kzs osztjt lnko(a
1
, . . . , a
n
) vagy csak (a
1
, . . . , a
n
) jelli.
3.27. Megjegyzs. Brmely kt egsz szmnak 1 s 1 is kzs osztja. Mivel egy (nem
nulla) egsz szmnak vges sok osztja van, ezrt kzs osztkbl is csak vges sok van,
ezrt a legnagyobb kzs oszt mindig egyrtelm uen denilt, pozitv, s ot 1 lnko(a, b)
min[a[, [b[ brmilyen a, b Z (akr negatv akr pozitv) szmokra.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
24 3. A SZMELMLET ALAPJAI
3.28. Denci. A h Z egsz szmot az a s b egsz szmok kzs tbbszrsnek ne-
vezzk, ha a[h s b[h. Az a s b szmok kzs pozitv tbbszrsei kzl a legkisebbet az a
s b legkisebb kzs tbbszrsnek hvjuk, s lkkt(a, b) vagy lcm(a, b) (least common
multiplier) vagy rviden [a, b]-vel jelljk.
Hasonlan, az a
1
, . . . , a
n
Z szmok kzs pozitv tbbszrsei kzl a legkisebbet, azaz
a szmok legkisebb kzs tbbszrst lkkt(a
1
, . . . , a
n
) vagy csak rviden [a
1
, . . . , a
n
]
jelli.
3.29. Megjegyzs. Br szles krben elterjedtek az (a, b) s [a, b] jellsek, mi kizrlag csak
az lnko(a, b), lkkt(a, b) jellseket hasznljuk az esetleges flrertsek elkerlse vgett.

3.30. Ttel. Legyen a = p

1
1
p

2
2
p
r
r
s b = p

1
1
p

2
2
p
r
r
ahol 0
i
,
i
. Ekkor
lnko(a, b) = p
min(
1
,
1
)
1
p
min(
2
,
2
)
2
p
min(r,r)
r
, (3.8)
lkkt (a, b) = p
max(
1
,
1
)
1
p
max(
2
,
2
)
2
p
max(r,r)
r
.
Hasonlan tbb szmra:
lnko(a, b, . . . , z) = p
min(
1
,...,
1
)
1
p
min(
2
,...,
2
)
2
p
min(r,...,r)
r
lkkt (a, b, . . . , z) = p
max(
1
,...,
1
)
1
p
max(
2
,...,
2
)
2
p
max(r,...,r)
r
ahol z = p

1
1
p

2
2
p
r
r
ahol 0
i
.
Az el oz o eredmny szemlletes vltozata a p (n) jellssel (ld.(3.9)):
3.31. Ttel. Tetsz oleges a
1
, . . . , a
t
Z szmokra
lnko(a
1
, . . . , a
t
) = p(a
1
) p(a
t
),
lkkt(a
1
, . . . , a
t
) = p(a
1
) p(a
t
).
3.32. Megjegyzs. A 3.2. A szmelmlet algoritmikus problmi alfejezetben emltett al-
goritmikus problmk miatt a fenti kpletek csak elmleti jelent osg uek. Felhvjuk a gyel-
met, hogy lnko s lkkt rtkt a gyakorlatban mgis gyorsan ki lehet szmtani egy msik
mdszerrel: Euklidesz algoritmusval, amit (tovbbi alkalmazsokkal) a 4.2. Euklidesz al-
goritmusa alfejezetben ismertetnk.
Az Euklideszi algoritmus el onye nem csak a gyorsasga! Ha vele a legnagyobb kzs osztt
az argumentumok prmtnyez os felbontsa nlkl is ki lehet szmolni, akkor prmtesztel o s
-felbont algoritmusoknl a vizsgland (prm vagy sszetett?), ismeretlen szmok lnko-
jt is ki tudjuk szmolni! Erre pedig szmtalanszor lesz szksgnk a 8. Prmtesztels s
szmok felbontsa fejezetben!
A p (a) s az albbi , jellsekkel azonban sok hasznos sszefggst taln knyebben
megrthetnk:
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
3.3. LNKO S LKKT 25
3.33. Denci. Tetsz oleges a, b Z szmok esetn legyen
ab := lnko(a, b),
ab := lkkt(a, b).
Ugyanis: s nem csak kommutatv m uveletek:
3.34. llts. (kommutativits)
ab = ba azaz lnko(a, b) = lnko(b, a) ,
ab = ba azaz lkkt(a, b) = lkkt(b, a),
hanem asszociatvok
3.35. Ttel (asszociativits). Tetsz oleges a, b, c Z szmokra
(ab) c = a(bc) ,
[ab] c = a[bc] ,
hiszen jl ismert:
lnko (lnko(a, b), c) = lnko (a, lnko(b, c)) ,
lkkt (lkkt (a, b) , c) = lkkt (a, lkkt (b, c)) .
s disztributvok is:
3.36. Ttel (disztributivits). Tetsz oleges a, b, c Z szmokra
(ab) c = [ac] [bc] , (3.9)
[ab] c = (ac) (bc) ,
azaz
lkkt (lnko (a, b) , c) = lnko (lkkt (a, c) , lkkt (b, c)) , (3.10)
lnko (lkkt (a, b) , c) = lkkt (lnko (a, c) , lnko (b, c)) .
A fenti sszefggsek nem meglep ok a 3.30. Ttel (3.8) klasszikus sszefggsei, vagy
az albbi szemlletes bizonyts alapjn:
Bizonyts.
(p (a) p (b)) p (c) = p (a) (p (b) p (c)) = p (a) p (b) p (c) , (3.11)
(p (a) p (b)) p (c) = p (a) (p (b) p (c)) = p (a) p (b) p (c) ,
s
(p (a) p (b)) p (c) = (p (a) p (c)) (p (b) p (c)) (3.12)
(p (a) p (b)) p (c) = (p (a) p (c)) (p (b) p (c))
s hasonlan:
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
26 3. A SZMELMLET ALAPJAI
3.37. Ttel (tbb szm). Tetsz oleges a, b, c Z szmokra
lnko(a, b, c) = lnko (lnko(a, b), c) ,
lkkt(a, b, c) = lkkt (lkkt(a, b), c) .

A fenti Ttel szerint akrhny szm legnagyobb kzs osztjt illetve legkisebb kzs
tbbszrst vissza lehet vezetni kt szm legnagyobb kzs osztjnak illetve legkisebb
kzs tbbszrsnek kiszmtsra, ami a gyakorlati alkalmazsoknl felbecslhetetlen se-
gtsg (ld. 4.2. Euklidesz algoritmusa fejezetben).
A p (a) jells segtsgvel rthetjk meg lnko s lkkt ( s ) tbbi tulajdonsgait is,
amit legrvidebben az albbi Ttelben foglalhatunk ssze:
3.38. Ttel. Legyen n N egy tetsz oleges ngyzetmentes szm (ld.3.12. Denci). Ekkor a
_
D
n
, lnko, lkkt,
n
x
, n, 1
_
hatos (struktra) Boole algebra, azaz teljesti a halmazm uveletek:
_
T (H) , , , A, H,
_
jlismert tulajdonsgait (pl. Fggelk (BA1)-(BA14) ),
ahol
D
n
:= n osztinak halmaza
s T (H) a H halmaz hatvnyhalmaza.
3.39. Plda. Pldul a jl ismert A B = A B DeMorgan azonossg a szmelmlet nyel-
vn:
n
lkkt (x, y)
= lnko
_
n
x
,
n
y
_
.
A szmelmlet egyik legfontosabb fogalma a kvetkez o:
3.40. Denci. Azt mondjuk, hogy a s b relatv prmek (a is prime to b, a is coprime to
b), ha lnko(a, b) = 1.
Mskppen fogalmazva:
3.41. llts. Tetsz oleges a, b Z szmok pontosan akkor relatv prmek, ha nincs kzs
osztjuk, vagyis brmely u, v Z szmokra (u ,= 1, v ,= 1)
u [ a =u b s v [ b =v a,
szemlletesen:
p (a) p (b) = .
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
3.3. LNKO S LKKT 27
A 3.40. Denciban emltett angol elnevezs nem pontos, mert ez egy szimmetrikus rel-
ci, hiszen lnko kommutatv m uvelet (vagyis lnko (a, b) = 1 pontosan akkor, ha lnko (b, a) =
1).
A relatv prm elnevezs teht azt fejezi ki, hogy a szemszgb ol b prm, vagyis ha
csak a osztit tekintjk, akkor b ezek egyikvel sem oszthat vagyis b prm a (oszti)-hoz
viszonytva, s megfordtva is.
A fenti 3.41. llts alapjn knnyen belthat a kvetkez o hasznos sszefggs is:
3.42. llts. a pontosan akkor relatv prm b-hez, ha b sszes osztjhoz is relatv prm.
Msknt fogalmazva: a pontosan akkor relatv prm az m s n szmokhoz, ha relatv
prm m n-hez.
Tbb szm relatv prm kapcsolatt tbbflekppen is lehet rtelmezni, azonban ezek a
dencik kztt nagy eltrs van erre gyelnnk kell pldul a 7. Knai maradkttel . . .
fejezetben.
3.43. Denci. (i) az a
1
, . . . , a
t
Z tetsz oleges szmok relatv prmek, ha
lnko (a
1
, . . . , a
t
) = 1, (3.13)
(ii) az a
1
, . . . , a
t
Z tetsz oleges szmok pronknt relatv prmek, ha
lnko (a
i
, a
j
) = 1 minden i ,= j prra. (3.14)

Felhvjuk a gyelmet, hogy (ii) sokkal er osebb kvetelmny (i)-nl!


Nhny tovbbi kzismert s hasznos sszefggs:
3.44. Ttel. Tetsz oleges a, b Z esetn
lkkt(a, b) =
a b
lnko(a, b)
.
3.45. Ttel. (i) minden m Z egszre
lnko(m a, m b) = [m[ lnko(a, b),
(ii) az a s b egsz szmok brmely d kzs osztjra
lnko
_
a
d
,
b
d
_
=
1
d
lnko(a, b),
(iii) lnko
_
a
g
,
b
g
_
= 1 akkor s csak akkor, ha g = lnko(a, b),
vagyis
a
d
s
b
d
relatv prmek ahol d = lnko (a, b),
(iv) ha (a, c) = 1 s (b, c) = 1, akkor (ab, c) = 1,
(v) ha c[ab s (b, c) = 1, akkor c[a.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
28 3. A SZMELMLET ALAPJAI
Az Euklideszi Algoritmus (3.2.alfejezet) segtsgvel knnyen igazolhat az albbi, sok-
szor hasznos sszefggs:
3.46. llts. Tetsz oleges a, m, n N termszetes szmokra
lnko (a
m
1, a
n
1) = a
lnko(m,n)
1.
A 9.1. Az RSA-algoritmus alfejezetben szksgnk lesz a kvetkez o eredmnyre:
3.47. Ttel (Dirichlet, 1849). Tetsz olegesen vlasztott u, v Ntermszetes szmok 6/
2

0, 60793 valszn usggel lesznek relatv prmek.


3.4. A prmszmok eloszlsa
Br a prmszmokkal kapcsolatban mg mindig nagyon sok krdsre nem tudunk vlaszolni,
krlbelli eloszlsukrl elg sokat tudunk.
Kezdjk kt elemi ttellel.
3.48. Ttel (Euklidesz). A prmszmok szma vgtelen.
Bizonyts. Ha p
1
, p
2
, . . . , p
k
prmszmok, akkor az
N := p
1
p
2
p
k
+ 1
szm egyik el oz o p
i
szmmal sem oszthat, teht vagy maga egy (j) prm, vagy az (sszes)
osztja j, az el oz oekt ol klnbz o prmszm.
3.49. Ttel. A prmszmok (nvekv o) sorozatban kt prmszm kztti tvolsg tetsz ole-
gesen nagy lehet, azaz brmely pozitv egsz szmhoz ltezik db egyms utni sszetett
szm.
Bizonyts. Tetsz oleges k N, k 2 szm esetn a k! +2, k! +3, . . . , k! +k szmok
egyike sem prm, hiszen rendre 2-vel, 3-mal, . . . , k-val oszthat, ez = k 1 db szm, s k
tetsz olegesen nagy lehet.
A prmszmok s szmtani sorozatok kapcsolatval a Szmtani sorozatok valamint az
Ikerprmek alfejezetekben foglalkozunk.
Pontosabb eredmnyeket ismernk a prmszmok eloszlsrl, ezek bizonytsa azonban
jval nehezebb:
3.50. Denci. (i) Tetsz oleges n N termszetes szm esetn jellje p
n
az n -edik (pozitv)
prmszmot,
(ii) tetsz oleges x R
+
szm esetn jellje (x) az x-nl kisebb (pozitv) prmszmok sz-
mt.
rdekessgkppen: pl. az egymilliomodik prmszm mg csak p
1 000 000
= 15 485 863
azaz (15 485 863) = 1 000 000. Ugye milyen sok nyolcjegy u prmszm van!?
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
3.5. NEVEZETES PROBLMK 29
3.51. Ttel (Nagy Prmszmttel).
lim
n
(n)
n
log n
= 1,
azaz: nagy n-re
(n)
n
log n
,
ms formban:
(n)
n
_
2
1
ln (x)
dx,
pontosabb becsls: brmely r N termszetes szmra
(n) =
n
log (n)
+
1! n
log
2
(n)
+
2! n
log
3
(n)
+ +
r! n
log
r+1
(n)
+O
_
n
log
r+2
(n)
_
.

(Az f g jellst a 2.5. Denciban vezettk be.)


A legels o sszefggst Carl Friedrich Gauss (17771855) nmet matematikus sejtette
meg, bizonytani azonban csak Jacques Hadamard (1865-1963) s Charles Jean de la Valle
Poussin (1866-1962) francia matematikusoknak sikerlt 1896-ban.
3.52. Ttel (Csebisev). Tetsz oleges n N, n > 1 szmra n s 2n kztt mindig van prm-
szm.
(Pafnutyij Lvovics Csebisev (1821-1894) orosz matematikus.)
A sok ttel kzl most csak kett ot emltnk meg:
3.53. Ttel.
p
n
n log (n) .
3.54. Ttel. Ha x R, 2 x, akkor

px
pP
1
p
= log (log (x)) + o (1)
azaz
lim
x
_
_
_
_

px
pP
1
p
log (log (x))
_
_
_
_
= 0 .
3.5. Nevezetes problmk
Most csak nhny szmunkra rdekes problmt villantunk fel, amelyek jl mutatjk az
elmleti s a szmtsi nehzsgeket.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
30 3. A SZMELMLET ALAPJAI
3.5.1. Pitagorasz s FLT
3.55. Denci. Az
x
2
+ y
2
= z
2
(3.15)
egyenlet pozitv egsz megoldsait Pitagoraszi szmhrmasoknak (Pithagorean triplets)
nevezzk.
(Pitagorasz Kr.e. VI. szzadban lt grg matematikus.)
Mr Pitagorasz maga s az kori Babilniaiak is ismertk az albbi kpletet:
3.56. llts. A (3.15) egyenlet sszes megoldsa: x = 2m, y = m
2
1, z = m
2
+ 1
ahol m N tetsz oleges termszetes szm.
Pierre Fermat az 1600-as vek kzepn egy knyv margjra a kvetkez o lltst rta (az
lltst a hozta nyilvnossgra 1670-ben):
3.57. llts. (Fermat Nagy Sejtse) A (3.15) egyenletnek azonban n 3 esetn nincsen
pozitv egsz gyke. Erre egy csodlatos bizonytst talltam, de a lap szle tl keskeny ahhoz,
hogy azt befogadja.
A fenti sejtst angolul Fermats Last Theorem (Fermat utols ttele) vagy csak rviden
FLT-nek hvjk.
Mig rejtly, hogy mi volt Fermat csodlatos bizonytsa.
Nhny legels o bizonyts (n specilis rtkeire) a Z[] halmazok segtsgvel sikerlt,
amely halmazokat s alaptulajdonsgaikat a Fggelkben ismertetjk.
A bizonyts hinyz lncszemt 1993-ban Andrew Wilesnak sikerlt ptolnia, amit vg-
leges formban 1995-ben publiklt R. Taylorral kzsen.
3.5.2. Karcsonyi Ttel s Bolyai Jnos
3.58. Ttel (Fermat karcsonyi ttele). Minden 4m+1 alak prmszmel oll kt ngyzetszm
sszegeknt.
Bolyai Jnos nagyon egyszer u bizonytst tallt a fenti ttelre a Z[] halmazok segtsg-
vel (ld. Fggelkben). Err ol gy r Kiss Elemr [KE1] s [KE2]-ben:
Ugyancsak Bolyai Farkas bztatta t arra, hogy keresse meg a fent mr emltett Fer-
mat karcsonyi ttelnek legegyszer ubb bizonytst. A ttelt Fermat fogalmazta meg 1640
karcsonyn, de csak jval ks obb L. Euler bizonytotta be egy hossz, 55 oldalas dolgozat-
ban. Bolyai Jnos felhasznlva a komplex egszek elmlett ngy bizonytst is tallt a
ttelre. Ezek kzl az egyik klnsen rvid s egyszer u. Mindssze kt sor. A XX. szzad
matematikusai valsggal versenyeztek azon, hogy ki tudna minl egyszer ubb bizonytst ta-
llni Fermat-ttelre. Ezek a ksrletek Don Zagier 1990-es dolgozatban cscsosodtak ki,
amelyben o egy mondatban bizonytotta be a ttelt. Sokan gy gondoljk, hogy ez a ttelre
adhat legszebb bizonyts, kvetkezskppen ez kerlt be az Erd os Pl ltal oly sokszor
emlegetett Nagy Knyvbe. Vlemnynk szerint a Nagy Knyvben nem Zagier, hanem Bolyai
Jnos bizonytsa tallhat.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
3.5. NEVEZETES PROBLMK 31
3.5.3. Szmtani sorozatok
3.59. Ttel (Dirichlet, 1837). Ha egy szmtani sorozat els o tagja s klnbsge relatv pr-
mek, akkor ebben a szmtani sorozatban vgtelen sok prmszm van.
(Peter Gustav Lejeune Dirichlet (1805-1859) nmet matematikus.)
Dirichlet fenti ttelnek bizonytsa megtallhat [SzM]-ben vagy a
HTTP://WWW.TYPOTEX.HU/?PAGE=KONYVEK&ISBN=978-9-639132-25-2 cmen.
3.60. Problma. Milyen hossz olyan szmtani sorozat van, amelynek minden tagja prm-
szm?
A 2005. novemberben ismert leghosszabb sorozatok csak 22 tagak, pldul:
a
n
= 28 383 220 937 263 + 1 861 263 814 410 k (0 k 21)
ahol
1 861 263 814 410 = 2 3 5 5 7 11 13 17 19 23 103
3.61. Ttel (Ben Green, Terence Tao, 2004). Ltezik tetsz oleges vges hosszsg, csak pr-
mekb ol ll szmtani sorozat.
(Ld. [FR] s HTTP://ARXIV.ORG/ABS/MATH/0404188,
HTTP://FRONT.MATH.UCDAVIS.EDU/MATH.NT/0404188 vagy
HTTP://MATHWORLD.WOLFRAM.COM/PRIMEARITHMETICPROGRESSION.HTML.)
Nem tudjuk, hogy mikppen lehet egy 23 tag vagy hosszabb ilyen sorozatot tallni.
3.5.4. Ikerprmek
Mig nem sikerlt bizonytani az (kori keltezs u) n. ikerprm-problmt:
3.62. Denci. A p, q P prmszmokat ikerprmeknek nevezzk, ha
q = p + 2.
3.63. Sejts. (Ikerprm-problma) Vgtelen sok (p, q) ikerprm-pr ltezik.
Az eddigi legnagyobb ikerprmeket Jrai Antal s munkatrsai talltk meg 2005 szep-
tember 9-n. Ezek a prmek:
d
1,2
= 16 869 987 339 975 2
171 960
1 ([FR]).
(Hny jegy uek is?)
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
4. fejezet
Maradkos oszts s Euklidesz
algoritmusa
A 3.2. A szmelmlet algoritmikus problmi alfejezetben lttuk, hogy gyakorlatilag lehe-
tetlen (nagymret u) termszetes szmokat prmtnyez okre bontani s ez az sszes szm-
elmleti problma gykere. Azonban lnko (a, b) kiszmtsra ltezik egy meglep oen egy-
szer u s gyors algoritmus, amit radsul mr tbb mint ktezer ve felfedeztek s hasznltak
(s mg manapsg is a legjobb).
Ne feledjk, hogy a [SzI1] Feladatgy ujtemnyben nagyon sok, rszletesen kidolgozott
plda tallhat ehhez a fejezethez is.
4.1. Maradkos oszts
Ha csak egsz szmokkal dolgozunk, akkor osztskor termszetes, hogy (majdnem) mindig
marad valami a vgn. Ez az egyszer u tny a szmelmlet egyik alapfogalma:
4.1. Ttel (Maradkos oszts ttele). Minden a Z s b > 0 egsz szmokhoz ltezik olyan,
egyrtelm uen meghatrozott q s r egsz szm, amelyre
a = b q + r s 0 r < b. (4.1)
Meglep o mdon a ks obbiekben nem a hnyados, hanem a maradk lesz a lnyeges.
Szmolgpeken ugyan nincs ilyen gomb, de egyes programnyelvekben hasznlatos az
r := (a mod b)
vagy hasonl jells.
A fenti ttelt kiterjeszthetnnk tetsz oleges b Z egsz szmokra is: (4.1) helyett
a = b q + r s 0 r < [b[ (4.2)
-t kellene rnunk, de ez a gyakorlatban csak felesleges bonyolts lenne.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
4.2. EUKLIDESZ ALGORITMUSA 33
4.2. Megjegyzs. A vals egytthatj polinomok R[x] halmazban, a komplex szmok
Z[i] := a +bi : a, b Z
Gauss-egszek, a
Z[] := a +b : a, b Z
Euler-egszek s mg sok Z [] rszhalmazban ( =
1
2
+

3
2
i, C megfelel o msodfok
algebrai szm) is rvnyes a maradkos oszts (4.2) megfelel oje (pl. polinomoszts). Mivel pe-
dig a jelen fejezet s az utna kvetkez o hrom fejezet a (4.2) egyenl osgre pl, gy nem meglep o,
hogy ezekben a fejezetekben megismert mdszerek (Diophantoszi egyenletek, Knai maradkttel,
stb.) mind rvnyesek a polinomok, Gauss-, Euler egszek s a megfelel o Z [] rszhalmazokban is.
S ot, a bemutatottaknl mg ltalnosabb Euklideszi gy ur ukben is rvnyes a maradkos oszts s an-
nak minden kvetkezmnye, ezt rviden a Fggelkben ismertetjk. (A polinomok maradkos osztsa
a polinomok egyb algebrai tulajdonsgaira is magyarzatot ad. A vals szmoknl is hasznljuk a
maradkos osztst: pl. b = 2 a trigonometrikus fggvnyeknl.)
Nagymret u szmoknl mr a maradkos oszts gyakorlati kiszmtsnak mdjn is r-
demes elgondolkodnunk, err ol rszleteket pl. [MGy]-ben tallunk.
A maradkos oszts legf obb alkalmazsa kvetkez o alfejezetben tallhat:
4.2. Euklidesz algoritmusa
Meglep o mdon az albbi eljrst tbb mint 2300 ve ugyangy rta le Euklidesz i.e. 300
krl. A grg matematika els osorban geometria volt, gy nem meglep o, hogy Euklidesz al-
goritmust tetsz oleges szakaszokra rta le azaz Euklidesz tetsz oleges pozitv vals szmokra
denilta s hatrozta meg algoritmikusan a legnagyobb kzs osztt.
A mdszer a modern szmtgpek korban is nlklzhetetlen.
Alkalmazsai pldul: relatv prmek ellen orzsnl s keressnl, trtm uveleteknl (trtek
egyszer ustsekor), lineris Diophantikus egyenleteknl, lineris kongruenciknl s kongru-
enciarendszereknl (Knai Maradkttel), szmok (mod m) multiplikatv inverznek kisz-
mtsakor, . . . ezeket a kvetkez o fejezetekben ismerhetjk meg.
4.3. Algoritmus. Euklideszi algoritmuslnko(a, b) meghatrozsra:
Adott a, b Z szmokra ismtelten alkalmazzuk a maradkos oszts ttelt: ha [a[ [b[
akkor osszuk el az a szmot b-vel, majd b-t a maradkkal, stb. mindig az osztt a maradkkal.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
34 4. MARADKOS OSZTS S EUKLIDESZ ALGORITMUSA
Azaz legyen
a = b q
1
+ r
1
, 0 < r
1
< [b[,
b = r
1
q
2
+ r
2
, 0 < r
2
< r
1
,
r
1
= r
2
q
3
+ r
3
, 0 < r
3
< r
2
,
r
2
= r
3
q
4
+ r
4
, 0 < r
4
< r
3
,
.
.
.
r
i2
= r
i1
q
i
+ r
i
, 0 < r
i
< r
i1
,
.
.
.
r
m2
= r
m1
q
m
+ r
m
, 0 < r
m
< r
m1
,
r
m1
= r
m
q
m+1
.
Az algoritmus akkor ll meg, ha 0 maradkot kapunk, azaz r
m+1
= 0.
Ekkor
lnko(a, b) = r
m
vagyis a legutols, nem nulla maradk.
4.4. Megjegyzs. Az Euklideszi algoritmus el onye nem csak a gyorsasga! Ha vele a legna-
gyobb kzs osztt az argumentumok prmtnyez os felbontsa nlkl is ki lehet szmolni, ak-
kor prmtesztel o s -felbont algoritmusoknl a vizsgland (prm vagy sszetett?) szmok
lnko-jt is ki tudjuk szmolni! Erre pedig szmtalanszor lesz szksgnk a 8. Prmtesztels
s szmok felbontsa fejezetben!
4.5. Jells. Mivel a ks obbi gyakorlati szmtsoknl szksgnk lesz a maradkok (r
i
) s a
hnyadosok (q
i
) megklnbztetsre, ezrt az r
i
maradkokat . . . zrjelekbe tettk: r
i
.

4.6. Plda. lnko(9867,8855) meghatrozsa:


< 9867 > = < 8855 > 1+ < 1012 >
< 8855 > = < 1012 > 8 + < 759 >
< 1012 > = < 759 > 1 + < 253 >
< 759 > = < 253 > 3 + < 0 >
teht
lnko(9867, 8855) = 253.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
4.2. EUKLIDESZ ALGORITMUSA 35
4.7. Plda. lnko(5 170 549, 4 195 813) meghatrozsa:
< 5170549 > = < 4195813 > 1+ < 974736 >
< 4195813 > = < 974736 > 4+ < 296869 >
< 974736 > = < 296869 > 3+ < 84129 >
< 296869 > = < 84129 > 3+ < 44482 >
< 84129 > = < 44482 > 1+ < 39647 >
< 44482 > = < 39647 > 1+ < 4835 >
< 39647 > = < 4835 > 8+ < 967 >
< 4835 > = < 967 > 5+ < 0 >
teht
lnko(5 170 549, 4 195 813) = 967.
Tovbbi kidolgozott pldkat s alkalmazsokat tallunk az [SzI1] feladatgy ujtemny 50
52., ill. 118127. oldalain, tovbb a jegyzethez mellkelt EUKLDIO2D.EXE program segt-
sgvel gyakorolhatjuk az algoritmust.
Lthatjuk az el oz o pldkban, hogy az algoritmus nhny egyszer u lps utn megll,
mg pl. a fenti htjegy u szmok trzstnyez os felbontsa sokkal tovbb tartana.
Az algoritmusokrl szl 1.1. Alapfogalmak alfejezetben ltalnossgban emltettk a
j algoritmusok legfontosabb jellemz oit, most ezen szempontok alapjn rszletesen meg-
vizsgljuk az Euklideszi algoritmust:
1.) megll-e egyltalban az algoritmus minden input esetben,
2.) mennyi id o mlva ll meg (msodperc trtrsze vagy vmillik?),
3.) helyes eredmnyt ad-e minden inputnl,
4.) milyen nehz/bonyolult, (mennyibe kerl),
5.) milyen ms problmkhoz lehet mg alkalmazni.
Az Euklideszi algoritmus esetben mindegyik krdsre meglep oen j vlaszt kapunk.
1.) Az eljrs termszetesen vges sok lpsben vget r mert
[b[ > r
1
> r
2
> > r
i
> r
i+1
> > 0
s pozitv egsz szmok cskken o sorozata nem lehet vgtelen. Ezt az elvet hvjk descente
innie (vgtelen leszlls, francia) elv -nek.
A fenti pldban 4 195 813-nl kevesebb maradkos osztst kellett vgeznnk. Szeren-
csre ez mindig gy van:
3.)
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
36 4. MARADKOS OSZTS S EUKLIDESZ ALGORITMUSA
4.8. Ttel (Lam). Az Euklideszi algoritmus legfeljebb annyi lpsig tart, mint amennyi b
szmjegyei szmnak tszrse, azaz
m 5 log
10
[b[.
(Gabriel Lam (1795-1870) francia matematikus. )
Bizonyts. A bizonyts megtallhat pldul [CsL]-ben, most csak vzoljuk. Az alap-
tletet: az 4.3. Algoritmus taln akkor tart a legtovbb, ha a benne szerepl o q
i
egytthatk a
legkisebbek. Azonban q
i
= 1 esetn (r
i
) ppen a Fibonacci sorozat (visszafel rva), teht a
Binet-formula szerint (ld.pl. [SzI2])
b =
1

__
1 +

5
2
_
m

_
1

5
2
_
m
_
(4.3)
ahol m az algoritmus lpsszma, ahonnan
m O(log (b)) .
4.9. Megjegyzs. Lam fenti ttele szerint az Euklideszi algoritmus lineris, vagyis az in-
put mretnek nvelsvel a futsid o CSAK linerisan (egyenes arnyban) nvekszik, min-
den ilyen algoritmus pedig a lehet o leggyorsabb: a futsid o lnyegben az input beolvassa.

[CLR] 33.2-5. Gyakorlata szerint (701.old.) az Euklideszi algoritmus futsideje a > b >
0 esetn 1 + log

(b) ami cskkenthet o


1 + log

_
b
lnko (a, b)
_
-ra, ahol =

5+1
2
.
2.)
4.10. Ttel (Euklideszi algoritmus helyessge).
r
m
= lnko(a, b).
Bizonyts. A ttel knnyen bizonythat teljes indukcival alulrl felfel:
r
m
= lnko(r
m
, r
m1
) = lnko(r
m1
, r
m2
) = lnko(r
m2
, r
m3
) = = lnko(r
i
, r
i1
)
= = lnko(a, b).
A 4.) krdsre mr vlaszoltunk.
5.) A legfontosabb alkalmazsokat a fejezet elejn mr felsoroltuk.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
4.2. EUKLIDESZ ALGORITMUSA 37
4.11. llts. lkkt (a, b), lnko(a
1
, . . . , a
t
) s lkkt (a
1
, . . . , a
t
) is meghatrozhatk az Eukli-
deszi algoritmus tbbszri alkalmazsval (ezeket mr az el oz o fejezetekben megismertk).

4.12. Plda. Mennyi lnko(39 137 563, 15 836 693, 37 219 177) = ?
Megolds: lnko(39 137 563, 15 836 693) = 39 493,
lnko(37 219 177, 39 493) = 541,
gy lnko(39 137 563, 15 836 693, 37 219 177) = 541.
Az [SzI1] feladatgy ujtemny 50. ill. 119-120. oldalain mg sok, rszletesen kidolgozott
pldt tallunk.
(A XX. szzadban termszetesen felfedeztek gyorsabb s egyszer ubb algoritmusokat
az lnko kiszmtsra, pl. [KD] 2.ktet 4.5.2. alfejezetben megtallhatjuk J. Stein (1961)
algoritmust, amely csak kivonst s felezst (binris vessz o thelyezse) hasznl.)
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
5. fejezet
Lineris Diophantoszi egyenletek
Diophantosz (Kr.u.250) grg matematikus foglalkozott egyenletek egsz gykeivel, ezrt
hvjuk ltalban az olyan egyenleteket Diophantoszi-nak, amelyeknek az egsz gykeit ke-
ressk.
Most csak a lineris Diophantoszi egyenletekkel foglalkozunk.
5.1. Denci. Legyenek adottak az a
1
, . . . , a
n
, c Z szmok, s keresend ok olyan x
1
, . . . ,
x
n
Z egsz szmok, melyekre
a
1
x
1
+ + a
n
x
n
= c. (5.1)
A fenti egyenletet n-vltozs lineris Diophantoszi- (vagy Diophantikus) egyenletnek hv-
juk.
Nagyon egyszer u az albbi ttel szksges fele:
5.2. Ttel. Az (5.1) egyenlet akkor s csak akkor oldhat meg, ha
lnko (a
1
, . . . , a
n
) [ c . (5.2)
Bizonyts. A fenti (5.2) felttel szksgessgt nagyon egyszer uen belthatjuk: d =
lnko (a
1
, . . . , a
n
) esetn nyilvn
d [ a
1
x
1
+ + a
n
x
n
hiszen x
1
, . . . , x
n
Z egsz szmok.
A (5.2) felttel elgsgessge a kvetkez o fejezetekben ismertetett megoldsi algoritmu-
sokbl (azok ltezsb ol) kvetkezik.
5.1. ax + by = c egyenletek
Ebben az alfejezetben az
ax + by = c (5.3)
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
5.1. ax + by = c EGYENLETEK 39
ktismeretlenes Diophantikus egyenletet oldjuk meg, ahol a, b, c Z adott szmok, teljesl
az
lnko(a, b) [ c
felttel, s keresend o x, y Z.
Elegend o el oszr (5.3) helyett az
ax + by = lnko(a, b) (5.4)
egyenletet megoldanunk, utna (5.3) mr knnyen (
c
d
-vel beszorozva) megoldhat, ahol d =
lnko(a, b).
5.3. Ttel. Minden a s b egsz szmhoz lteznek olyan u
0
s v
0
egsz szmok, hogy
lnko(a, b) = a u
0
+ b v
0
. (5.5)
Az albbi bizonyts egyben algoritmust is ad u
0
, v
0
(s gy x, y) megtallsra, lnye-
gben az Euklideszi algoritmus kib ovtsre van szksgnk:
5.4. Algoritmus. (Kiterjesztett Euklideszi Algoritmus)
Az (5.5) Diophantikus egyenlet megoldsa:
Hasznljuk fel a (4.3) algoritmus sorait, alulrl a msodik sortl kezdve, alulrl felfel sor-
rendben (osztanunk nem kell). Ehhez rszletesebben meg kell nznnk az Euklideszi algorit-
mus utols sorait:
a = b q
1
+ r
1
.
.
.
r
m4
= r
m3
q
m2
+ r
m2
r
m3
= r
m2
q
m1
+ r
m1
r
m2
= r
m1
q
m
+r
m
r
m1
= r
m
q
m+1
+ 0.
Teht:
lnko(a, b) = r
m
= r
m2
r
m1
q
m
= r
m2
(r
m3
r
m2
q
m1
) q
m
=
= r
m3
u
m2
+ r
m2
v
m2
= r
m3
u
m2
+ (r
m4
r
m3
q
m2
) v
m2
=
= r
m4
u
m3
+ r
m3
v
m3
=
. . .
= a u
0
+b v
0
.
5.5. Megjegyzs. Az u
i
, v
i
szmokat nem kell kplettel kiszmtanunk, hiszen menet kz-
ben automatikusan megkapjuk oket, mint a kvetkez o pldban lthatjuk.
(Amint a 4.5. pontban megjegyeztk: a szmolsban meg kell klnbztetnnk az r
i
mara-
dkokat, ezeket . . . zrjelekkel emeljk ki: r
i
.)
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
40 5. LINERIS DIOPHANTOSZI EGYENLETEK
5.6. Plda. Oldjuk meg a
9867x + 8855y = 759 (5.6)
egyenletet.
Megolds: van megolds, mert lnko(9867, 8855) = 253 [ 759.
A 4.6. Plda szmolsai alapjn (a maradkokat <. . . > zrjelekbe tettk, mint ezt a 4.5.
Jellsben deniltuk):
lnko(9867,8855) = 253 = 1<1012> + (-1)<759> =
= 1<1012> + (-1)(<8855>-8<1012>) =
= (-1) <8855>+9<1012> = (-1)<8855>+9(<9867>-1<8855>) =
= 9<9867> -10<8855> ,
ahonnan
u
0
= 9, v
0
= 10.
Mivel 759/253 = 3, ezrt az (5.6) egyenlet egyik megoldsa
u
0
= 9 3 = 27, v
0
= 10 3 = 30.
Az egyenletnek van mg tbb gyke, amiket az 5.10. Ttelben adunk meg.
A mellkelt EUKLDIO2D.EXE program segtsgvel gyakorolhatjuk a fenti mdszert.
A [SzI1] Feladatgy ujtemnyben (5254., 127134. old) sok, rszletesen kidolgozott fel-
adatot tallunk a fenti algoritmusra s a lineris Diophantikus egyenletek alkalmazsaira.
5.7. Megjegyzs. Az 5.4. Algoritmusbl kiolvashat a
_
u
m1
= 1
v
m1
= q
m
,
_
u
i
= v
i+1
v
i
= u
i+1
q
i+1
v
i+1
(i = m2, . . . , 0) (5.7)
vagy mskppen
_
u
i+1
= q
i+1
u
i
+ u
i1
v
i+1
= u
i
rekurzv sszefggs, de mint lttuk, nincs szksgnk r.
Teht ebben az alfejezetben sikerlt bebizonytanunk az albbi ttelt:
5.8. Ttel. Az
ax + by = c (5.8)
Diophantikus egyenletnek pontosan akkor ltezik megoldsa, ha
lnko(a, b) [ c .
Fontos krds az algoritmus sebessge, erre megnyugtat vlaszt tudunk adni:
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
5.1. ax + by = c EGYENLETEK 41
5.9. Megjegyzs. Lam 4.8. Ttele ismt hasznos szmunkra: az (5.1) egyenleteket megold
fenti algoritmus is lineris, vagyis (problmnkra) a lehet o leggyorsabb.
Vgl keressk meg az (5.3) egyenletek sszes (ltalnos) megoldst!
Ha u
0
s v
0
egy megoldsa az
a u
0
+ b v
0
= lnko(a, b)
egyenletnek, akkor knnyen lthat, hogy
x
0
:= u
0

c
lnko(a, b)
, y
0
:= v
0

c
lnko(a, b)
egy megoldsa az (5.3) egyenletnek.
Az sszes megoldst pedig az albbi ttel segtsgvel kapjuk meg:
5.10. Ttel. Ha az (5.8) egyenletnek ltezik egy (x
0
, y
0
) megoldsa, akkor az sszes gyk:
x = x
0
+ k
lkkt(a, b)
a
, y = y
0
k
lkkt(a, b)
b
(k Z) (5.9)
vagy mskppen
x = x
0
+ k
b
lnko(a, b)
, y = y
0
k
a
lnko(a, b)
(k Z) (5.10)
(k Z tetsz oleges szm).
Bizonyts. A ttel knnyen bizonythat: vizsgljuk meg az (5.8) egyenlet kt gyke
kztti klnbsget (hzi feladat).
Trjnk vissza kicsit az 5.4. Algoritmushoz. Gyors, rthet o, ttekinthet o. A baj csak az,
hogy sok memrit ignyel, hiszen az sszes q
i
s r
i
maradkot el kell trolnunk, mivel az
algoritmus a msodik menetben az egyenletek sorait visszafel haladva is felhasznlja. Az
egyenleteket kzelebbr ol megvizsglva ez a kett ossg kikszblhet o s az algoritmus is
kicsit gyorsthat. Az albbi mdosts implementlsa s bizonytsa megtallhat pldul
[KD] 1.ktet 37. oldaln.
5.11. Algoritmus. Az ax + by = lnko (a, b) (5.5) egyenlet megoldsra.
(Az 5.4. Algoritmus jellseit hasznljuk.)
Legyenek
1
:= 1,
1
:= 0;
0
:= 0,
0
:= 1,
majd az r
i2
= r
i1
q
i
+r
i
vagyis r
i
:= r
i2
r
i1
q
i
sor mellett a kvetkez ot is szmtsuk
ki:

i
:=
i2

i1
q
i
,
i
:=
i2

i1
q
i
.
Ekkor
m
,
m
megadja az ax + by = lnko (a, b) egyenlet egy megoldst.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
42 5. LINERIS DIOPHANTOSZI EGYENLETEK
5.12. Plda. Oldjuk meg az
9867x + 8855y = 759 (5.11)
egyenletet (ld. 4.6. s 5.6. Pldk).

1
:= 1,
1
:= 0;

0
:= 0,
0
:= 1,
< 9867 > = < 8855 > 1+ < 1012 >

1
= 1 0 1 = 1

1
= 0 1 1 = 1
< 8855 > = < 1012 > 8+ < 759 >

2
= 0 1 8 = 8

2
= 1 (1) 8 = 9
< 1012 > = < 759 > 1 + < 253 >

3
= 1 (8) 1 = 9

3
= 1 9 1 = 10
< 759 > = < 253 > 3 + < 0 > V

EGE
teht lnko (9867x + 8855) = 253, =
3
= 9 s =
3
= 10 egy megoldsa az
9867 + 8855 = 253 = lnko egyenletnek,
vagyis
x
0
:=
3

759
253
= 27 s y
0
:=
3

759
253
= 30
egy megoldsa az (5.11) egyenletnek.
Az 5. Kongruencik s maradkosztlyok s 6. Knai maradkttel... fejezetekben a
lineris Diophantikus egyenleteket tbb, elmleti s szmtstechnikai problma megoldsra
tudjuk felhasznlni.
[LG] 100-104.oldalain az Euklideszi algoritmus rdekes alkalmazst talljuk polinomok
gykei szmnak meghatrozsra egy adott [a, b] intervallumon.
5.2. a
1
x
1
+ + a
n
x
n
= c egyenletek
Az (5.1) egyenlet sszes megoldst az Euklideszi algoritmus tbbszri alkalmazsval (n-
re trtn o teljes indukcival) megkaphatjuk, ami a (5.2) ttel elgsges felt is igazol-
ja. Az [SzI1] feladatgy ujtemnyben erre is tallunk kidolgozott pldkat (53-54. ill. 132-
134.oldalak).
Most csak az n = 3 esetet mutatjuk meg rviden.
Megoldand teht az
ax + by + cz = m (5.12)
hromismeretlenes lineris Diophantikus egyenlet, ahol a, b, c, m, x, y, z Z egsz szmok.
(0) El orebocstjuk, hogy a megoldhatsg szksges s elgsges felttele:
lnko(a, b, c) [ m.
(1) Az Euklideszi algoritmussal megkeressk d := lnko(a, b)-t.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
5.2. a
1
x
1
+ + a
n
x
n
= c EGYENLETEK 43
(2) az ax + by = td (t Z) egyenletek ltalnos megoldsa
x = t x
o
+
lkkt(a, b)
a
k, y = t y
o
+
lkkt(a, b)
b
k (k Z).
(3) Szmtsuk ki := lnko(d, c) rtkt (az Euklideszi algoritmussal).
(4) Oldjuk meg az dt + cz = m egyenletet, melynek ltalnos megoldsa
t =
m

t
o
+
lkkt(d, c)
d
, z =
m

z
o

lkkt(d, c)
c
( Z).
5.13. Megjegyzs. Teht az
ax + by + cz = m
lineris Diophantikus egyenletek ltalnos megoldsa:
_

_
x = t x
o
+
lkkt(a, b)
a
k
y = t y
o
+
lkkt(a, b)
b
k
z =
m

z
o

lkkt(d, c)
c

ahol
t =
m

t
o
+
lkkt(d, c)
d

k, Z.
ahol = lnko(a, b, c), tovbb a megoldhatsg szksges s elgsges felttele:
[ m .

5.14. Plda. Oldjuk meg az 12x + 30y + 15z = 18 egyenletet az egsz szmok krben.
(0) mivel lnko(12, 30, 15) = 3 [ 18, ezrt van gyke az egyenletnek,
(1) d = lnko(12, 30) = 6,
(2) a 12x + 30y = t 6 egyenletek ltalnos megoldsa:
x = t (2) + 5k, y = t 1 2k,
(3) = lnko(d, c) = lnko(6, 15) = 3,
(4) a 6 t + 15 z = 18 egyenlet ltalnos megoldsa:
t = 6 (2) + 5, z = 6 1 2 ( Z),
gy az ltalnos megolds:
_

_
x = t (2) + 5 k
y = t 1 2 k
z = 6 1 2
ahol
t = 12 + 5
k, Z
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
44 5. LINERIS DIOPHANTOSZI EGYENLETEK
azaz
_

_
x = (12 + 5) (2) + 5k
y = (12 + 5) 2k
z = 6 2
= 10 + 5k + 24
= 5 2k 12
= 2 + 6
ahol k, Z.

c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem


6. fejezet
Kongruencik s maradkosztlyok
A periodikusan ismtl od o jelensgeknl ltalban nem az ismtl odsek szma, hanem a leg-
vgn kapott maradk a fontos (ht napjai, trigonometriban 2k utni maradk azaz hol
jvk ki a krforgalombl?, csomagols utni maradk, a szm legutols jegye vagy nhny
legutols jegye, tlcsorduls egsz szmoknl a szmtgpben, mindenkinek van-e prja?
a tnciskolban, stb.).
A most kvetkez o fejezetben egsz szmok egsz szmmal val osztsi maradkait fogjuk
rszletesen megvizsglni.
A [SzI1] Feladatgy ujtemny 4.2. alfejezetben rengeteg kidolgozott pldt tallunk oszt-
hatsgi szablyokrl, maradkokrl, kongruencikrl s alkalmazsaikrl.
6.1. Kongruencik
(kongruencia (lat.) = megegyezs, megfelels, egybevgsg.)
Az osztsi maradkok vizsglatnl hasznos az albbi tmr jells:
6.1. Denci. Tetsz oleges a, b, m Z, m ,= 0 egsz szmokra jellje
a
m
b vagy a b (mod m)
(olvasd: a kongruens b-vel modulo m) az a s b ugyanazt a maradkot adjk m-el
elosztva relcit (sszefggst).
Br a fenti denci fejezi ki a kongruencia lnyegt, matematikai krnyezetben (bizony-
tsokhoz) az albbi denci a hasznos:
6.2. Denci. Legyen m Z tetsz oleges (rgztett) egsz szm, m ,= 0. Ekkor tetsz oleges
a, b Z szmokra legyen
a
m
b vagy a b (mod m) (6.1)
pontosan akkor ha
m [ a b. (6.2)
m-et a kongruencia modulusnak nevezzk.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
46 6. KONGRUENCIK S MARADKOSZTLYOK
Szerencsre a fenti kt denci ekvivalens (azonos rtk u, lat.): a (6.2) sszefggs pon-
tosan azt jelenti hogy a s b ugyanazt a maradkot adjk m-mel elosztva (HF).
6.3. Megjegyzs. (i) Az m = 1 eseteket rdemes kln is megvizsglnunk: brmely
a, b Z szmokra a b (mod 1). ltalban m 2 s szigoran m ,= 0!
(ii)
m
pontosabb elnevezse szmelmleti kongruencia, hiszen a geometriai egybevgsg sok l o
nyelven (latin eredete miatt) szintn kongruencia, s van ltalnos (absztrakt) algebrai kongruencia is
(ez utbbi: m uvelettart ekvivalencia-relci).
(iii) = s nem keverhet ok ssze: tetsz oleges a, b, m Z, m ,= 0 egsz szmokra a = b-b ol
kvetkezik a
m
b de megfordtva ltalban nem!
Ht persze: az = megklnbztet minden a, b egsz szmot, mg
m
nagyon sok (vgtelen sok)
szmot sszemos. Tovbbmenve: nyilvnval az albbi kvetkeztets:
6.4. llts. m [ n esetn a
n
b-b ol kvetkezik a
m
b, de megfordtva (ltalban)
nem.
6.5. Megjegyzs. (folytats) vagyis (mod n) sokkal tbb szmot klnbztet meg mint (mod m)
ha m [ n. Algebrai nyelven ezt gy mondjk, hogy (mod n) nomabb osztlyozs/relci mint
(mod m), ami pedig durvbb. Nyilvnvalan (mod 1) a legdurvbb s = azaz (mod ) a leg-
nomabb.
Az a
m
b jellst legtbbszr akkor hasznljuk, ha a Z tetsz oleges s 0 b < m,
hiszen a maradkra (mod m) vagyunk kvncsiak s ezt jelljk b-vel.
gy tulajdonkppen egy m uveletet deniltunk: az a Z szm m-el val osztsi marad-
kt. Nagy m modulusoknl b is nagy lehet, ezrt rdemes negatv maradkokra is gondolni
(mert ekkor mb kicsi).
6.6. Denci. Legyen m Z tetsz oleges (rgztett) egsz szm, m ,= 0. Ekkor tetsz oleges
a Z szmra
(i) jellje
a (mod m) vagy (a mod m)
azt az (egyetlen) b < m nemnegatv szmot, amelyre b
m
a teljesl,
(ii) jellje
a (MOD m) vagy (a MOD m)
azt a legkisebb abszolt rtk u b szmot (teht
m
2
< b
m
2
), amelyre b
m
a teljesl.
Vigyzat: a fenti denci rzkeny a kis- s nagybet ukre: (mod m) s (MOD m) nem
ugyanaz!
A legtbb szmtgpes programozsi nyelvben is van beptett maradkkpz o m uvelet
(/eljrs/fggvny), a zsebszmlgpeken sajnos nincs ilyen gomb.
6.7. Megjegyzs. A fenti jellsekkel x
m
y (6.1) helyett
(x mod m) = (y mod m)
is rhat: a kt rsmd ekvivalens.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.1. KONGRUENCIK 47
Hzi feladat a kvetkez o sszefggsek ellen orzse:
6.8. llts. Rgztett m Z, m ,= 0 szmra
m
ZZ ekvivalencia-relci (vagyis:
reexv, szimmetrikus s tranzitv binris relci).
6.9. Ttel. Tetsz oleges (rgztett) m Z, m ,= 0 szmra, valamint brmely a, b, c, d Z
szmokra
ha a
m
b
s c
m
d
akkor a c
m
b d
s a c
m
b d
A fenti sszefggsek miatt hvhatjuk
m
-t kongruencinak (m uvelettart ekvivalencia
relci).
6.10. Megjegyzs. (i) Az iskolban tanult oszthatsgi szablyok is a fenti 6.9. Ttel k-
vetkezmnyei.
Pldul a 11-gyel oszthatsg szablya azon alapszik, hogy
10
j
(1)
j
(mod 11)
teht egy a
k
a
k1
. . . a
1
a
0
szmjegyekkel, tzes szmrendszerben lert n szm
n = a
k
a
k1
. . . a
1
a
0
(10)
:=
k

j=0
10
j
a
j
11-gyel val osztsi maradka
n
k

j=0
(1)
j
a
j
(mod 11)
vagyis kapjuk a jlismert szablyt:
Egy tzes szmrendszerben felrt szm pontosan akkor oszthat 11-gyel, ha a
szmjegyeit vltakoz el ojellel sszeadva a kapott sszeg oszthat 11-gyel. (A vltakoz
el ojelek a 0 szmjegyekre is vonatkoznak, pldul n = 1032002 maradka 1 0 +3 2 +
0 0 + 2 4 (mod 11).)
(ii) Hasonl krds: milyen szmjegyekre vgz odik a megadott HATALMAS kifejezs?,
hiszen ha n N legutols szmjegyt krdezzk, akkor valjban a
_
mod 10

_
maradkra
vagyunk kvncsiak. A fenti 6.9. Ttel alapjn megint egy jlismert szablyt kapunk:
A vgeredmny utols jegynek meghatrozshoz mindssze csak a tagok/
tnyez ok utols jegyeit kell gyelembe vennnk.
A [SzI1] Feladatgy ujtemnyben sok, rszletesen kidolgozott feladatot tallunk a fenti szab-
lyok gyakorlsra s alkalmazsra.
A fenti 6.9. Ttel hasznt a kvetkez okppen foglalhatjuk ssze:
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
48 6. KONGRUENCIK S MARADKOSZTLYOK
6.11. Megjegyzs. Ha egy nagymret u kifejezs kirtkelsnl (nagy szmolsnl) csak a
vgeredmny (mod m) maradka rdekel minket, rgztett mmodulus esetn, akkor minden
lpsben vehetjk/vegyk a rszeredmny maradkt s csak a (kismret u) maradkokkal kell
tovbb szmolnunk. Vagyis egyetlen lpsben sem kell nagymret u szmokkal bajldnunk.
(Ezt hvjk modulris aritmetiknak.)
Ezt nem csak ltalnos- s kzpiskolai feladatoknl, hanem a jelen s a ks obbi fejezetekben
is hasznlhatjuk, ennek ltvnyos alkalmazsa pldul a 6.6. Nagy kitev oj u hatvnyozs
alfejezet.
6.12. Plda. Mennyi maradkot ad a 132465+46587 83152 731052208645
5
kifejezs
753-mal osztva?
Megolds: mindegyik tnyez onek kln-kln vesszk a 753-mal val osztsi maradkt, s
a szmols minden lpsben is a rszeredmnyek helyett 753-mal val osztsi maradkukat
tekintjk:
132465 + 46587 83152 731052 208645
5

690 + 654 322 642 64


5

690 + 654 206724 64


2
64
3

690 + 654 402 331 100 =


230498 80 (mod 753).
Sok gyakorl feladatot rszletes megoldsokkal tallhatunk [SzI1] 39-45. ill. 97-109.
oldalain.
6.13. Megjegyzs. VIGYZAT: pratlan modulus esetn ltalban mr nemigazak az alb-
bi, jl megszokott lltsok:
prospros=pros, pratlanpratlan=pros, . . . , (mod m)
prospros=pros, pratlanpratlan=pratlan (mod m),
pldul 6 + 4 1, 6 2 3 de 6 4 6 (mod 9), stb.
Ezt a krdst a 6.3. Els ofok kongruencia-egyenletek alfejezet eredmnyei alapjn tudjuk
teljessggel megvizsglni.
Vgezetl klnbz o modulusokra vonatkoz sszefggseket emltnk meg:
6.14. Ttel. (i) Tetsz oleges m
1
, m
2
Z (m
1
m
2
,= 0) modulusokra:
ha x y (mod m
1
) s x y (mod m
2
) akkor x y (mod lkkt (m
1
, m
2
)) .
(ii) ha ac bc (mod m) s d = lnko (c, m) akkor a b
_
mod
m
d
_
.
6.2. Maradkosztlyok
Az albbiakban a maradkok kztti m uveleteket vizsgljuk, algebrai szempontok szerint.
Nem kvnunk precz absztrakt fogalmakat s tteleket hasznlni, mindssze a tma rvid
bemutatsa a clunk.
Az el oz o fejezet 6.9. Ttele s az utna kvetkez o Megjegyzsek szerint elegend o a sz-
mok maradkaival vgeznnk a m uveleteket ezt sszegezzk a kvetkez o dencikban s
ttelekben.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.2. MARADKOSZTLYOK 49
Jelen fejezet vgig rgztsnk egy tetsz oleges n 1 pozitv egsz szmot.
6.15. Jells. Jellje Z
n
a (mod n)-sszes maradkok halmazt:
Z
n
:= 0, 1, . . . , n 1 .
Klnbz o algebrai meggondolsok miatt Z
n
helyett hasznlatos mg a (Z/
nZ
) jells is.

6.16. Megjegyzs. Algebrai szempontbl Z


n
a
n
ekvivalenciarelci osztlyait tar-
talmazza, erre neknk most nem lesz szksgnk, de technikai okok miatt az albbi Den-
cira s szemlletre igen:
6.17. Denci. Az n db tetsz oleges a
1
, . . . , a
n
Z szmot teljes maradkrendszernek
hvjuk (mod n), ha az a
i
szmok (mod n) maradkai az sszes Z
n
-beli maradkot kiadjk,
mindegyiket pontosan egyszer.
A ks obbiekben tbbszr fogjuk hasznlni a kvetkez o eredmnyt:
6.18. Ttel. Tetsz oleges n Z szmra ha a
1
, a
2
, . . . , a
n
teljes maradkrendszer (mod n),
c Z egy tetsz oleges s b Z egy n-hez relatv prm szm, akkor a
ba
1
+ c, ba
2
+ c, . . . , ba
n
+ c
szmok is teljes maradkrendszert alkotnak (mod n).
6.19. Denci. sszeads s szorzs a Z
n
halmazon:
Tetsz oleges a, b Z
n
esetn legyen a b s a b olyan elemei Z
n
-nek, amelyekre
a b : a + b (mod n)
s
a b : a b (mod n).
Ha nem okoz flrertst, egyszer uen csak a + s jeleket hasznljuk s helyett.
6.20. Megjegyzs. (o) A fenti kt m uvelet jl meghatrozott (denilt) az el oz o alfejezet 6.9.
Ttele alapjn:
ha
a a

s b b

(mod n)
akkor
a b a

s a b a

(mod n) .
(i) Szintn a fenti ttel miatt a s m uveletek rendelkeznek a vals szmok szoksos tu-
lajdonsgaival (asszociativits, kommutativits, disztributivits), ezeket most nem rjuk fel.
A tovbbiakban csak a + s jeleket hasznljuk s helyett.
(ii) A fentiek alapjn (Z
n
, +), (Z
n
, ) s (Z
n
, +, )m uveletekre zrt halmazok, algebrai struktrk, s ot
(Z
n
, ) kommutatv flcsoport, (Z
n
, +) Abel csoport s (Z
n
, +, ) kommutatv egysgelemes gy ur u,
azaz integritsi tartomny. Ezeket a fogalmakat rszletesebben a Fggelkben vizsgljuk.
(iii) A jelen Algoritmikus szmelmlet knyvnk egsze a (Z
n
, +, ) gy ur ur ol szl. A vals egytt-
hats polinomok R[x] halmaza (polinomgy ur u) is hasol tulajdonsgokkal br, knyvnk nagy rsze
R[x]-re is alkalmazhat.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
50 6. KONGRUENCIK S MARADKOSZTLYOK
Fontos gyakorlati problma a m uveletek megfordthatsga: ellentett s inverzelem ke-
resse.
Az sszeadssal nincs gond: tetsz oleges a Z
n
elemre a + (a) 0 (mod n), ahol
nyilvnvalan (a) = n a.
A szorzsnl sokkal bonyolultabb a problma. Mirt is baj, hogy pldul
2 3 0 (mod 6) ?
Ebb ol mirt kvetkezik, hogy a
2 x 1 (mod 6)
egyenletnek nincs megoldsa?
6.21. Denci. Legyen (1, +, ) egy tetsz oleges gy ur u (mondjuk (Z
n
, +, )). Egy tetsz oleges
a 1(azaz a Z
n
) elem multiplikatv inverze egy olyan a
1
-nel jellt eleme 1-nek (Z
n
-
nek) amelyre
a a
1
= 1
vagyis a
1
az
a x 1 (mod n) (6.3)
kongruencia-egyenlet megoldsa.
Nha elhagyjuk a multiplikatv jelz ot ha nemokoz flrertst, de mivel ltezik additv
inverz is, ezrt el ovigyzatosnak kell lennk.
Az (6.3) s hasonl egyenletek megoldsval (szmelmleti mdszerekkel) a kvetkez o
fejezetben (ld. 6.36. Ttel), de el otte a kvetkez o, nagyon egyszer u, ltalnos algebrai vizs-
glatok is hasznosak szmunkra.
6.22. llts. Tetsz oleges 1 gy ur uben minden a elemnek legfeljebb egyetlen inverze lehet,
vagyis az a
1
inverzelem egyrtelm u.
Vigyzat: Most a (Z
n
, , ) struktrban vagyunk, s a
1
Z
n
, vagyis nem az iskolai
szorzs m uveletr ol van sz!
Bizonyts. Ha x s y is inverze a-nak, akkor szmtsuk ki ktflekppen az xay szorza-
tot:
egyrszt
xay = (xa) y = 1 y = y
msrszt
xay = x (ay) = x 1 = x
teht x = y, Q.E.D.
1)
1)
Q.E.D. = quod erat demonstrandum = amit meg kellett mutatnunk (lat.)
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.2. MARADKOSZTLYOK 51
6.23. Denci. Legyen (1, +, ) egy tetsz oleges gy ur u (mondjuk (Z
n
, +, )), s jellje 0 a
gy ur u sszeadsra vonatkoz nullelemt.
(i) Az a ,= 0 elemet nullosztnak vagy zrusosztnak hvjuk, ha ltezik olyan b ,= 0 elem,
hogy a b = 0 . (Ekkor nyilvn b is nulloszt.)
(ii) Az (1, +, ) gy ur ut nullosztmentesnek hvjuk ha nincsenek nulloszti, egybknt
(1, +, ) nulloszts.
6.24. llts. Ha n sszetett szm akkor Z
n
-ben lteznek zrusosztk. Rszletesebben: a
Z
n
pontosan akkor zrusoszt ha nem relatv prm n-hez.
Bizonyts: hzi feladat.
6.25. Ttel. Ha a 1nulloszt akkor nincs inverze.
Bizonyts. Ha a nulloszt a b prjval, a
1
pedig inverrze a-nak, akkor szmtsuk ki
ktflekppen a baa
1
szorzatot:
egyrszt
baa
1
= (ba) a
1
= 0 a
1
= 0
msrszt
baa
1
= b
_
aa
1
_
= b 1 = b
ami ellentmonds mert b ,= 0 teht a valban nem lehet nulloszt s invertlhat egyszerre.
6.26. Denci. Az (1, +, ) gy ur ut (pldul (Z
n
, , )-et) testnek nevezzk, ha minden
a ,= 0 elemnek van multiplikatv inverze.
6.27. Kvetkezmny. Ha n sszetett szm akkor Z
n
-ben vannak elemek, amiknek nincs mul-
tiplikatv inverze: az n-hez nem relatv prm szmoknak biztosan nincs.
Teht n sszetett szmra Z
n
nem test.
Vigyzat: a fenti kvetkeztetsek ltalban nem fordthatk meg: nem minden nemnul-
losztnak van inverze (pl. (Z, +, )-ben: az egsz szmok szoksos +, m uveleteire).
Az n P prmmodulusok klnleges helyzetben vannak: nem csak a kvetkez o fejezet
6.36. Ttele, hanem az albbi ltalnos, nem tl nehz algebrai eredmny miatt is:
6.28. Ttel. Vges, nullosztmentes gy ur uben minden elemnek van multiplikatv inverze,
vagyis az ilyen gy ur u test.
ltalnosabban: ha egy (o, ) flcsoport (pldul (Z
n
, )) minden a, x, y, a ,= 0 elemre:
ax = ay-bl x = y kvetkezik (lehet egyszer usteni o-ben), akkor o-ben van egysgelem s
minden elemnek van multiplikatv inverze (vagyis o csoport).
6.29. Kvetkezmny. Brmely p P prmszmra (Z
p
, +, ) test, azaz minden a , 0 (mod p)
elemre az ax 1 (mod p) kongruencinak van megoldsa.
sszetett modulusra knytelenek vagyunk a modulushoz relatv prm szmokkal foglal-
kozni.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
52 6. KONGRUENCIK S MARADKOSZTLYOK
6.30. Denci. Tetsz oleges n Z (n ,= 0) szmra Z
n
-nek n-hez relatv prm elemeinek
halmazt reduklt maradkrendszernek nevezzk (mod n) s Z

n
-gal jelljk.
Mskppen fogalmazva: B = b
1
, . . . , b
k
Z
m
akkor reduklt maradkrendszer (mod n),
ha lnko (b
i
, n) = 1, b
i
, b
j
(mod n) s B nem b ovthet o tovbbi elemekkel ezen
tulajdonsgokkal. Az (egyetlen) ilyen B halmaz jele Z

n
.
Hasznlatosak mg a (Z/n Z)

s (Z/
nZ
)

jellsek is.
6.31. Denci. Tetsz oleges n Z (n ,= 0) szmra jellje (n) a (mod n) reduklt
maradkosztlyok szmt, azaz legyen
(n) := [Z

n
[ .
Mskppen fogalmazva: (n) jellje az 1 s n kztti, n-hez relatv prm szmok szmt.
A fenti fggvnyt Euler-fle fggvnynek nevezik (ld.mg a 6.43 Dencit).
6.32. Plda. (15) = 9 mert 15-hz relatv prm szmok (3-mal s 5-tel nem oszthatk):
1, 2, 4, 7, 8, 10, 11, 13, 14. Az 5.4. Euler-fle (n) fggvny alfejezetben megismernk
nhny kpletet, amelyekkel (n) rtkt felsorols nlkl is ki tudjuk szmtani.
Vigyzat: Z

n
nem zrt az sszeadsra, err ol brki knnyen meggy oz odhet. Szerencsre
a szorzsra igen, ez ppen a 3.42. llts msodik fele.
A (Z

n
, ) struktra tulajdonsgait az albbi Ttelben foglaljuk ssze:
6.33. Ttel. Tetsz oleges n Z (n ,= 0) szmra a Z

n
reduklt maradkrendszer zrt a
szorzsra (azaz a, b Z

n
esetn a b Z

n
), tovbb minden elemnek van multiplikatv
inverze, azaz az algebra nyelvn: a (Z

n
, ) struktra kommutatv- (vagyis Abel-) csoport.
Bizonyts. A 3.42. llts msodik fele igazolja a zrtsgot.
A 6.36. Ttel s a 6.28. Ttel is igazolja, hogy minden elemnek van multiplikatv inverze.
6.34. Megjegyzs. Felhvjuk a gyelmet arra, hogy a 6.28. Ttel utn kvetkez o Algoritmus
nem csak az inverzelem ltt lltja, hanem meg is keresi azt (mgpedig elg gyorsan).
Vgl megjegyezzk, hogy a csoportelmletben fontos o(g) (g elem rendje) fogalmat
az 5.7. Primitv gykk s diszkrt logaritmus alfejezetben vezetjk be s vizsgljuk.
6.3. Els ofok kongruencia-egyenletek
6.35. Denci. Az
ax b (mod m) (6.4)
kongruencia-egyenleteket (a, b, m adott, x keresett) els ofok vagy lineris kongruencinak
nevezzk.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.3. ELS

OFOK KONGRUENCIA-EGYENLETEK 53
A fenti (6.4)-nek pontosan akkor van megoldsa, ha ax = my + b, azaz
ax my = b, (6.5)
vagyis (6.4)-t visszavezettk lineris Diophantikus egyenletekre, amit Euklidesz algoritmu-
sval knnyen meg tudunk oldani:
6.36. Ttel. A (6.4) kongruencia-egyenletnek pontosan akkor van megoldsa, ha
lnko(a, m) [ b . (6.6)
A megoldst az 5.4. Algoritmus megadja, a (6.5) trs alapjn.
A knyvhz mellkelt EUKLDIO2D.EXE programot hasznlhatjuk a (6.5) alak egyenle-
tek megoldsra.
6.37. llts. Tetsz oleges a, b, m Z szmokra a (6.4) egyenlet sszes megoldsa (mod m)
a kvetkez o:
x
i
= x
0
+ i
m
lnko (a, m)
i = 0, 1, . . . , L 1
ahol L = lnko (a, m) ,
a megoldsok szma (mod m) teht L = lnko (a, m).
Bizonyts. Az 5.10. Ttelben szerepl o (5.10) kplet alapjn.
6.38. Kvetkezmny. Ha a s m relatv prmek, akkor brmely b Z esetn van megoldsa
(6.4)-nek.
6.39. Denci. Az
ax 1 (mod m) (6.7)
kongruencia x megoldst az a Z
m
elem (mod m) multiplikatv (szorzsi) inverznek
nevezzk, s a
1
(mod m) -el jelljk.
6.40. Ttel. Tetsz oleges a, m Z szmokra: a-nak pontosan akkor van multiplikatv in-
verze (mod m), ha lnko (a, m) = 1, azaz a relatv prm m-hez kpest, vagyis a Z

m
.

A fenti eredmnyek alapjn pldul Z

m
s Z
p
-ben minden elemnek van multiplikatv
inverze, vagyis ezek a struktrk csoportok. Tovbb:
6.41. Megjegyzs. Ha mr megtalltuk a-nak a
1
multiplikatv inverzt (mod m), akkor
brmely b esetn a (6.4) kongruencia megoldsa mr csak egyetlen szorzsunkba kerl:
x b a
1
(mod m) . (6.8)
Ez nagymret u a, m Z szmoknl lehet hasznos: egyedl csak a (6.7) kongruencit kell
megoldanunk!
A fenti (6.8) kplet lineris algebrai megfelel oje: ha mr ismerjk az A mtrix A
1
inverzt, akkor utna brmilyen b esetn az A x = b lineris egyenletrendszer megoldsa
mindssze csak egy mtrix-vektor szorzs elvgzst ignyli: x = A
1
b.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
54 6. KONGRUENCIK S MARADKOSZTLYOK
6.42. Plda. a) oldja meg a 114x 3 (mod 1683) egyenletet,
b) keresse meg 18 multiplikatv inverzt (mod 175).
Megolds: A maradkok szoks szerint <. . . > zrjelekben vannak (ld. 4.5. Jells):
a) a 114x 1683y = 3 lineris Diophantikus egyenlet megoldsa:
< 114 > = < 1683 > 0 + < 114 >,
< 1683 > = < 114 > (14) + < 87 >,
< 114 > = < 87 > (1) + < 27 >,
< 87 > = < 27 > (3) + < 6 >,
< 27 > = < 6 > (4) + < 3 >,
< 6 > = < 3 > (2) + < 0 >,
ahonnan
3 = lnko(114, 1683) = 1 < 27 > + 4 < 6 >
= 1 < 27 > + 4 (< 87 > (3) < 27 >) = 4 < 87 > +13 < 27 >
= 4 < 87 > +13 (< 114 > (1) < 87 >) = 13 < 114 > +17 < 87 >
= 13 < 114 > +17 (< 1683 > (14) < 114 >)
= 17 < 1683 > +251 < 114 >
= 17 < 1683 > +251 (< 114 > 0 < 1683 >)
= 251 < 114 > +17 < 1683 >,
x
0
= 251 C/d = 251, y
0
= 17 C/d = 17,
Az ltalnos megolds:
x = x
0
+ k b/d = 251 + k (561), y = y
0
k a/d = 17 k 38 (k Z).
A kongruencia megoldsa: x 251 (mod 1683).
b) a 18x 175y = 1 lineris Diophantikus egyenlet megoldsa:
< 18 > = < 175 > 0+ < 18 >,
< 175 > = < 18 > (9) + < 13 >,
< 18 > =< 13 > (1) + < 5 >,
< 13 >=< 5 > (2) + < 3 >,
< 5 > =< 3 > (1) + < 2 >,
< 3 >=< 2 > (1) + < 1 >,
< 2 > =< 1 > (2) + < 0 >,
gy 1 = lnko(18, 175) = 1 < 3 > (1) < 2 >
= 1 < 3 > +1 (< 5 > (1) < 3 >) = 1 < 5 > +2 < 3 >
= 1 < 5 > +2 (< 13 > (2) < 5 >) = 2 < 13 > +5 < 5 >
= 2 < 13 > +5 (< 18 > (1) < 13 >) = 5 < 18 > +7 < 13 >
= 5 < 18 > +7 (< 175 > (9) < 18 >) = 7 < 175 > +68 < 18 >
= 7 < 175 > +68 (< 18 > 0 < 175 >) = 68 < 18 > +7 < 175 >
ahonnan
x
0
= 68 C/d = 68, y
0
= 7 C/d = 7.
Az ltalnos megolds:
x = x
0
+ k b/d = 68 + k 175, y = y0 k a/d = 7 k (18) (k Z).
A fentiek alapjn a 18 multiplikatv inverze:
18
1
68 107 (mod 175).
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.4. EULER-FLE (N) FGGVNY 55
Ellen orzs: 18 107 = 1926 1 (mod 175).

[SzI1]-ban sok kidolgozott pldt tallunk.


A mellkelt EUKLDIO2D.EXE programot is hasznlhatjuk (6.5) alak egyenletek megol-
dsra.
(6.5) alak egyenleteket sokszor kell megoldanunk szmelmletben, pldul a 7.1. Knai
maradkttel alfejezetben.
Az els ofok kongruencik knny u megoldhatsgval ellenttben a magasabbfok kong-
ruencik (ld. 6.8. alfejezet) megoldsra nincs gyors algoritmusunk, de ppen emiatt m ukdik
sok titkosrs (ld. 11. Bizonyts 0 informcival... fejezetben).
6.4. Euler-fle (n) fggvny
Mr az el oz o fejezetekben is lttuk, hogy (mod m) szorzsok esetn az m-hez relatv prm
szmok kitntetett szerepet jtszanak, ez a ks obbiekben is gy lesz. Ezrt megismteljk az
albbi fontos jellst:
6.43. Denci. Tetsz oleges n N szm esetn (n) jellje az n-nl kisebb, n-hez relatv
prm szmok szmt, azaz legyen
(n) := [ a < n : lnko(a, n) = 1 [ .
A fenti fggvnyt Euler-fle fggvnynek nevezik.
(Leonhard Euler (1707-1783) svjci matematikus.)
Angol nyelv u szakirodalomban nha tallkozunk a totient-function (tbbszrs, lat.)
elnevezssel is.
6.44. Megjegyzs. A fenti denci sszhangban van a 6.31. Dencival: (n) ppen a Z

n
reduklt maradkrendszer mrete:
(n) = [ Z

n
[ . (6.9)
A 3.41. llts s a logikai szitaformula (rszletesen ld. pl.[SzI2] 4. fejezet) segtsgvel
(n) knnyen kiszmthat:
6.45. llts. Ha az n N szm trzstnyez os felbontsa n = p

1
1
p

2
2
p
r
r
ahol p
i
P pronknt klnbz o prmszmok s
i
1, akkor
(n) = n
r

i=1
n
p
i
+

1i<jr
n
p
i
p
j

1i<j<kr
n
p
i
p
j
p
k
+
+ (1)
r
n
p
1
p
2
p
r
(6.10)

c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu


56 6. KONGRUENCIK S MARADKOSZTLYOK
A fenti kplettel mindssze csak kt problma van:
(i) Hny sszeadand tag is van a fenti sszegben?
1 + r +
_
r
2
_
+
_
r
3
_
+ +
_
r
r
_
= 2
r
a binomilis ttel szerint. Ez pedig exponencilisan sok tag, ha n-nek sok klnbz o prmt-
nyez oje van. Ezt a problmt a kvetkez o 6.46. Ttelben ki tudjuk kszblni.
(ii) A fenti (6.10) kplethez szksgnk van n prmtnyez os felbontsra. Sajnos nem
ismernk mg egyetlen olyan mdszert sem, amely n prmtnyez os felbontsa nlkl ki tudn
szmtani (n) rtkt. Ez vonatkozik az alfejezet albb kvetkez o kpleteire is!
A fenti (6.10) kifejezs knnyen trhat rvidebb alakba:
6.46. Ttel. (Euler) az el oz o llts jellsei mellett
(n) = n
_
1
1
p
1
__
1
1
p
2
_
. . .
_
1
1
pr
_
, (6.11)
vagy a

-jellst hasznlva
(n) = n
r

i=1
_
1
1
p
i
_
.
Bizonyts. A (6.11) kifejezsben a zrjeleket beszorozva s rendezve ppen a (6.10)
kpletet kapjuk.
Elegnsabb megoldst kapunk a 6.50. llts s a 6.48. Plda felhasznlsval.
6.47. Megjegyzs. Vegyk szre: csak az a lnyeg, hogy az n szmot mely prmszmok
osztjk, de hogy pontosan melyik hatvnnyal az mr nem. Sajnos ppen az n-et oszt szmok
(akr prmakr nem) megtallsa a nehz, a kitev o kiszmtsa mr knny u feladat lenne.
6.48. Plda. Specilis esetek: ha p, q P klnbz o prmek, t N tetsz oleges termszetes
szm, akkor
(p) = p 1,
(pq) = pq p q + 1 = (p 1) (q 1),
(p
t
) = p
r
p
r1
= p
r1
(p 1).
Nem csak elmletileg, hanem gyakorlatilag is hasznos a fggvny kvetkez o tulajdon-
sga:
6.49. Denci. (o) Egy tetsz oleges : N R fggvnyt szmelmleti fggvnynek neve-
znk.
(i) Egy tetsz oleges szmelmleti fggvny gyengn multipilikatv, ha relatv prm m, n
szmokra teljesl
(m n) = (m) (n) . (6.12)
(ii) Egy tetsz oleges szmelmleti fggvny teljesen / totlisan multiplikatv, ha a fenti
(6.12) sszefggs tetsz oleges m, n N szmokra teljesl.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.5. MARADKOSZTLY-TTELEK 57
Sajnos a szakirodalom nem egysges abban, hogy a multiplikatv jelz o egyedl mit jelent-
sen, teht mindig tegyk mell a teljes vagy gyenge mellknevet.
6.50. llts. Az Euler-fle fggvny gyengn multiplikatv (de er osen nem).
Bizonyts. Legyen adott m s n egymshoz kpest relatv prm szmok.
Z

m
elemeit jelljk a
1
, . . . , a
(m)
bet ukkel, s tekintsk az
a
i
+ j m (1 i (m) , 0 j n 1)
alak szmokat. Ezek mindegyike kisebb m n-nl, vagyis
a
i
+ j m Z
mn
(6.13)
s Z
mn
-nek ppen ezek az elemei relatv prmek m-hez.
Ha kivlogatjuk kzlk az n-hez relatv prmeket, akkor megkapjuk Z

mn
elemeit, vagyis
(m n) rtkt a 3.42. llts alapjn.
Tetsz oleges i-t rgztve az a
i
+j m(0 j n 1) szmok teljes maradkrendszert
alkotnak (mod n) a 6.18. Ttel szerint, amik kzl nyilvn (n) db relatv prm n-hez.
Teht a (6.13) szmok kzl valban (n) (m) ami relatv prm mn-hez, vagyis val-
ban
(m n) = (m) (n) .
A [SzI1] Feladatgy ujtemnyben sok kidolgozott feladatot tallunk (n) kiszmtsra s
alkalmazsra.
6.51. Megjegyzs. Milyen nagy is valjban (n)? A fenti kpletek alapjn
(n)
n
=
r

i=1
p
i
1
p
i
ami nagyon kzel lehet 1-hez ha n-nek nincsenek kicsi prmoszti, azaz ebben az esetben
(n) n
vagyis (n) nagyon nagy. Ez a tny nhny ks obbi algoritmusnl jl fog jnni.
6.5. Maradkosztly-ttelek
Ha az Olvas nem tanult absztrakt algebrai struktrkat, az els o ttelt t is ugorhatja.
6.52. Ttel (Lagrange). Ha G egy vges csoport s H egy rszcsoportja G-nek, akkor H
elemeinek szma osztja G elemeinek szmt, azaz
[H[ [ [G[ .
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
58 6. KONGRUENCIK S MARADKOSZTLYOK
(Joseph Louis Lagrange (1736-1813) francia matematikus.)
Lagrange fenti ltalnos algebrai ttelt csak azrt idztk, mert bizonytsa egyszer u s
rvid, s az albbi 6.53. s 6.54. Ttelek is egy t omondatban kvetkeznek bel ole. Vagyis
nincs szksgnk a 6.53. s 6.54. Ttelek kzismert nyakatekert bizonytsaira.
Az albbi tteleket a modern kdolsok s titkosrsok alapjainak is tekinthetjk:
6.53. Ttel (Euler szmelmleti ttele). Ha m, a Z tetsz oleges, relatv prm szmok,
akkor
a
(m)
1 (mod m) ,
ahol (m) az Euler-fle -fggny (ld. 6.43. Denci).
Emlkeztet ol kt specilis eset:
ha p P prmszm, akkor (p) = p 1,
ha m = p q Z kt prmszm szorzata, akkor (pq) = (p 1) (q 1).
gy Euler fenti ttelb ol azonnal kapjuk Fermat albbi kis ttelt:
6.54. Ttel (kis Fermat ttel). Ha p P prm s a Z, p a tetsz oleges, akkor
a
p1
1 (mod p) . (6.14)
(Pierre Fermat (1601-1664) francia jogsz s matematikus.)
Fermat fenti 6.54. Ttele alapjn mr Bolyai Jnos (1802-1860) is prblkozott nagy
szmok prm voltnak eldntsvel, ezirny vizsgldsai sorn (ld. a 7.3. lprmek alfe-
jezetben) fedezte fel az albbi Ttelt:
6.55. Ttel (Bolyai Jnos). Ha p s q egymstl klnbz o prmszmok, a egy olyan egsz
szm, amely nem oszthat sem p-vel, sem q-val, s amelyre a
p1
1 (mod q) s a
q1

1 (mod p) teljesl, akkor


a
pq1
1 (mod pq)
is teljesl.
Ezzel a ttellel amely csak 2000 krl kerlt el o a kziratokbl Bolyai Jnos tbb mint
40 vvel megel ozte Jeans (1877-1946) angol matematikust, aki el oszr kzlte azt nyomta-
tsban (ld. Kiss Elemr [KE1] cikkben.)
Bolyai Farkas(1775-1856) s Jnos tletei alapjn, a XX. szzadban kifejlesztett megle-
p oen hatkony algoritmust a 8.3. lprmek alfejezetben ismertetjk.
Felhvjuk a gyelmet, hogy brmilyen nagy mmodulus s nagy k kitev o esetn az u
k
hat-
vnyt (mod m) knnyen s gyorsan ki tudjuk szmolni (a 6.6 Nagy kitev oj u hatvnyozs
alfejezetben), azonban a (m) rtknek kiszmtsra nincs gyors algoritmus!
Euler fenti 6.53. s Fermat 6.54. Tteleinek ltalnostsai:
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.5. MARADKOSZTLY-TTELEK 59
6.56. Ttel. (i) Tetsz oleges a Z egsz s p P prmszmra
a
p
a (mod p) . (6.15)
(ii) Tetsz oleges m N ngyzetmentes szmra s tetsz oleges a Z egsz szmra
a
(m)+1
a (mod m) . (6.16)
(ii) egyetlen nem-ngyzetmentes m szmra sem igaz, pldul
3
(9)+1
0 (mod 9) hiszen (m) 1.
Bizonyts. (i) nyilvnval: p ,[ a esetn kvetkezik a kis Fermat-ttelb ol, p [ a esetn
pedig brmely t 1 kitev ore a
t
0 a (mod p).
(ii) Legyen m = p
1
p
2
. . . p
k
ngyzetmentes. Tudjuk, hogy (m) =
k

i=1
(p
i
).
El oszr ismteljk meg az (i) gondolatmenett m minden p
i
prmosztjra: ha p
i
[ a akkor
brmely t kitev ore a
t
0 a (mod p
i
). Ha pedig p
i
a akkor
a
(m)+1

_
a
(p
i
)
_
t
a a (mod p
i
) (6.17)
a 6.54. kis Fermat-ttel szerint (t lnyegtelen).
Ha pedig (6.17) teljesl m minden p
i
prmosztjra, akkor (6.16) is teljesl, a 6.14. Ttel
alapjn.
6.57. Megjegyzs. Br a (6.14) egyenl osg (ltszlag) tbb informcit tartalmaz mint (6.15),
valjban ekvivalensek: a
p
a = a (a
p1
1) miatt p a esetn nyilvn p [ (a
p1
1).
6.58. Ttel (Wilson). n N akkor s csak akkor prmszm, ha
(n 1)! 1 (mod n) . (6.18)
vagy mskppen:
n [ (n 1)! + 1
(n ,= 4 sszetett szm esetn nyilvn (n 1)! 0 (mod n).)
(John Wilson (1741-1793))
Bizonyts. n = 2 s n = 3 knnyen ellen orizhet o, teht n 5.
Legyen n = p prm, ekkor a 6.40. Ttel szerint minden 1 a p 1 szmnak van
multiplikatv inverze 1 a
1
p 1, vagyis a (p 1)! szorzatban az a s a
1
prok
szorzata +1 (mod p). Azonban a
1
+1 s a
2
1 (mod p) esetn (s csak erre a kt
szmra) a
1
a (mod p). Teht
(p 1)! 1
p3
2
1 (1) 1 (mod p) .
Megfordtva: ha n = a b sszetett szm, akkor a, b < n miatt n [ (n 1)!, vagyis
n (n 1)! + 1.
Afenti ttel megfordtsa sajnos nagy szmok prmtesztelsre azrt nemj, mert (n 1)!
b odlten nagy: ld. pl. a Stirling formult a 2.6. Ttelben.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
60 6. KONGRUENCIK S MARADKOSZTLYOK
6.6. Nagy kitev oj u hatvnyozs
Nem csak a titkosrsok, hanem nagyon sok szmelmleti vizsglat egyik alapm uvelete a
kvetkez o:
6.59. Algoritmus. Nagy kitev oj u hatvnyozs (mod m):
Feladat: Adottak a nagy (tbbszzjegy u) u, k, m Z szmok. Meghatrozand az
x u
k
(mod m)
rtke.
Az algoritmus tbb lpsb ol ll, sok magyarzattal elltva kzljk albb.
A kb. 10
100
szmjegyb ol ll u
k
hatvnyt nyilvn nem szmoljuk ki teljesen. A 6.9 Ttel
alapjn nyilvn minden rszletszmts vgeredmnye helyett annak (mod m) maradkt
vesszk, de k 10
100
egyms utni hatvnyozs is sokig tartana.
Az alapvet o tlet a kvetkez o: ha mr elg nagy kitev oj u hatvnyt kiszmoltunk, ak-
kor annak pl. ngyzett (annak mod m maradkt) egy szorzs megadja, s az mr sokkal
nagyobb.
Vegyk teht minden lpsben az el oz o lpsben kapott hatvny ngyzett: legyenek
u
0
: u, u
1
: u
2
0
u
2
, u
2
: u
2
1
u
4
, . . . , u
i
: u
2
i1
u
2
i
, . . . (mod m). Lt-
hatjuk, hogy a kitev ok exponencilisan gyorsan n onek, vagyis a t = ,log
2
k| 100-adik
lps utn mr a kitev o 2
t
k. Igen, de ha k nem 2
i
alak, akkor egyik u
i
sem megolds.
Kvetkez o szrevtelnk: 2 hatvnyainak sszegeknt minden szm el ollthat, vagyis
rjuk fel k-t kettes szmrendszerben:
k = i
t
i
t1
. . . i
2
i
1
i
0
(2
=
t

j=0
i
j
2
j
ahol i
j
= 0 vagy = 1 binris jegyei k-nak. A hatvnyozs azonossgai miatt ekkor pedig
u
k
= u
i
j
2
j
=
t

j=0, i
j
=0
u
i
j
vagyis: azon u
i
szmokat kell sszeszoroznunk (mod m) amely helyirtkein k -nak 1
ll.
Megismteljk: az sszes u
i
j
szmot nem hagyomnyosan kell sszeszoroznunk, ha-
nem lpsenknt, mindig csak a (mod m) maradkot kiszmtva s gyelembe vve.
6.60. sszegzs. Algoritmus vge.
A jegyzethez mellkelt HATVMODDD.EXE program segtsgvel tetsz oleges (egyel ore
csak legfeljebb m < 2
30
2 10
9
) adatokkal gyakorolhatjuk u
k
(mod m) kiszmolst, az
eredmnyeket le-ba is rathatjuk!
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.6. NAGY KITEV

OJ

U HATVNYOZS 61
6.61. Plda. 6456
4652
(mod 9786) kiszmtsa:
k = 4652 = 1001000101100 (bin) ,
u[0] = u = 6456 = u
2
0
= 6456 (mod 9786)
u[1] = (u[0])
2
= u
2
1
= 6456
2
1362 (mod 9786)
u[2] = (u[1])
2
= u
2
2
= 1362
2
5490 (mod 9786)
u[ 3] = (u[2])
2
= u
2
3
= 5490
2
9006 (mod 9786)
u[4] = (u[3])
2
= u
2
4
= 9006
2
1668 (mod 9786)
u[ 5] = (u[4])
2
= u
2
5
= 1668
2
3000 (mod 9786)
u[6] = (u[5])
2
= u
2
6
= 3000
2
6666 (mod 9786)
u[7] = (u[6])
2
= u
2
7
= 6666
2
7116 (mod 9786)
u[8] = (u[7])
2
= u
2
8
= 7116
2
4692 (mod 9786)
u[ 9] = (u[8])
2
= u
2
9
= 4692
2
6150 (mod 9786)
u[10] = (u[9])
2
= u
2
10
= 6150
2
9396 (mod 9786)
u[11] = (u[10])
2
= u
2
11
= 9396
2
5310 (mod 9786)
u[12] = (u[11])
2
= u
2
12
= 5310
2
2634 (mod 9786)
gy
u
k
5490 9006 3000 6150 2634 4068 3000 6150 2634 858 6150 2634
2046 2634 6864 (mod 9786),
vagyis 6456
4652
6864 (mod 9786).
[SzI1] 46. ill. 109-112. oldalain tbb kidolgozott pldt tallunk a fenti algoritmusra.
6.62. Megjegyzs. (i) Az algoritmus lpsignye legfeljebb 2t = 2 ,log
2
k| szorzs (mod m),
vagyis k szmjegyeinek szmnak mindssze ktszerese, vagyis ez egy lineris algoritmus!
Szmtgp-memrit szinte semmit nem hasznlunk fel: lnyegben az adatokat s k szm-
jegyeit (t db bit) kell trolnunk!
(ii) k m esetn az u
i
sorozat (nyilvn) mindenkppen ciklikus, gy a hatvnykitev ot
cskkenthetnnk ha ismernnk a ciklus hosszt ami viszont nem egyszer u feladat.
Ha pedig u s m relatv prmek, akkor mg az is feltehet o, hogy a k kitev o (m)-nl
is kisebb, ugyanis ekkor k (m) esetn a 6.53. Euler Ttel miatt
u
k
u

(mod m) ahol k (mod (m))


hiszen k = y (m) + esetn
u
k

_
u
(m)
_
y
u

1 u

(mod m) .
Sajnos (m) rtkt nem olyan egyszer u meghatrozni, mint tudjuk.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
62 6. KONGRUENCIK S MARADKOSZTLYOK
6.7. Primitv gykk s diszkrt logaritmus
Mivel ebben az alfejezetben egy rgztett Z

m
halmazban dolgozunk (m Z vagy m = p
P), ezrt a jel utn nem rjuk ki mindig a (mod m) illetve a (mod p) jellst.
Z

m
-ben (vagy akr egy tetsz oleges vges csoportban) egy tetsz oleges elemet nmagval
szorozgatva (hatvnyozva) rdekes s hasznos jelensgekkel tallkozunk.
6.63. Megjegyzs. (i) Azrt szortkozunk csak Z

m
halmazra, mert a Z
m
halmazban (mssze-
tett szm esetn) ktfle elemek vannak: m-hez relatv prm, s m-mel valamilyen kzs osz-
tval rendelkez o elemek. Mrpedig ez utbbiak halmaza nem zrt a szorzsra.
(ii) Az albbi eredmnyek s bizonytsuk tetsz oleges vges G csoportokban is igazak.
6.64. llts. (i) Legyen a Z

m
tetsz oleges elem. Ekkor egyrtelm uen van olyan (a-tl s
m-t ol fgg o), legkisebb d < m kitev o, amelyre
a
d
1.
Erre a d kitev ore rvnyes tovbb, hogy a
d
a
d+k
, s ot
a
i
a
j
i j (mod d) (6.19)
tetsz oleges i, j, k N kitev okre.
(ii) Ha a Z

m
olyan maradk, amelyhez tartoz d = (m) = [Z

m
[, akkor a
hatvnyai (nem sorrendben) kiadjk Z

m
elemeit, azaz
_
1, a, a
2
, . . . , a
d1
_
= Z

m
(6.20)
(ne feledjk: a
1
= a s a
d
1 = a
0
).
Bizonyts. (i) a = 1 esetn d = 1, teht 1 < a. Mivel az alaphalmaz (Z

m
) vges, ezrt
el obb-utbb ismtl odst kapunk: a
e
a
f
valamilyen e < f termszetes szmokra. Ekkor
nyilvn a
fe
= a
h
1. Nyilvnvalan d ppen a legkisebb ilyen h kitev o. Az (i) llts
tovbbi rsze nyilvnval.
(ii) Ha d minimlis, akkor a hatvnyai 0-tl d1-ig mind klnbz oek. Ekkor pedig (6.20)
nyilvnval, hiszen a kt halmaznak ugyanannyi eleme van.
6.65. Denci. (i) Tetsz oleges a Z

m
elemre az a elem rendje, o (a) jellje a 6.64.
llts (i) pontjban szerepl o (legkisebb) d kitev ot.
Az a elemet szoks d-edik egysggyknek is hvni, hiszen a
d
1.
(ii) Az a Z

m
elemet primitv egysggyknek, rviden csak primitv gyknek, vagy
(multiplikatv) genertor elemnek hvjuk, ha o (a) := (m). Mskppen: ha (6.20), vagyis
a 6.64. llts (ii) pontja teljesl.
Ebben az esetben a (Z

m
, ) csoportot ciklikusnak nevezzk.
A primitv gykket ltalban g bet uvel jelljk.
A hatvnyozs s a logaritmus jl ismert azonossgai Z

m
-ban is rvnyben vannak. Egye-
dl az albbi sszefggs rdemel emltst:
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.7. PRIMITV GYKK S DISZKRT LOGARITMUS 63
6.66. llts. o (ab) = lkkt (o (a) , o (b)) tetsz oleges a, b Z

m
elemekre.
De elfelejtettk a legfontosabbat: mely m N modulusra ltezik is primitv gyk? Az
albbi eredmnyeket nembizonytjuk, fels ofok algebra vagy szmelmlet knyvekben meg-
tallhat.
6.67. Ttel. Z

m
-ban pontosan akkor van primitv gyk, ha m = 2, m = 4, m = p
a
vagy
m = 2p
a
ahol p P pratlan prmszm s 1 tetsz oleges termszetes szm.
6.68. llts. Z

p
-ben pontosan azon d kitev okre ltezik d-edrend u elem a Z

p
(azaz o (a) =
d), melyekre d [ p 1.
6.69. Megjegyzs. Z

p
nem tvesztend o ssze GF (p

)-vel (= p

-ad rend u vges test =Ga-


lois Field, ld. Fggelk) .
Kis m rtkekre knnyen kereshetnk primitv gykket, s ot hatvny- s logaritmus tb-
lzatokat is knyen kszthetnk, amiket pldul knyvnk vgn is tallhatunk.
6.70. Denci. Legyen g Z

m
egy (tetsz oleges) primitv gyk, a Z

m
tetsz oleges szm s
a = g
k
ahol k < (m). Ezt az egyrtelm u k-t a-nak (g-alap) diszkrt logaritmusnak vagy
(szmelmleti) indexnek nevezzk, s a k = log
g
(a) vagy k = ind
g
(a) jellst hasznljuk.
A jellsben ugyan (mod m) nem szerepel, de a szvegkrnyezetben mindig megemltjk.

Az elksztett indextblzatok haszna nagy m modulusoknl nyilvnval (br az albbi


pldban csak kis szmokkal mutatjuk meg a tblzatok hasznlatt):
6.71. Plda. Legyen p = 47, g = 5, a knyv vgn (116. oldal) lev o jobboldali tblzatban
vannak g hatvnyai, teht pldul g
12
18 (mod 47).
Tovbb a = 26 s b = 37 esetn, a baloldali tblzat szerint
log
g
(a) = log
5
(26) = 29 s log
g
(b) = log
5
(37) = 42.
Az ab szorzst (mod p) megint sszeadsra vezetjk vissza (mod p 1):
log
g
(ab) = log
g
(a) + log
g
(b) = 29 + 42 25 (mod 46)
teht ab = 26 37 g
25
= 22 (mod 47) (tessk ellen orizni!)
(a jobboldali tblzat szerint mint a hagyomnyos logaritmus esetn).
Tovbb, pldul az x
2
a = 26 s y
2
b = 37 (mod 47) egyenleteket is knnyen
megoldhatjuk:
2 log
5
(x) log
g
(a) = 29 (mod 46) miatt ilyen x nem ltezik,
mg a
2 log
5
(y) log
g
(b) = 42 (mod 46)
kongruencia megoldsai:
log
5
(y
1
) 21 (mod 46) = y
1
g
21
15 (mod 47),
log
5
(y
2
) 44 (mod 46) = y
2
g
44
32 15 (mod 47)
(tessk ellen orizni s a kvetkez o Magasabbfok kongruencik alfejezet nehzsgeivel
sszevetni!).
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
64 6. KONGRUENCIK S MARADKOSZTLYOK
Mr csak primitv gykket kell keresnnk s a tblzatokat elksztennk adott (nagy-
mret u) m modulusokra.
Azonban sem kpletnk sem gyors algoritmusunk nincs primitv gykk keressre. Eu-
ler 6.53. Ttelb ol kvetkezik, hogy brmely m-hez relatv prm a szmra
a
(m)
2
1 (mod m) (6.21)
teht nyilvnval a kvetkez o:
6.72. llts. Tetsz oleges m, g Z relatv prm szmokra g pontosan akkor primitv gyk
(mod m) ha
g
(m)
2
1 (mod m) . (6.22)
A fenti (6.22) felttelt ugyan knnyen s gyorsan ellen orizhetjk a 6.6. Nagy kitev oj u
hatvnyozs alfejezetben megismert algoritmussal, de: melyik a Z

m
szmot vizsgljuk?
Esetleg: Z

m
elemeinek hnyadrsze primitv gyk?
El orebocsjtjuk, hogy (tbbszzjegy u m modulusoknl) mg ha talltunk is egy g primi-
tv gykt, az indextblzatot mr mrete miatt sem tudjuk felrni, tovbb arra sincs gyors
algoritmusunk, hogy egy tetsz oleges a Z

m
szm g alap logaritmust meghatrozzuk.
Az albbi eredmnyek ismeretesek:
6.73. Ttel. Ha Z

m
-ban van primitv gyk, akkor pontosan ((m)) db primitv gyk
van Z

m
-ban.
6.74. Kvetkezmny. Z

m
-ban vletlenszer uen kivlasztva egy szmot, az
((m))
(m)
valszn usggel lesz primitv gyk.
Specilisan, ha m = p P prmszm, akkor ez a valszn usg
(p 1)
p 1
.
6.75. Ttel. Van prmszmok olyan (p
n
)

n=1
vgtelen sorozata, amelyre a fenti valszn usg
0-hoz tart:
(p
n
1)
p
n
1
0.
6.76. Ttel (Burgess, 1962). Brmilyen C, R
+
konstansokra ltezik
Cp
1/4+
-nl kisebb primitv gyk (mod p), ha p elg nagy prmszm.
6.8. Magasabbfok kongruencik
Az albbi egyenletek sem csak elmletileg rdekesek, hanem sok algoritmusban is fontosak
(prmtesztek, bizonyts 0 informcival, . . . ).
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.8. MAGASABBFOK KONGRUENCIK 65
6.77. Denci. Magasabbrend u kongruencinak nevezzk az
x
k
a (mod m) (6.23)
alak egyenleteket ha k 2.
Specilisan, k = 2 esetn az
x
2
a (mod m) (6.24)
kongruencit ngyzetes vagy kvadratikus kongruencinak nevezzk, mg azokat az a
Z
m
maradkokat, amelyekre (6.24)-nek van megoldsa, ngyzetes vagy kvadratikus mara-
dkoknak nevezzk (mod m).
x-et az a szm k-adik gyknek, illetve ngyzetgyknek is nevezzk (mod m).
Teht nem a (6.24) egyenlet megoldsait hvjuk ngyzetes maradkoknak.
Egyszer usg vgett a tovbbiakban csak az a ,= 0 szmokkal foglalkozunk.
Termszetesen merl fel a kvetkez o problma:
6.78. Problma. Milyen m, a Z s k N esetn van megoldsa a 6.23 kongruencinak?

El oszr vizsgljuk meg a ngyzetes maradkok problmjt az m = p P prmmodulus


esetben, majd ks obb foglalkozunk tetsz oleges m Z modulussal.
6.79. llts. k = 2 esetn:
(i) Tetsz oleges p P prm, p > 2 s a Z
p
szmokra: ha a (6.24) kongruencinak van
megoldsa, akkor pontosan kett o megoldsa van.
(ii) Minden p P prmszmra Z
p
0 elemeinek pontosan a fele (=
p1
2
) ngyzetes- s
ugyanennyi nemngyzetes- maradk.
Bizonyts. (i) (p x)
2
x
2
(mod p) s p pratlan esetn
p x , x (mod p) miatt legalbb kt gyk van.
Ha pedig x
2
y
2
(mod p) akkor x
2
y
2
= (x y) (x + y) 0 (mod p), s p
prmtulajdonsga miatt p [ (x y) vagy p [ (x + y), azaz valban x y (mod p).
(ii) Az el oz o gondolatmenet szerint az 1, 2, . . . ,
p 1
2
szmok ngyzetei mind klnb-
z oek s kiadjk az sszes ngyzetes maradkokat.
6.80. llts. Tetsz oleges m Z pratlan s a Z
m
szmokra k = 2 esetn ha a (6.24)
kongruencinak van megoldsa, akkor legalbb kett o megoldsa van.
Bizonyts. Az el oz o llts bizonytsnak els o sora tetsz oleges pratlan m modulusra is
j.
A kvetkez o ttel bizonytsa mr nem olyan egyszer u mint a fentiek.
6.81. Ttel ([KN],II.2.). Ha m Z tetsz oleges pratlan szm, akkor Z

m
elemeinek legalbb
a fele ngyzetes nemmaradk.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
66 6. KONGRUENCIK S MARADKOSZTLYOK
Hiba knny u elvileg felsorolni a ngyzetes maradkokat (csak i
2
maradkait kellene egy
tblzatban beikszelnnk), de nagy p modulusra nem rnnk a vgre. Mg akkor sem, ha
tudnnk egy g Z
p
primitv gykt, aminek ugye pontosan a pros kitev oj u hatvnyai a
ngyzetes maradkok.
A kvetkez o ttel segtsgvel knnyen s gyorsan eldnthetjk (mg nagy p P modu-
lusokra is), hogy mely a szmok a ngyzetes maradkok:
6.82. Ttel (Euler-lemma).
Tetsz oleges p P prm modulusra egy p-hez relatv prm a szm
(vagyis p a ) akkor s csak akkor ngyzetes maradk, ha
a
p1
2
1 (mod p) . (6.25)
Bizonyts. A kis Femat-ttel alapjn brmely p-hez relatv prm a szmra
_
a
p1
2
_
2
1
(mod p) teht
a
p1
2
1 (mod p) .
Legyen g Z

p
primitv gyk a 6.67. Ttel szerint s legyen x g
i
,
a g
j
(mod p) ahol i, j < p.
A (6.24) kongruencia ekvivalens az
g
2i
g
j
(mod p)
azaz
2i j (mod p 1) (6.26)
kongruencival hiszen o (g) = p 1.
Mivel p 1 pros, ezrt (6.26) szerint j mindenkppen pros ha a ngyzetes maradk.
Ha j = 2i

pros akkor egyrszt


a g
2i

_
g
i

_
2
(mod p)
ngyzetes maradk, msrszt
a
p1
2

_
g
2i

_
p1
2

_
g
i

_
p1
1 (mod p)
a 6.54. kis Femat Ttel alapjn.
Ha j = 2i

+ 1 pratlan, akkor a fentiek szerint a nem ngyzetes maradk, msrszt


a
p1
2

_
g
2i

+1
_
p1
2

_
g
i

_
p1
g
p1
2
1 (mod p)
hiszen g rendje o (g) = p 1 miatt g
p1
2
, 1 (mod p), vagyis
g
p1
2
1 (mod p) .
Bebizonytottuk az Euler-lemmt.
A fenti eredmnyek ismeretben mr kicsit vilgosabban ltjuk a 6.78 problmt:
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.8. MAGASABBFOK KONGRUENCIK 67
6.83. Megjegyzs. Emlkeztetnk r, hogy a 6.6. Nagy kitev oj u hatvnyozs alfejezetben
megismert mdszerrel a (6.25) felttel knnyen (s gyorsan) ellen orizhet o.
Arra is felhvjuk a gyelmet, hogy a fenti Ttel ill. (6.25) algoritmus csak (6.24) megold-
hatsgt (a ngyzetgyk ltezst) dnti el, de nem adja meg a ngyzetgykt nem old-
ja meg a (6.24) kongruencit! Sajnos a ngyzetgykk tnyleges megtallsra nincs gyors
algoritmusunk, lnyegben csak egy teljes indextblzat segthetne (ld. a 6.71. Pldt), de
annak mr mrete is exponencilisan nagy. Sebaj, pp emiatt lehet klnbz o titkosrsokra
hasznlni a ngyzetes maradkokat!
Br a fenti Euler-lemma segtsgvel brmely, akrmilyen nagymret u a s p P sz-
mokra knnyen s gyorsan kiszmthatjuk (szmtgppel), hogy a ngyzetes maradk-e
(mod p) vagy sem, kzi szmolsokhoz s a problma elmleti vizsglatra sokszor az albbi
eredmnyek hasznosabbak (bizonytsuk megtallhat pldul [SA1] vagy [KN]-ban):
6.84. Denci. Tetsz oleges p P, p > 2 prm s a Z
p
szmra az
_
a
p
_
Legendre-
szimblum a kvetkez o:
_
a
p
_
:=
_
_
_
0
1
1
ha p [ a
ha a ngyzetes maradk (mod m)
ha a nem ngyzetes maradk (mod m) .
(Adrien Marie Legendre (1752-1833), francia matematikus.)
6.85. Denci. Tetsz oleges m = p

1
1
p

2
2
. . . p
t
t
N s a Z
m
szmra az
_
a
m
_
Jacobi-
szimblum a kvetkez o:
_
a
m
_
:=
_
a
p
1
_

1
_
a
p
2
_

2
. . .
_
a
p
t
_
t
.
(Carl Gustav Jakob Jacobi (1804-1851), nmet matematikus.)
6.86. llts. A 6.82. Ttel szerint tetsz oleges p P prm s a Z egsz szmokra
_
a
p
_
a
p1
2
(mod p) .
6.87. Megjegyzs. Felhvjuk a gyelmet arra, hogy a Legendre szimblum esetn
_
a
p
_
= 1 a ngyzetes maradk (mod p)
de a Jacobi szimblumnl
_
a
m
_
= 1 egyltalban nem jelenti azt, hogy a ngyzetes maradk
lenne (mod m), pldul
_
2
15
_
=
_
2
3
_

_
2
5
_
= 1 de 2 nem ngyzetes maradk (mod 15).

c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu


68 6. KONGRUENCIK S MARADKOSZTLYOK
6.88. Ttel. (i) ha a
1
a
2
(mod p) akkor
_
a
1
p
_
=
_
a
2
p
_
,
(ii) tetsz oleges a, b Z szmokra
_
ab
p
_
=
_
a
p
_

_
b
p
_
,
(iii) ha p b akkor
_
ab
2
p
_
=
_
a
p
_
,
(iv)
_
1
p
_
= 1,
_
1
p
_
=
_
1
1
ha p 1 (mod 4) vagy p = 2
mskor
,
(v)
_
2
p
_
=
_
1
1
ha p 1 (mod 8)
mskor
,
(vi)
_
2
p
_
=
_
1
1
ha p 1 vagy 3 (mod 8)
mskor
.
6.89. Ttel (Kvadratikus reciprocits = Ngyzetes megfordts). Tetsz oleges m, n Z prat-
lan szmokra
_
m
n
_
= (1)
(m1)(n1)
4

_
n
m
_
=
_
_
_

_
n
m
_
_
n
m
_
ha n m 3 (mod 4)
mskor

6.90. Ttel. Tetsz oleges m Z pratlan szmra


_
2
m
_
= (1)
n
2
1
8
=
_
1
1
ha n
2
1 (mod 16)
mskor
.
6.91. Plda.
_
7411
9283
_
=
_
9283
7411
_
=
_
1872
7411
_
=
_
2
4
7411
__
117
7411
_
=
1
_
7411
117
_
=
_
40
117
_
=
_
2
4
2
117
__
5
117
_
=
_
5
117
_
=
_
117
5
_
=
_
2
5
_
= 1.
Az albbi algoritmus sajnos nem tkletes: el otte kell valahonnan egy ngyzetes nemma-
radkot keresnnk mod p.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
6.8. MAGASABBFOK KONGRUENCIK 69
6.92. Algoritmus. ([KN],II.2.)
Tetsz oleges p P prm modulusra s egy tetsz oleges a Z
p
ngyzetes maradkra (p a)
gyors algoritmust adunk a ngyzetgykeinek megtallsra feltve, hogy mr ismert egy
n Z
p
nemmaradk. (6.79. llts szerint egy vletlenl vlasztott n Z
p
szm pontosan
50% esllyel nemmaradk (mod p).)
Az algoritmusban vgig csak a jelet fogjuk kirni, a (mod p) jellst elhagyjuk.
Teht n egy nemmaradk s a-nak keressk a ngyzetgykt.
Legyen p 1 = 2

s ahol s pratlan s legyen r : a


(s+1)/2
. Ekkor
a
s2
1
a
p1
2

_
a
p
_
= 1
vagyis a
1
r
2
Z
p
egy 2
1
-dik egysggyk.
tlet: r-et kicsit mdostva fogunk olyan x-et kapni, amelyre a
1
x
2
1.
Legyen b : n
s
ekkor kiszmolhat, hogy a
_
b, b
2
, b
3
, . . . , b
2

_
elemek mind kln-
bz oek (mod p) s b
2

1.
Keresnk egy olyan j < 2
1
kitev ot, amelyre x = b
j
r ngyzetgyke lesz a-nak. j-nek
binris szmjegyeit fogjuk meghatrozni:
j = j
2
, j
3
, . . . , j
2
, j
1
, j
0
(2
=
2

i=0
2
i
j
i
.
1. Tudjuk, hogy (r
2
a
1
)
2
1
1. gy 1 esetn legyen j
0
:= 0; 1 esetn legyen
j
0
:= 1.
2. Ha mr a j
0
, j
1
, . . . , j
k1
jegyeket mr megkaptuk (k 2), akkor kiszmolhat, hogy
_
(b
J
k1
r)
2
a
1
_
2
k1
1, ahol J
k1
:=
k1

i=0
2
i
j
i
, vagyis
_
(b
J
k1
r)
2
a
1
_
2
k2
1.
Ennek megfelel oen legyen j
k
:= 0 vagy j
k
:= 1 mint j
0
esetben.
Ekkor
x : b
j
r
egy ngyzetgyke a-nak.
Vge az algoritmusnak.
Az algoritmus futsideje O
_
log
4
(p)
_
.
Mgegyszer hangslyozzuk, hogy nincs tudomsunk olyan polinomilis algoritmusrl,
ami biztosan adna egy ngyzetes nemmradkot. A 6.79. llts alapjn csak annyit tudunk
biztosan, hogy vletlenszer uen vlasztva n klnbz o szmot Z
p
-ben, legalbb 1 2
n
va-
lszn usggel van a vlasztott szmok kztt legalbb egy ngyzetes nemmaradk.
6.93. Plda. A fenti algoritmussal keressk meg a = 186 egy ngyzetgykt (mod 401).
n = 3 nemmaradk mert 3
400/2
1 (mod 401).
p 1 = 400 = 2
4
25 ( = 4) miatt r a
(s+1)/2
186
26/3
103 s b n
s
3
25
268,
tovbb a
1
235 s r
2
a
1
98 (ami lltlag 2
1
= 8-adik egysggyk: 98
8
1).
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
70 6. KONGRUENCIK S MARADKOSZTLYOK
Most keressk meg j szmjegyeit:
k = 0: (r
2
a
1
)
2
1
= 98
8
1 miatt j
0
= 1.
k = 1:
_
(b
1
r)
2
a
1
_
2
k2

_
(268 103)
2
235
_
2
1 =j
1
= 0,
k = 2:
_
(b
1
r)
2
a
1
_
2
k3
(268 103)
2
235 1 =j
2
= 1,
teht j = 101
2
= 5 s x b
j
r 268
5
103 304 a keresett gyk.
[KN]II.2.-ben (51.old.) megismerhetnk egy olyan algoritmust is, amely a fenti algorit-
mus s a Knai Maradkttel (s mg nhny felttel) segtsgvel sszetett modulus esetn
is tud ngyzetgykt vonni.
6.94. Algoritmus. ([KN],II.2.) (vzlat)
Legyen m = p

1
1
p

2
2
. . . p
t
t
tetsz oleges pratlan szm. Amennyiben minden i t esetn
ismernk egy n
i
Z
p
i
kvadratikus nemmaradkot (mod p
i
), akkor brmely a Z

m
, m-hez
relatv prm ngyzetes maradk esetn polinomid oben meg tudjuk oldani az (6.24) azaz
x
2
a (mod m)
kongruencit az albbiak szerint.
El oszr azt mutatjuk meg, hogy tetsz oleges p

prmhatvny modulusban hogyan lehet


a-nak ngyzetgykt tallni. Legyen teht x
0
Z
p
megoldsa az
x
2
a (mod p)
kongruencinak. A megfelel o (mod p

) kongruencia megoldst keressk


x = x
0
+ x
1
p + + x
1
p
1
alakban.
Ha mr mindegyik i t esetn (kln-kln) megtalltuk a ngyzetgykt (mod p
i
),
akkor vgl a Knai Maradkttellel megkapjuk a ngyzetgykt (mod m) .
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
7. fejezet
Knai Maradkttel s nagy szmok
szorzsa
A fejezetben ismertetett eredmnyt 1000 vvel ezel ott mr valban ismertk knai matemati-
kusok, s a modern algoritmikus szmelmletben is alapm uveletknt hasznljuk.
7.1. Knai Maradkttel
7.1. Problma. Adott m
1
, m
2
, . . . , m
r
, a
1
, a
2
, . . . , a
r
Z egsz szmok esetn van-e az
_

_
x a
1
(mod m
1
)
x a
2
(mod m
2
)
. . .
x a
r
(mod m
r
)
(7.1)
.n. szimultn kongruenciarendszernek x Z gyke?
7.2. Megjegyzs. Az r = 1 esetet a 6.3. Els ofok kongruencia-egyenletek alfejezetben
vizsgltuk, teht az albbiakban r 2.
El oszr a legegyszer ubb esettel foglalkozunk:
7.3. Ttel (Knai Maradkttel, KMT vagy CRT [Chinese Remainder/Residue Theorem]).
Ha
az m
i
modulusok pronknt relatv prmek, (7.2)
akkor a (7.1) kongruenciarendszernek brmilyen a
1
, a
2
, . . . , a
r
Z egsz szmok esetn pon-
tosan egy x gyke van (mod M) ahol
M = lkkt (m
1
, m
2
, . . . , m
r
) .
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
72 7. KNAI MARADKTTEL S NAGY SZMOK SZORZSA
Bizonyts. A bizonyts kpletet, s ot gyors algoritmust is ad x megtallsra.
Nyilvn M = m
1
m
2
m
r
.
El oszr x egyrtelm usgt mutatjuk meg. Ha x
1
s x
2
kielgtik a (7.1) kongruenciarend-
szert, akkor x
1
x
2
(mod m
i
) mindegyik m
i
modulusra, ahonnan a 6.14. Ttel szerint
kapjuk, hogy x
1
x
2
(mod M).
Most megadjuk x kplett:
El oszr oldjuk meg (kln-kln) az
y
i

M
m
i
1 (mod m
i
) , i = 1, 2, . . . , r
kongruencikat (van megoldsuk, mert
M
m
i
s m
i
relatv prmek mindegyik i-re a (7.2) felttel
miatt).
Ezutn az
x :=

r
i=1
a
i
y
i

M
m
i
(7.3)
kplet megadja a (7.1) kongruenciarendszer egy megoldst.
Algoritmus vge.
A fenti kplet helyessgt az Olvas knnyen belthatja.
7.4. Megjegyzs. Az algoritmus gyors, polinomilis, hiszen az 5. Lineris Diophantoszi
egyenletek fejezetben megismertk a szksges lineris kongruencik megoldst (Euklide-
szi algoritmussal).
7.5. Plda.
_

_
x 5 (mod 7)
x 2 (mod 12)
x 3 (mod 25)
x 0 (mod 11)
Megolds: A 7, 12, 25, 11 modulusok pronknt relatv prmek, ezrt
M = lkkt(7, 12, 25, 11) = 7 12 25 11 = 23 100.
Az
y
i

M
m
i
1 (mod m
i
)
alak kongruencik
y
1
3300 1 (mod 7)
y
2
1925 1 (mod 12)
y
3
924 1 (mod 25)
y
4
2100 1 (mod 11)
(egyik) megoldsai: y
1
= 2 5, y
2
= 5, y
3
= 1 24, y
4
= 1 10.
Az (eredeti) kongruenciarendszer megoldsa
x

4
i=1
a
i
y
i
M
m
i
5 5 3300 + 2 5 1925 + 3 24 924 + 0 =
168 278 6578 (mod 23 100).
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
7.2. LTALNOS MODULUSOK 73
Az [SzI1] feladatgy ujtemnyben sok kidolgozott pldt tallunk a Knai Maradkttelre
s alkalmazsaira. Pldul, a kzpiskolban jlismert sszefoglal feladatgy ujtemny ma-
tematikbl 3937. feladata gy hangzik: Melyik az a legkisebb termszetes szm, amely 2
-vel osztva 1, 3 -mal osztva 2, 4 -gyel osztva 3 s 5 -tel osztva 4 maradkot ad?
A jegyzethez mellkelt KINAI3D.EXE program segtsgvel gyakorolhatjuk az algorit-
must.
Egyes programok (pl. Derive) beptett fggvnye a CRT.
Mivel a maradkos oszts polinomoknl s komplex egszeknl is elvgezhet o, gy nem
meglep o, hogy a Knai Maradkttel (pontosabban a fenti algoritmus) polinomoknl s komp-
lex egszeknl is m ukdik, kicsit persze fradsgosabb a polinomoszts miatt amiben pedig
a mellkelt POLIOSZ5.EXE program van segtsgnkre.
7.2. ltalnos modulusok
Ha a modulusok nem (pronknt) relatv prmek, akkor a feladat a (7.1) kongruenciarend-
szer megoldsa jval nehezebb. ([SA1] 96-98. oldaln is csak a megolds ltezsr ol trtnik
emlts.)
tlet: a (7.1) rendszerb ol kett o kongruencit kivlasztunk, e kett o megoldst felrhatjuk
egyetlen kongruenciban, teht a kongruencik szmt lpsenknt cskkenthetjk.
r=2
7.6. Ttel. Tetsz oleges m
1
, m
2
Z modulusok esetn az
_
x a
1
(mod m
1
)
x a
2
(mod m
2
)
(7.4)
kongruenciarendszer pontosan akkor oldhat meg, ha
lnko(m
1
, m
2
) [ a
2
a
1
(7.5)
s a megolds egyrtelm u (mod M
1,2
) ahol
M
1,2
:= lkkt(m
1
, m
2
).
Bizonyts. A bizonyts ismt egy gyors algoritmust is ad x megtallsra.
A kongruencik dencija miatt (7.4) ekvivalens az
x = m
1

1
+ a
1
= m
2

2
+ a
2
,
trendezve az
m
1

1
m
2

2
= a
2
a
1
(7.6)
lineris Diophantikus egyenlettel. Innen lthat, hogy a (7.4) kongruenciarendszer megold-
hatsgnak szksges s elgsges felttele valban (7.5).
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
74 7. KNAI MARADKTTEL S NAGY SZMOK SZORZSA
Legyen d := lnko(m
1
, m
2
), ekkor a (7.6) egyenlet ltalnos megoldsa

1
=
(0)
1
+
lkkt(m
1
, m
2
)
m
1
t,
2
=
(0)
2
+
lkkt(m
1
, m
2
)
m
2
t (t Z) ,
ahonnan (7.4) megoldsa pldul:
x = m
1

(0)
1
+ lkkt(m
1
, m
2
) t + a
1
(t Z) . (7.7)
vagy ami ugyanaz:
x = m
2

(0)
2
+ lkkt(m
1
, m
2
) t + a
2
(t Z).
A megolds valban egyrtelm u (mod M
1,2
).
7.7. Plda. Az
_
x 3 (mod 6)
x 7 (mod 10)
egyenlet megoldsa a kvetkez o:
A (7.6) egyenlet most 6
1
10
2
= 7 3 = 4,
aminek megoldsa
1
= 1 + 5 t,
2
= 1 + 3 t (t Z).
Innen x = 6 + 30t + 3 = 27 + 30t (t Z), vagy mskppen
x 27 (mod 30).
r=3
Br az alfejezet bevezetsben lertuk, hogyan lehet a 7.6. Ttel segtsgvel a modulusok
szmt cskkenteni s gy akrhny kongruencibl ll rendszert megoldani, az r=3 eset
egyszer u megoldkplett mgis kln lerjuk.
A
_
_
_
x a
1
(mod m
1
)
x a
2
(mod m
2
)
x a
3
(mod m
3
)
(7.8)
kongruenciarendszer ltalnos megoldsa, ha a modulusok nem felttlenl relatv prmek a
kvetkez o:
A kongruencik dencija alapjn a kongruenciarendszer ekvivalens az albbi (lineris
Diophantikus) egyenletrendszerrel:
_
_
_
x = m
1

1
+ a
1
x = m
2

2
+ a
2
x = m
3

3
+ a
3
(1)
(2)
(3)
valamilyen (megkeresend o)
1
,
2
,
3
, x Z egsz szmokra.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
7.2. LTALNOS MODULUSOK 75
Az egyenleteket egymsbl pronknt kivonva kapjuk, hogy a megoldhatsg (egyik)
szksges felttele:
lnko(m
i
, m
j
) [ a
i
a
j
(1 i ,= j 3). (7.9)
(Ez nyilvn tetsz oleges szm kongruencit tartalmaz rendszerre egy szksges felttel.)
Az el oz o feladat (7.7) vgeredmnye alapjn az (1) s (2) egyenletek megoldsa
x = m
1

(0)
1
+ L
1,2.
t + a
1
(t Z) . (4)
ahol
L
1,2.
:= lkkt(m
1
, m
2
)
s
(0)
1
egyik gyke az (1) s (2) egyenleteket tmrt o
m
1

1
m
2

2
= a
2
a
1
(7.10)
egyenletnek (ld. (7.6) az el oz o feladatban).
Vagyis a (3) s (4) egyenletekb ol ll rendszert kell mr csak megoldanunk (az ismeretlenek
most: x,
3
, t Z):
_
x = m
3

3
+ a
3
x = L
1,2.
t +
_
m
1

(0)
1
+ a
1
_
(3)
(4)
A fenti egyenletrendszer megoldhatsgnak szksges felttele (mint eddig):
lnko(m
3
, L
1,2.
) [ a
3

_
m
1

(0)
1
+ a
1
_
, (7.11)
s a megolds (ismt a (7.7) vgeredmny alapjn):
x = m
3

(L)
3
+ lkkt (L
1,2
, m
3
) s + a
3
(s Z) (7.12)
ahol
(L)
3
egyik megoldsa az
m
3

3
L
1,2.
t = a
3

_
m
1

(0)
1
+ a
1
_
(7.13)
Diophantikus egyenletnek.
rdemes mg azt is szrevennnk, hogy
lkkt (L
1,2
, m
3
) = lkkt(m
1
, m
2
, m
3
).
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
76 7. KNAI MARADKTTEL S NAGY SZMOK SZORZSA
7.8. sszegzs. A (7.8) kongruenciarendszer megoldhatsgnak szksges s elgsges
felttele (7.9) s (7.11), gykeit (7.12) adja meg, amelyhez el obb meg kell oldanunk a (7.10)
s (7.13) egyenleteket.
Az r = 3 eset vizsglatnak vge.
7.9. Plda. Az
_
_
_
x 5 (mod 6)
x 1 (mod 10)
x 11 (mod 15)
egyenlet megoldsa a kvetkez o:
El oszr a (7.10) egyenletet kell megoldanunk:
6
1
10
2
= 4,
_

1
= 4 5u

2
= 2 3u
(u Z).
Ezutn kapjuk a (7.13) egyenletet, megoldsa:
15
3
30 t = 11 (6 (4) + 5) = 30,
_

3
= 2 2v
t = v
(v Z).
Teht a kongruenciarendszer megoldsa:
x = 15 2 + 30s + 11 = 41 + 30s (s Z)
vagyis
x 11 (mod 30).
7.3. Nagy szmok szorzsa
Br az 1.2. Alapm uveletek sebesssge alfejezetben modern s gyors mdszerekkel ismer-
kedtnk meg nagymret u szmok szorzsra, hasznos lesz az albbi, rgi de nem elavult
mdszer is, a Knai Maradkttel felhasznlsval.
7.10. Algoritmus. Adott K-nl kisebb termszetes szmok szorzsa prhuzamos (szimultn)
mdszerrel.
Rgztsnk pronknt relatv prm m
1
, m
2
, . . . , m
r
N szmokat gy, hogy a vrhat vg-
eredmny M = lkkt (m
1
, m
2
, . . . , m
r
) = m
1
m
2
m
r
alatt maradjon, vagyis
K
2
< M legyen (hiszen X, Z < K esetn X Z < K
2
).
Mg a m uveletek megkezdse el ott kiszmthatjuk s eltroljuk a
y
i

M
m
i
1 (mod m
i
) , i = 1, 2, . . . , r (7.14)
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
7.3. NAGY SZMOK SZORZSA 77
kongruencik megoldsait, vagyis az y
i
szmokat s az y
i

M
m
i
konstansokat (i = 1, 2, . . . , r).
Ha most kapunk sszeszorzand X, Z < K szmokat, akkor mr egyszerre hasznlhatunk r
szmtgpet: el oszr kiszmtjuk az
x
i
X s z
i
Z (mod m
i
) i = 1, 2, . . . , r
s az
a
i
: x
i
z
i
(mod m
i
) i = 1, 2, . . . , r
rtkeket. Ekkor az
_

_
x a
1
(mod m
1
)
x a
2
(mod m
2
)
. . .
x a
r
(mod m
r
)
kongruenciarendszert a 7.3. Ttelben ismertetett algoritmussal megoldhatjuk, s a megolds
nyilvn
x X Z (mod M)
vagyis
x = X Z.
A 7.10. Algoritmus vge.

7.11. Megjegyzs. Vegyk szre, hogy az y


i
szmokat csak egyszer kell kiszmolnunk, to-
vbb az x
i
, z
i
s a
i
szmokat egyszerre tbb szmtgpen (prhuzamosan) is kiszmt-
hatjuk. (Ezrt az m
i
szmokat nyilvn optimlisan kell kivlasztanunk: sem tl kicsi sem tl
nagy m
i
modulusok nem jk.) Vgl x kiszmtsa a (7.3) kplet szerint mindssze csak pr
konstans szorzsa kis szmokkal s sszeads.
7.12. Plda. Az
_

_
m
1
= 253 ,
m
2
= 200 ,
m
3
= 261 ,
m
4
= 247 .
modulus rendszer segtsgvel szmtsuk ki a kvetkez o nagymret u szorzsokat:
a) X
1
= 56 079, Z
1
= 58 144,
b) X
2
= 49 745, Z
2
= 55 846,
c) X
3
= 57 898, Z
3
= 48 653,
d) X
3
= 56 898, Z
3
= 49 866.
Megolds: Mindentt igyeksznk a legkisebb abszolt rtkekkel (azaz negatv maradkok-
kal is) szmolni.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
78 7. KNAI MARADKTTEL S NAGY SZMOK SZORZSA
(0) El okszts: Az Euklideszi algoritmussal knnyen ellen orizhet o, hogy a megadott m
i
modulusok pronknt relatv prmek.
M = 253 200 261 247 = 3 262 030 200.
A (7.14) kongruencik megoldsai
y
1
= 18 = y
1

M
m
1
= 232 081 200,
y
2
= 49 = y
2

M
m
2
= 799 197 399,
y
3
= 17 = y
3

M
m
3
= 212 469 400,
y
4
= 62 = y
4

M
m
4
= 818 809 200.
(1) A tnyleges szorzsok:
a) input: X = 56079, Z = 58144,
(i) a prhuzamos szmolsok:
_

_
x
1
: X 166 (mod m
1
)
x
2
: X 79 (mod m
2
)
x
3
: X 44 (mod m
3
)
x
4
: X 10 (mod m
4
)
,
_

_
z
1
: Z 46 (mod m
1
)
z
2
: Z 56 (mod m
2
)
z
3
: Z 59 (mod m
3
)
z
4
: Z 99 (mod m
4
)
majd
_

_
x
1
z
1
46 (mod m
1
)
x
2
z
2
24 (mod m
2
)
x
3
z
3
36 (mod m
3
)
x
4
z
4
2 (mod m
4
)
(ii) az sszests:
X Z =
t

i=1
y
i

M
m
i
x
i
z
i
=
= (232 081 200) (46) + (799 197 399) (24) + 212 469 400 36
+ 818 809 200 2
= 39 142 989 576 3 260 657 376 (mod M)
Az eredmny j, mert valban XZ = 3 260 657 376.

c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem


8. fejezet
Prmtesztels s szmok felbontsa
Mint a 3.2. A szmelmlet algoritmikus problmi alfejezet 3.16. Problmjban lttuk, a
prmfelbonts (faktorizci) s a prmtesztels problmk messze nem azonosak (klnsen
az AKS algoritmus [ld. 8.6. alfejezet] felfedezse ta). Azonban a klasszikus algoritmusok
hasonl mdszereket hasznlnak a kt problmra, ezrt trgyaljuk e kt problmt egy feje-
zetben.
Ltni fogjuk, hogy a prmfelbont mdszerek mindegyike O(2
n
) exponencilisan lass
(a matematikusok az n hatresetet vizsgljk), csak kicsi (100-200 jegy u) szmok-
ra hasznlhatak a gyakorlatban. A konstansok klnbz osge miatt azonban el ofordulhat,
hogy egyik mdszer vmillirdokig, mg a msik csak vmillikig fut ugyanazon adat ese-
tn. Szemlletes adatokat tallunk a 8.2. Pldban, 10.23. Megoldsban s [JA]-ban.
Agrawal, Kayal s Saxena 2001-ben feltallt algoritmusa ttrst hozott: polinomilisan
gyors, 100% biztonsgos, determinisztikus algoritmus a prmtesztels problmra (a gyors
prmfelbonts problmja mig is megoldatlan). Az utols alfejezetben csak rviden ismer-
tetjk az AKS algoritmust, mert tbb matematikai el oismeretet kvetel, mint amennyit je-
len knyvnk tartalmaz. Kis szmokra a rgebbi (knyvnkben ismertetett) algoritmusok
jl hasznlhatk.
8.1. Eratoszthenesz algoritmusa
Tbbezer ves, iskolban tanult algoritmus:
8.1. Algoritmus. Eratoszthensz algoritmusa:
Legyen az input egy tetsz oleges (tbbszzjegy u) n N termszetes szm. Osszuk el n-et 2-
vel s az

n-nl kisebb pratlan szmokkal. Ha valamelyik oszts nem ad maradkot, akkor


n nem prm s meg is kaptuk n egy felbontst. Ellenkez o esetben n P prmszm.
8.2. Megjegyzs. Szmoljunk utna: mennyi lps (mennyi mp) egy-egy szm felbontsa a
mai szmtgppekkel: ezt rszletesen elemeztk a 2.2. A szmelmlet algoritmikus prob-
lmi alfejezet 3.21. Pldjban.
Teht az Eratoszthenszi algoritmus nagyon lass (exponencilis). Mint a 3.21. Pld-
ban lttuk: elemi mdszerekkel sem gyorsthatunk rajta lnyegesen. [MGy] szerint a modern
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
80 8. PRMTESZTELS S SZMOK FELBONTSA
programok osztsok helyett kivonsokat ismtelgetnek, de tbbszzjegy u szmoknl ez mg
mindig exponencilisan lass.
8.2. Fermat algoritmusa
Pierre Fermat (1601-1664) algoritmusa ma is hatkony prszz-jegy u szmokra, klnsen
akkor, ha a felbontand szm kt kzeli prm szorzata. Az algoritmus sszetett szmoknl
(sikeres futs esetn) egy felbontst is megad. (Teht titkosrsnl sem clszer u olyan szmot
vlasztanunk, ami kt kzeli prm szorzata.)
Teht adott egy tetsz oleges (nagy) n Z felbontand szm.
Fermat els o tlete: ha n-nek van kt kzeli osztja: n = ab s y = a b kicsi (a > b),
akkor az x =
a + b
2
jellssel a = x + y s b = x y, s ekkor alkalmazhatjuk az n =
ab = (x + y) (x y) = x
2
y
2
azonossgot.
Teht keressk n-et
n = ab = (x + y) (x y) = x
2
y
2
(8.1)
alakban.
Nyilvnvalan az x

n vagyis az x [

n] rtkb ol kiindulva kezdjk a szmtsokat,


x-et egyesvel nvelve, tovbb 0 y < x <
n
2
.
Fermat azt is szrevette (msodik tlet), hogy a (8.1) egyenl osget
x
2
n = y
2
alakban rjuk, akkor els o kzeltsknt elegend o x
2
utols kt szmjegyt tekinteni (vagyis
csak x utols kt szmjegyt) mivel y
2
utols kt szmjegye csak 00, e1, e4, 25, o6 s e9
lehet (e pros, o pratlan szmjegyet jell), s n rgztett. Vagyis (mg ngyzetre emels s
gykvons el ott) a lehetsges

n < x <
n
2
szmoknak legalbb a 78/100-rsze kiesik.
Az utols kt szmjegy (mod 100) vizsglatot jelent, tbb modulussal mg tovbb
sz ukthetjk a lehetsges x szmok krt: legyenek m
1
, . . . m
K
rgztett tetsz oleges mo-
dulusok, keressk meg mindegyik i K esetn a ngyzetszmok (mod m
i
) maradkait
esetleg tblzatban is trolhatjuk oket, amely halmazok meghatrozzk x lehetsges marad-
kait (mod m
i
) minden i K esetn. gy mr x ngyzetreemelse el ott a biztosan rosszakat
eleve kisz urhetjk, szinte alig marad x s y a (8.1) egyenl osg kiprblsra (ahol persze y
meghatrozshoz szksgnk van egy ngyzetgykvonsra is).
8.3. Algoritmus. (Fermat algoritmusa)
El okszts: Legyenek m
1
, . . . , m
K
pronknt relatv prm s n-hez is relatv prm modulu-
sok. Ksztsnk el K darab (az adott n-t ol fgg o) S [i, j] szita tblzatot:
legyen 1 i K, 0 j < m
i
esetn
S [i, j] := 1 ha van olyan y amelyre j
2
n y
2
(mod m
i
), s
S[i, j] := 0 ms esetekben.
Az algoritmus: Legyen x kezdeti rtke x := [

n].
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
8.3. LPRMEK 81
x-et egyesvel nvelve el oszr ellen orizzk:
ha S [i, x (mod m
i
)] = 0 valamely 1 i K esetn, akkor nveljk x-et,
ha S [i, x (mod m
i
)] = 1 minden 1 i K esetn, akkor ellen orizzk, hogy x
2
n
ngyzetszm-e.
8.4. Megjegyzs. Ez az algoritmus mg mindig exponencilis, de Eratoszthensz algoritmu-
snl nagysgrendekkel jobb (pedig csak a konstans szorzt javtottuk). Az eljrs bitm uvele-
tekkel gyorsthat, de mg gy sem elg gyors. Alapgondolata sok mai eljrsban felbukkan.
A mdszerrel mr 1965-ben egymilli prba/msodperc sebessget rtek el: elektromechani-
kus (fogaskerk, biciklilnc) gpeket szerkesztettek szitlsra ([JA]).
Br a felbontand n eleve csak pratlan szm, az albbi Ttelt nem rt tudnunk:
8.5. Ttel. Az n = x
2
y
2
egyenletnek akkor s csak akkor lteznek
x, y Z gykei, ha n ,= 4k + 2.
Bizonyts. n = x
2
y
2
= (x + y) (x y) esetn tudjuk, hogy (x + y) s (x y)
prossga (paritsa ) ugyanaz (vagy mindkett o pros vagy mindkett o pratlan), ezrt n nem
lehet 4k + 2 alak.
n ,= 4k + 2 esetn tallunk olyan n = n
1
n
2
felbontst, amelyre n
1
s n
2
prossga
ugyanaz. Ekkor az
_
x y = n
1
x + y = n
2
egyenletrendszernek van megoldsa, hiszen x =
n
1
+ n
2
2
, y =
n
1
n
2
2
.
A mdszer tovbb gyorsthat az n. faktorbzisok tletvel (harmadik tlet), melyet
most csak rviden vzolunk.
8.6. Algoritmus. LegendreKraitchik mdszer (vzlat)
Az x
2
y
2
= n (8.1) egyenlet helyett, ha tallnnk olyan x, y Z, x ,= y szmokat,
amelyekre
x
2
y
2
= 0 (mod n) , (8.2)
akkor lnko (n, x + y) vagy lnko (n, x y) adn n-nek egy (valdi) osztjt.
Ilyen x s y meglehet osen gyors keressre vlasszunk arnylag kis prmek egy kicsi B =
p
1
, p
2
, . . . , p
h
halmazt ezt nevezzk faktorbzisnak. Ha x s y-t B elemeinek szorzata-
knt keressk, akkor a p
i
prmek kitev oib ol egy lineris egyenletrendszert rhatunk fel, mely-
nek gyors megoldsbl tudunk (8.2) megoldsaira kvetkeztetni. (Tovbbi rszletes pldk
[KN] 132-143.oldalain tallhatak.)
8.3. lprmek
Valamennyi Bolyai-monogra szerz ojnek vlemnye szerint Bolyai Jnos a szmelmlet
tern nem rt el semmilyen emltsre mlt eredmnyt. Kziratos hagyatknak lapjai ennek
a vlemnynek ppen az ellenkez ojr ol tanskodnak: Bolyai Jnost a szmelmlet valsg-
gal elb uvlte. Klnsen a prmszmokkal kapcsolatos krdsek ktttk le a gyelmt: egy
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
82 8. PRMTESZTELS S SZMOK FELBONTSA
olyan eljrst keresett, amelynek segtsgvel brmely racionlis prmszm megfelel o kplet-
tel (prmkplet) kifejezhet o (a Z[i]-beli prmeket Bolyai megtallta). Apja, Bolyai Farkas
sztnzsre megprblta bebizonytani a 6.54. kis Fermat Ttel fordtottjt ld. az albbi
8.7. Problmt. Bolyai azonban nhny ksrlet utn tbb olyan sszetett szmra bukkant,
amelyekre (8.3) igaz. Azt tallta pldul, hogy
2
340
1 (mod 341) s 4
14
1 (mod 15)
pedig 341 = 11 31 s 15 = 3 5.
Bolyai Jnos levele [KE2] (A Typotex Kiad engedlyvel)
A kis Fermat ttelt kielgt o sszetett szmokat pszeudoprmszmoknak, lprmeknek
nevezzk. Bolyai Jnos teht felfedezett tbb lprmet. A fenti vizsgldsai sorn fedezte
fel Bolyai Jnos a mr emltett 6.55. Ttelt is. (Kiss Elemr [KE1])
8.7. Problma. Igaz-e, hogy ha egy n Z szm teljesti a kvetkez o felttelt:
b
n1
1 (mod n) , minden 1 < b < n, n-hez relatv prm szmra (8.3)
akkor n prmszm?
Az albb kvetkez o algoritmusnak a szakirodalomban semmilyen elnevezst nem tall-
tuk, ezrt neveztk el mi Bolyai-tesztnek, mert a Bolyai-algoritmus elnevezs mr foglalt
1)
.
1)
Bolyai Farkas ttele: Az x
m
= x + a (m > 2) n. trinom egyenletek kzelt o (rekurzv)
megoldsra: legyen x
1
:=
m

a s x
n+1
:=
m

a +x
n
(n = 1, 2, . . . ). Ekkor lim
n
x
n
= x

ahol x

az x
m
= x +a egyenlet egyik gyke.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
8.3. LPRMEK 83
8.8. Algoritmus. Bolyai-teszt: (tlet) Tetsz oleges n szmesetn keressnk olyan 1 < b < n,
n-hez relatv prm szmot, amelyre
b
n1
, 1 (mod n) . (8.4)
Ha tallunk ilyen b szmot, akkor n nyilvn nem prmszm, vagyis sszetett.
Ha pedig minden ilyen b szmra (8.4) nem teljesl, akkor n taln prmszm?
8.9. Denci. Ha b < n, b relatv prm n-hez olyan szm, amelyre (8.4) teljesl, akkor b-t
n ruljnak nevezzk.
Hangslyozzuk, hogy br a fenti Algoritmus a kis-Fermat ttelen alapul, mgsem ez Fer-
mat Algoritmusa amit az el oz o alfejezetben ismertettnk!
Az Olvas bizonyra szrevette: az eljrs nem adja meg az n szm egyetlen osztjt sem,
csak n biztosan sszetett vagy n valszn uleg prm vlaszok valamelyikt teht csak
prmtesztel o eljrs.
8.10. Megjegyzs. Mint minden algoritmusnl, egyik fontos tnyez o a futsid o. Az lnko (n, b)
s b
n1
(mod n) mennyisgeket gyorsan ki tudjuk szmtani, a 4.2. Euklidesz algoritmusa
s a 6.6. Nagy kitev oj u hatvnyozs alfejezetek alapjn.
Azonban nem tudjuk az sszes, n-nl kisebb b-t megvizsglni. Ha egy b rult tallunk, akkor
persze mr OK. Hny rul van 1-t ol n-ig? Erre a krdsre mg visszatrnk.
Mg meglep obb: vannak olyan sszetett szmok, melyeknek egyetlen ruljuk sincs: min-
den b < n, n-hez relatv prm szmra b
n1
1 (mod n), azaz (8.3) teljesl!
8.11. Denci. (i) Az n Z pratlan sszetett szmot lprmnek (pszeudoprmnek) ne-
vezzk a b bzis alapjn, ha
lnko (b, n) = 1 s b
n1
1 (mod n)
teljesl. Hasznlatos mg a b cinkosa n-nek elnevezs is.
(ii) Az n Z sszetett szmot Carmichael-szmnak nevezzk, ha n lprm minden
b < n, n-hez relatv prm szmra, azaz teljesl a (8.3) felttel.
Csak a mlt (XX.) szzadban derlt ki, hogy vgtelen sok lprm ltezik, pldul n = 15,
91, 341, rendre a b = 4, 2, 3 bzisokkal.
Radsul Robert Daniel Carmichael (1879-1967) amerikai matematikus 1910-ben mr
legalbb 15 olyan szmot tallt, amelyre a 8.11.(ii) Denci teljesl, azaz Carmichael-szm.
Pldul n = 561, 1105, 1729, 2465, 2821, 6601, 8911, 10585, 15841, 29341, . . . . Az sszes
b-re: vgigprblsa helyett ajnljuk inkbb Korselt 8.15 Ttelt albb.
vtizedekig megoldatlan volt, hogy ltezik-e vgtelen sok Carmichael (=rossz) szm.
Vgl, Erd os Pl (1913-1996) egy tletnek felhasznlsval Alford, Granville s Pomerance
1994-ben bizonytotta be, hogy vgtelen sok Carmichael szm van.
Teht a fenti 8.8. Algoritmus nem 100% mdszer! Nzzk a tovbbi rszleteket:
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
84 8. PRMTESZTELS S SZMOK FELBONTSA
8.12. Ttel.
(i) n lprm a b bzisra akkor s csak akkor ha b rendje Z

n
-ban osztja n 1-nek.
(ii) Ha n lprm a b
1
s b
2
bzisokra, akkor a b
1
b
2
s b
1
b
1
2
bzisokra is lprm (ahol b
1
a
b Z

n
multiplikatv inverze).
(iii) Ha n nem lprm (legalbb egy b bzisra), akkor a lehetsges b Z

n
szmok legalbb
a felre sem lprm.
Bizonyts. (i) s (ii) nyilvnval.
(iii) Legyen n lprm a b
1
, . . . , b
s
Z

n
szmokra, s legyen b Z

n
olyan szm, amelyre n
nem lprm. Ha n valamelyik bb
i
szorzatra lprm lenne, akkor (ii) szerint a (bb
i
)b
1
i
= b-re
is, ami a feltevsnek ellentmond. Teht n nem lprm az sszes bb
i
szorzatra.
Most mr rtrhetnk tbb ms fontos krdsre: hogyan vlasszuk a b-t, mennyi b-t v-
lasszunk, mekkora a mdszer megbzhatsga?
8.13. Algoritmus. (les)
vletlenszer uen vlasztunk egy (tetsz oleges) b szmot 2 s n 1 kztt,
kiszmtjuk d := lnko (n, b)-t az Euklideszi algoritmussal,
ha d > 1 akkor nyilvn n sszetett (s ot d egy nemtrivilis osztja n-nek), STOP;
ha d = 1 (vagyis b Z

n
) akkor kiszmtjuk e : b
n1
rtkt (mod n),
ha e > 1 akkor nyilvn n sszetett, STOP;
ha e = 1 akkor prblkozzunk egy msik b szmmal: kezdjk el olr ol.
8.14. Megjegyzs. Ha trtnetesen n nem prmszm s nem Carmichael szm, akkor k db b
sikertelen szm kiprblsa utn, a 8.12. Ttel (iii) alapjn biztosan mondhatjuk: n leg-
feljebb 2
k
esllyel prm. Sajnos vannak Carmichael szmok is a vilgon, teht mdszernk
soha nem mondhatja 100% biztonsggal, hogy n prm.
Ha vletlen mdszerrel vlasztunk egy legfeljebb 13 jegy u pozitv egszt, akkor 3,46 % az
eslye, hogy prm lesz ez egyltaln nem elhanyagolhat , s ha megfelel a 2-es alap
teszten, akkor kb. 99,9999236% ([FR]) a valszn usge, hogy tnyleg prm [FR]. Ez azt mu-
tatja, hogy a vletlen segtsgvel gyorsan tallhatunk olyan nagy szmot, ami igen nagy
valszn usggel prm. A mdszer mg er osthet o is, a biztonsg tetsz olegesen nvelhet o.
8.15. Ttel. Tetsz oleges n pratlan szmra
(i) Ha n ngyzetszmmal oszthat, akkor nem Carmichael szm.
(ii) (Korselt, 1899): Egy n ngyzetmentes szm akkor s csak akkor Carmichael szm, ha
p 1 [ n 1
minden p [ n prmszmra.
(iii) Minden Carmichael szm legalbb hrom (klnbz o) prmszm szorzata.
Bizonyts. (i) lsd [KN] 115.oldaln.
(ii) egyik fele: Ha n minden p prmosztjra p 1 [ n 1 akkor minden b Z

n
szmra
b
n1
(b
p1
)
s
1 (mod p), vagyis b
n1
1 oszthat n minden p prmosztjval, vagyis
n-nel is. Teht n valban Carmichael szm. A megfordts bizonytst ld. [KN] 115.oldaln.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
8.4. MILLERRABIN TESZT 85
(iii) Ha n = pq, p < q s n Carmichael szm lenne, akkor (ii) alapjn q 1 [ n1 =
p (q 1) + (p 1) azaz q 1 [ p 1 lenne, ami ellentmonds.
Teht n = 561 = 3 11 17 valban Carmichael szm, hiszen 3 1 [ 560, 11 1 [ 560
s 17 1 [ 560.
Persze a fenti Ttelt nem tudjuk alkalmazni akkor, ha n prmtnyez os felbontst nem
ismerjk, de legalbb Carmichael szmokat tudunk keresni . . . .
Az rdekl od o Olvasknak mg Kiss Elemr [KE1], Freud Rbert [FR] s Jrsi Istvn
[JI] cikkeit valamint Koblitz,N. [KN] knyvt ajnljuk.
8.4. MillerRabin teszt
A MillerRabin teszt a 7.3. lprmek alfejezetben megismert 8.8. Bolyai-teszt tovbbfej-
lesztett vltozata: mg biztosabb % eredmnyt ad. Szintn nem adja meg az n szm egyetlen
osztjt sem, csak n biztosan sszetett vagy n valszn uleg prm vlaszok valamelyikt
teht megint egy prmtesztel o eljrst ismerhetnk meg.
tlet: ha n prmszm (lenne), akkor 1-nek csak +1 s 1 a ngyzetgykei, azaz az
x
2
1 (mod n) egyenletnek csak x 1 (mod n) a megoldsai (az 5.8. Magasabbfok
kongruencik alfejezet 6.79. lltsa szerint, mskppen: Z
p
test).
8.16. Algoritmus. (csak tervezgets): n N adott felbontand szm, b < n, lnko (b, n) = 1
s
b
n1
1 (mod n)
(n lprm a b bzisra).
Mivel n 1 pratlan, ezrt b
n1
2
1 (mod n) kell lennie.
Ha b
n1
2
, 1 (mod n) akkor n biztosan sszetett, STOP.
Ha b
n1
2
1 (mod n), akkor b-vel mr nem tudunk tovbbmenni, vlasztunk egy kvetke-
z o b-t.
Ha b
n1
2
+1 (mod n) akkor prblkozzunk a b
n1
4
?
1 (mod n) krdssel,
. . . s gy tovbb . . . egszen addig, mg a kitev o
n 1
2
s
pratlan nem lesz.
A gyakorlatban ezt visszafel rdemes szmolni, hiszen nagy kitev oj u hatvnyokat a
kitev o nvelsvel szoktuk kiszmtani.
8.17. Algoritmus. (MillerRabin teszt)
Legyen n N adott felbontand szm.
Jellje s a legnagyobb kitev ojt 2-nek n 1-ben:
2
s
| n 1
amikor
t :=
n 1
2
s
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
86 8. PRMTESZTELS S SZMOK FELBONTSA
pratlan egsz szm.
Vlasszunk egy b < n szmot melyre lnko (b, n) = 1.
Egyms utn, sorban szmtsuk ki a b
t
, b
2t
, b
4t
, . . . , b
2
s
t
= b
n1
hatvnyokat (mod n).
Amikor legel oszr 1-et kapunk, megnzzk: el otte 1 kell lennie, klnben n biztosan ssze-
tett. Kicsit pontosabban: ha 0 < r n 1 a legkisebb olyan kitev o, amelyre
b
2
r
t
+1 (mod n)
akkor ellen orizzk a
b
2
r1
t
?
1 (mod n)
felttelt.
Ha b
2
r1
t
, 1 (mod n) akkor n biztosan sszetett, STOP.
Ha b
2
r1
t
1 (mod n) akkor n sszetett/prm tulajdonsgrl semmit sem tudunk: pr-
blkozzunk msik b szmmal.
8.18. Denci. Ha n, b, s s t a fenti 8.17. Algoritmusban lertak, s:
vagy b
t
1 (mod n) vagy van 0 r < s amelyre b
2
r
t
1 (mod n),
akkor n-et er os lprmnek nevezzk a b bzisra vonatkozan (b er os cinkosa n-nek, stb.).
8.19. Plda. Megmutatjuk, hogy n = 91 = 713 er os lprm a b = 10 bzisra vonatkozan.
Ekkor n1 = 90 = 2
1
45, s = 1, t = 45. Mivel 10
3
= 1001 1 1 (mod 91),
ezrt b
t
= 10
45
(1)
15
1 (mod 91) alapjn r = 0 bizonytja lltsunkat.

Az algoritmusrl tovbbi rszleteket [KN] 116-122 oldalain olvashatunk.


8.5. Pollard -mdszere
Pollard mdszere egy valdi osztt is keres, de az Eratosztheneszi osztogatsnl lnyege-
sen gyorsabb. Szoks Monte Carlo mdszernek is hvni, Pollard 1975-s cikknek eredeti
cme miatt. (Nem tvesztend o ssze Pollard p 1-mdszervel, amit knyvnkben nem
trgyalunk.)
8.20. Algoritmus. Legyen f (x) egy polinom. Tulajdonkppen szmunkra
f : Z
n
Z
n
csak egy lekpezs, vagyis a vakprblkozst irnytja, ks obb trgyaljuk
milyen f (x) az optimlis. Pl. f (x) = x
2
+ 1 j szokott lenni.
Legyen x
0
< n tetsz oleges, legyen 1 < k esetn x
k
: f(x
k1
) (mod n), s vizsgljuk az
x
k
-kat: klnbz o maradkosztlyokba esnek-e (mod n), ezenkvl lnko (x
k
x
j
, n) > 1-
et vizsgljuk meg minden (vagy esetleg nhny) j < k-ra.
Nyilvn r = lnko (x
k
x
j
, n) > 1 esetn r egy valdi osztja n-nek.
8.21. Megjegyzs. (o) Nyilvnval, hogy x
k
s x
j
nem eshetnek egyazon maradkosztlyba
hiszen ekkor x
k
x
j
0 (mod n). Persze, (mod r) ugyanabba az osztlyba kellene esnik,
mert ekkor r egy valdi osztja n-nek, vagyis lnko (x
k
x
j
, n) = r > 1.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
8.5. POLLARD -MDSZERE 87
(i) Ha k mr nagy s nvekszik, akkor tl sok a kiprbland j-k szma:
_
k
2
_
= O(k
2
), ezt
az albbiakban ki tudjuk kerlni.
(ii) Azt is meg fogjuk vizsglni, hogy milyen f fggvnyekkel lehet a mdszert gyorstani.
8.22. Segdllts. Legyen S egy r-elem u halmaz s < r rgztett szm. Tekintsk az olyan
g : S S fggvnyeket s s
0
S elemeket, amelyekre az s
0
, s
1
, . . . , s

S elemek mind
klnbz oek, ahol s
j
= g (s
j1
) ha j = 1, 2, . . . . Ekkor az ilyen (g, s
0
) prok arnya az
sszes lehetsges (g, s
0
) prhoz viszonytva kisebb, mint e

, ahol =
( 1)
2
2r
.
Bizonyts. Elemi kombinatorika segtsgvel.
8.23. llts. Ha a bevezet oben emltett x
j
sorozatban x
k
0
x
j
0
(mod r) valamely j
0
, k
0
prra s r szmra, akkor a tovbbiakban minden t Nesetn szintn x
k
0
+t
x
j
0
+t
(mod r).
Ms szavakkal: ha k > k
0
s k j = k
0
j
0
akkor x
k
x
j
(mod r).
8.24. Algoritmus (Gyorstott vltozat). A sorozat minden
x
k
f(x
k1
) (mod n)
tagjnak kiszmtsa utn nemkell az sszes el oz o j < k indexre ellen orizni az lnko(x
k
x
j
, n)
> 1 felttelt, hanem egyedl csak a j = 2
h
1 sorszmt, ahol 2
h
k < 2
h+1
.
8.25. Megjegyzs. Ez ngyzetes gyorsts, hiszen minden k esetn k1 helyett csak egyetlen
lnko szmtst kell elvgeznnk.
8.26. llts. Amennyiben az eredeti algoritmus megtallta volna n egy valdi osztjt r =
lnko (x
k
0
x
j
0
, n) > 1 azaz x
k
0
x
j
0
(mod r) alakban, akkor a gyorstott algorit-
mus is tall megfelel o k, j prt, s ot k 4k
0
.
Bizonyts. 2
h
k
0
< 2
h+1
s j
0
< k
0
esetn k = 2
h+1
+(k
0
j
0
)1 s j = 2
h+1
1
vlasztssal a 8.23. llts felttelei teljeslnek, k 4k
0
nyilvnval.
8.27. Plda. Bontsuk fel az n = 4087 szmot az f(x) = x
2
+ x + 1 polinom s az x
0
= 2
kezd ortk segtsgvel.
8.28. Megolds.
k = 1, h = 0 : x
1
= f(2) = 7, lnko (x
1
x
0
, n) = lnko (7 2, 4087) = 1,
k = 2, h = 1 : x
2
= f(7) = 57, lnko (x
2
x
1
, n) = lnko(57 7, 4087) = 1,
k = 3, h = 1 : x
3
= f(57) = 3307,
lnko (x
3
x
1
, n) = lnko(3307 7, 4087) = 1,
k = 4, h = 2 : x
4
= f(3307) 2745 (mod 4087),
lnko(x
4
x
3
, n) = lnko(2745 3307, 4087) = 1,
k = 5, h = 2 : x
5
= f(2745) 1343 (mod 4087),
lnko(x
5
x
3
, n) = lnko(1343 3307, 4087) = 1,
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
88 8. PRMTESZTELS S SZMOK FELBONTSA
k = 5, h = 2 : x
6
= f(1343) 2626 (mod 4087),
lnko(x
6
x
3
, n) = lnko(2626 3307, 4087) = 1,
k = 5, h = 2 : x
7
= f(2626) 3734 (mod 4087),
lnko(x
7
x
3
, n) = lnko(3734 3307, 4087) = 61.
Teht 4087 = 61 67.
8.29. Ttel. Ha n N pratlan szm, r

n valdi osztja, s a (f, x
0
) pr kielgti
a 8.22. llts feltteleit (S = Z
r
, g = f s s
0
= x
0
vlasztssal), akkor a -mdszer az r
osztt nagy valszn usggel megtallja legfeljebb O
_
4

n log
3
(n)
_
lpsben.
Pontosabban: ltezik olyan C R
+
lland, hogy brmely > 0 szm esetn: annak a
valszn usge, hogy a -mdszer az r osztt nem tallja meg legfeljebb C

n log
3
(n)
lpsben, kisebb mint e

.
8.30. Megjegyzs. (i) Az f (x) polinomokrl csak ltalban beszltnk, a 8.22. llts sem
vilgos: melyik jobb: nagy vagy kicsi? A polinom persze r-t ol is fgg, de a tapasztalat azt
mutatja, hogy a npszer u x
2
+ 1 ltalban megfelel o.
(ii) Pldul a = 9, e

10
4
rtkek esetn egy tlagos (f, x
0
) prra n-et majdnem
biztosan fel tudjuk bontani.
(iii) f (x) = ax + b lineris vagy az f (x) = x
2
tiszta kvadratikus polinomot SOHA sem
szabad hasznlni.
Vgl egy olyan mdostst mutatunk, amely a tapasztalat szerint kicsit mg az el oz onl
is gyorsabb.
8.31. Algoritmus. (Ktszeres sebessg) Alkalmazzuk egyszerre az
x
k+1
f(x
k
) (mod n) s x
2k
f (f(x
2k1
)) (mod n)
itercikat, s minden lpsben szmtsuk ki r := lnko(n, x
2k
x
k
) rtkt!
Ha r > 1 akkor nyilvn r egy osztja n-nek, s n sszetett szm.
8.32. Plda. Adott az n = 246 733 termszetes szm, f(x) = x
2
+ 1 s x
0
= 2.
k x
k
f(x
k1
) (mod n) x
2k
f (f(x
2k1
)) (mod n) lnko(n, x
2k
x
k
)
0 2 2
1 5 26 1
2 26 211597 1
3 677 126543 1
4 211597 99653 1
5 133298 225011 1
6 126543 28771 1
7 159150 90806 1
8 99653 86408 1
9 210626 222422 983
Teht 983 az egyik osztja n = 246733-nak. Az osztst elvgezve megkapjuk n egy faktori-
zcijt: 246733 = 983 251.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
8.6. AZ AKS ALGORITMUS 89
8.6. Az AKS algoritmus
Mint a fejezet elejn emltettk: Agrawal, Kayal s Saxena 2001-ben feltallt algoritmusa
(AKS-teszt) ttrst hozott a prmtesztels problmra: polinomilisan gyors, 100%bizton-
sgos, determinisztikus. Magt az Algoritmust nem tudjuk bemutatni, mert tbb matematikai
el oismeretet kvetel mint jelen knyvnk, bonyolult. Kis szmokra a rgebbi (knyvnk-
ben ismertetett) algoritmusok jl hasznlhatk.
Az Algoritmus [AKS]-ben jelent meg el oszr. Most csak vzlatosan ismertetjk alapgon-
dolatait.
A teszt alaptlete az, hogy szmok helyett polinomokkal dolgozunk. Ha az n szmrl sze-
retnnk tudni, hogy prm-e, akkor vizsgljuk az f (x) = x
n
a, g (x) = (xa)
n
polinomokat!
Ha n (pratlan) prm, akkor a binomilis ttel s a binomilis egytthatk tulajdonsgai miatt
a g (x) polinom (x
n
a
n
)-tl csak n-nel oszthat tagokban tr el.
Konkrt x s a rtkekre kiszmolni a polinomok rtkt, majd sszehasonltani n-es
maradkaikat tovbbra sem lenne biztos mdszer. Biztonsgos, de nagyon id oignyes elj-
rs lenne kiszmolni a polinomokat s egytthatnknt (mod n) sszevetni egyenl osgket.
Kztes, gyors s ugyanakkor biztonsgos mdszer a kt polinomnak bizonyos polinomokkal
vett maradkait sszehasonltani. Ha ugyanis egyenl ok a polinomok, akkor brmilyen poli-
nommal vett osztsi maradkaik is egyenl ok. Alkalmas (x
r
1) alak polinomot vlasztani,
mert ezzel nagyon knny u osztani: ilyenkor gy kell szmolni, mintha (x
r
1) nulla lenne,
azaz x
r
helybe mindenhol 1-et kell helyettesteni. Kiderlt, hogy megfelel o olyan r prmet
venni, amelynek rtke nagysgrendileg log
6
n, s amelyre r 1-nek van egy alkalmas tu-
lajdonsg nagy prmosztja. Ilyen esetben az a szerencse, hogy sszetett n szm esetn a
kapott maradk-polinomok rendkvl kevs a-ra lesznek egyenl ok: ha n 10
100
, akkor csak
nhny szz kivtel lehet. Elg a maradkban a helybe behelyettesteni az els o nhny szz
rtket, s ellen orizni az f (x)-b ol illetve g (x)-b ol szrmaz rtkek n-es maradkai meg-
egyeznek. Ha mindegyik prbban egyezs van, akkor kizrt, hogy n sszetett, ha egyszer is
nincs egyezs, akkor n biztosan sszetett.
Az algoritmust feltallsa ta tbben egyszer ustettk, klnbz o mdostsait fejlesztet-
tk ki (Lenstra, Pomerance, Crandall, Papadopoulos, stb.)
Nhny tovbbi internet cm:
HTTP://MATHWORLD.WOLFRAM.COM/AKSPRIMALITYTEST.HTML,
HTTP://WWW.ANSWERS.COM/TOPIC/AKS-PRIMALITY-TEST,
HTTP://WWW.AMS.ORG/BULL/2005-42-01/S0273-0979-04-01037-7/HOME.HTML
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
9. fejezet
Prmkeress
Mr Bolyai Jnos el ott tbb vszzaddal majdnem mindegyik matematikus keresett prm-
kpletet, az sszes (vagy legalbbis nagy) prm megkeressre.
Tnyleg igaz, hogy nagymret u prmszmokat rdemes valamilyen kplettel keresnnk:
specilis alak kifejezsek prmtesztelst jval knnyebb eldnteni, mint csak egy vletlen-
szer uen beptygtt tbbezerjegy u szmot (karaktersorozatot)? Igen, de az sem meglep o,
hogy rengeteg elmleti vizsglat s mg tbb szmtgp futsid o kell tbbmilli jegy u pr-
mek megtallshoz!
Br tbb kplettel is sikerrel prblkozhatunk (azaz tallhatunk id or ol id ore nagy pr-
meket), a legsikeresebb Mersenne kplete. Manapsg prezer jegy u prmeket tallni semmi-
sg, ld. pl. a HTTP://WWW.MERSENNE.ORG honlapon. Az els o tvenmilli prmlistjt
pl. a HTTP://PRIMES.UTM.EDU/LISTS/SMALL/MILLIONS/ honlapon is megtalljuk.
9.1. Mersenne-szmok
Marin Mersenne (1588-1648) francia matematikus javasolta a kvetkez o kpletet:
9.1. Denci. Legyen p P tetsz oleges prmszm.
(i) A
M
p
:= 2
p
1
alak szmokat Mersenne-szmoknak hvjuk (akr sszetett, akr prm).
(ii) Amennyiben M
p
prmszm, akkor ot Mersenne-prmnek nevezzk.
9.2. Megjegyzs. Knnyen lthat, hogy a 2
k
1 alak szmok minden k ,= 2

sszetett
szmra sszetettek a jlismert
a
u
b
u
= (a b)
_
a
u1
+ a
u2
b + + ab
u2
+ b
u1
_
azonossg miatt, hiszen ekkor, k = u v, u 3 esetn
(2
v
)
u
1 = (2
v
1)
_
(2
v
)
u1
+ (2
v
)
u2
+ + 2
v
+ 1
_
.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
9.1. MERSENNE-SZMOK 91
Mr p = 11 esetn sem prm M
p
hiszen M
11
= 2
11
1 = 23 89. Azonban ez az egyszer u
kplet meglep oen hatkony: manapsg tbbszzmilli jegy u (!) prmszmokat, tbbek kztt
a prm-rekordokat is segtsgvel talljk meg.
Mely p P prmszmokra lesz M
p
? A XIX.szzad ta tudjuk a kvetkez o prmtesztet:
9.3. Ttel (LucasLehmer teszt). Legyen p > 2 tetsz oleges prmszm, M
p
:= 2
p
1 s
legyen (a
n
) N a kvetkez o sorozat:
a
1
:= 4
a
n+1
: (a
n
)
2
2 (mod M
p
) .
Ekkor: M
p
pontosan akkor prm ha
a
p1
0 (mod M
p
) . (9.1)
(F. Edouard A. Lucas (18421891) francia Derrick Henry Lehmer (19051991) amerikai
matematikusok.)
E. Lucas az 1870-es vekben mondta ki a fenti sejtst, tbb ms tesztmdszerrel egytt, a
mdszerek helyessgt D. H. Lehmer s msok igazoltk 1930 krl. A fenti 9.3. Ttel bizo-
nytsa sok helyen megtallhat, pl. komplex szmok s a Z[i] halmaz (ld. a 13.3. Denci a
Fggelkben) segtsgvel, vagy pl: Bruce, J. W: A Really Trivial Proof of the LucasLehmer
Test, Amer. Math. Monthly, 1993 April, 370-371.
9.4. Megjegyzs. (i) Adott p prmszmra a LucasLehmer teszt exponencilis idej u (az
a
1
, . . . , a
p1
sorozatot egyesvel vgig ki kell szmolnunk) de csak p szmjegyeit tekint-
ve, cserbe viszont 2
p
mret u prmszmot kapunk, no persze csak akkor, ha a (9.1) felttel
teljesl. Ha nem, kezdjk az egszet ellr ol, egy msik p prmszmmal.
(ii) Prmszmot keresni teht vekig is eltarthat. Ezrt is indult tjra az internetes kol-
lektv prmvadszat: a szmtgpek kikapcsolsa (vagy kperny ovd o programok) helyett a
szervez ok a hlzatba kapcsolt gpek Lucas-teszt futtatst javasoljk tbbezer dollr juta-
lom mellett! Az rdekl od oknek a HTTP://WWW.MERSENNE.ORG s a
HTTP://WWW.UTM.EDU/RESEARCH/PRIMES cmeket ajnljuk.
Az 1999-ben felfedezett M
p
Mersenne-prm a 38-adik a sorban:
M (38) = M
6 972 593
= 2
6 972 593
1 (1999).
Nhny rgebbi felfedezs: p = 3.021.377 (1998. janur 27), p = 2.976.221 (1997. augusztus
24.), p = 1.398.269 (1996. november), p = 859.433 (1994. janur), p = 216.091 (1985).
Mersenne-prmek a kvetkez ok is: p = 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127 (1950-ig
M
127
volt a legnagyobb ismert prmszm), 521, 607, 1279, 2203, 2281, 3217, 4253, 4423,
9689, 9941, 11.213, 19.937, 21.701, 23.209, 44.497, 86.243, 132.049.
A 2008. s 2009. vi cscstartk: p = 37 156 667 s p = 43 112 609.
9.5. Problma. Mig is megoldatlan problma, hogy van-e vgtelen sok M
p
alak prmszm?
Az is megoldatlan, hogy van-e vgtelen sok sszetett kzttk.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
92 9. PRMKERESS
(Lsd mg a 2.12. Pldban M
o
-t.)
A Mersenne-fle prmszmok pldul a tkletes szmok vizsglatnl bukkannak fel:
9.6. Denci. Az n N szmot tkletes szmnak nevezzk, ha n megegyezik osztinak
sszegvel.
9.7. Ttel (Euklidesz). Ha m N s 2
m
1 prmszm, akkor 2
m1
(2
m
1) tkletes
szm.
Az rdekl od o Olvasknak mg pl. a [LM], [SzI2], [KN] s [FR] m uveket ajnljuk (s
a 3.46. lltst).
9.2. Fermat-prmek
9.8. Denci. Legyen n N tetsz oleges termszetes szm. Az
F
n
:= 2
(2
n
)
+ 1
alak szmokat Fermat-szmoknak nevezzk,
s Fermat-prmnek ha F
n
P prmszm.
9.9. Megjegyzs. Knnyen lthat, hogy a 2
k
+ 1 alak szmok minden
k = 2 + 1 pratlan szmra sszetettek a jlismert
a
2+1
+ b
2+1
= (a + b)
_
a
2
a
21
b + ab
21
+ b
2
_
azonossg miatt, hiszen ekkor
2
2+1
+ 1 = (2 + 1)
_
2
2
2
21
+ 2 + 1
_
.
A Fermat-prmek teht ngyzetszm melletti prmek. Fermat 1650-ben javasolta a kple-
tet prmszmok el olltsra, de mr Euler igazolta 1732-ben, hogy n = 5 esetn
F
5
= 2
2
5
+ 1 = 4294 967 297
nem prm (HF). Jelenlegi tudsunk szerint n 4 esetn F
n
prm, s n 5 esetn minden
megvizsglt F
n
szm sszetettnek bizonyult. Mivel az F
n
szmok szdletesen nagyok, a
jelenlegi elmleti s szmtstechnikai felszereltsggel remnytelen jabb Fermat-prmeket
tallni.
9.10. Problma. Mig megoldatlan krdsek: van-e vgtelen sok Fermat-prm s van-e vg-
telen sok Fermat-sszetett szm?
A Fermat-fle prmszmok pldul a szablyos sokszgek szerkesztsnl jtszanak fon-
tos szerepet:
9.11. Ttel (Gauss, 1796). Tetsz oleges n N termszetes szmra a szablyos n-oldal
sokszg akkor s csak akkor szerkeszthet o meg krz ovel s vonalzval, ha n = 2
s
vagy
n = 2
s
q
1
q
r
ahol s N s q
1
, . . . , q
r
klnbz o Fermat-prmszmok.
9.12. llts. [W] Az F
n
= 2
2
n
+ 1 Fermat-szm prm akkor s csak akkor, ha az
1
F
n
szakaszos tizedes trt peridusnak hossza pontosan 2
2
n
.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
10. fejezet
Titkosrs nyilvnos kulccsal
Igen, kedves Olvasnk: olyan titkosrs kvetkezik, amelynek menete (vagyis a kdols s
annak kulcsa) brki szmra nyilvnos, mgis a levelet csak a cmzett tudja elovasni (dek-
dolni), mg maga a levl rja sem!
Mi csak a kt legegyszer ubb eljrst mutatjuk be, az elmlt kt vtizedben rengeteg jabb
algoritmus ltott napvilgot. Az rdekl od oknek pldul [KN] 95-111. oldalait ajnlhatjuk.
10.1. Az RSA-algoritmus
10.1. Algoritmus. RivestShamirAdleman algoritmusa (RSA, 1977)
Az albbiakban nagyon gyeljnk arra, hogy mely adatok nyilvnosak s melyeket kell ti-
tokban tartaniuk a rsztvev oknek!
Az algoritmus lersa 10.3-ig tart.
Jelljk a rsztvev o szemlyeket A, B, C, . . . , S, . . . , Z, . . . -vel.
Az algoritmus lershoz s elemzshez hasznosak lesznek a kvetkez o jellsek:
10.2. Jells. c
S
(x) s T
S
(x) jellje az x szveg S szemly ltali kdolsa illetve dekdo-
lsa utn kapott jelsorozatot.
A kvetkez o el okszleteket mindegyik S szemly egyedl, titokban vgezze:
El oszr mindenki vlaszt kt-kt j nagy (kb. 500-1000 jegy u) prmszmot: p
A
, q
A
, p
B
,
q
B
, . . . , majd kiszmtjk a szorzatukat: n
A
:= p
A
q
A
, n
B
:= p
B
q
B
, . . . .
Az n szmokat mindenki nyilvnossgra hozza modulus elnevezssel (s sajt nevvel,
elrhet osgvel egytt), de a p, q prmszmokat termszetesen nem! (Ha a szemlyt nem
kell feltntetnnk, akkor nevt nem rjuk a szmok indexbe.)
Felhvjuk a gyelmet, hogy Fermat prmfelbontsi algoritmusa (ld.a 7.2. Fermat algorit-
musa alfejezetben) hatkony akkor, ha n kt kzeli prm szorzata, teht titkosrsnl ilyent
sem szabad vlasztanunk. Azonban p1 s q 1-nek se legyenek kis prmoszti, mert ekkor
Pollard p 1-algoritmusa (knyvnkben mi nem trgyaljuk) az n szm prmfelbontst is
knnyen megadja.
Ezutn (mg mindig titokban) legyen s := (n) = (p 1) (q 1) (vagyis s
A
,
s
B
, . . . ). Keressnk tovbb (egynileg) olyan e szmot, amely relatv prm s-hez: mondjuk
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
94 10. TITKOSRS NYILVNOS KULCCSAL
prblkozzunk e =
s
2
-vel, ha pedig nem relatv prm s-hez, akkor prblkozzunk tovbb az
s
2
+ 1,
s
2
+ 2, . . . szmokkal. (Kt szm relatv prm volta knnyen s gyorsan eldnthet o azt
Euklideszi algoritmussal, Dirichlet 3.47. Ttele s a tapasztalat szerint pedig a prblkozsok
elg hamar sikerrel jrnak: tallunk s-hez relatv prm e szmot.) Az e
A
,e
B
, . . . szmokat
nyilvnossgra hozzk nyilvnos kulcs elnevezssel.
Vgl (mindenki kln, titokban) megkapja az f titkos megoldkulcsot az
e f 1 (mod s) azaz ef sy = 1 (10.1)
Diophantikus egyenletb ol. Ezt a (sajt) megoldkulcsot az f
A
, f
B
, . . . szmokat kell
jl elrejtenie mindenkinek, a tbbi szmra (teht p, q, s-re) mr nem lesz szksgnk, de a
tbbiek tudomsra sem juthat (pl. elgetjk oket).
A titkosrs menete (a protokoll) a kvetkez o:
Ha a neveket, elrhet osgeket s az n, e szmokat nyilvnossgra hoztuk, akkor brki
rhat brkinek titkostott levelet (amit csak a cmzett tud elovasni, mg a levl rja sem)
mg akkor is, ha el otte nem is hallottak egymsrl!
Mondjuk, B szeretne rni A-nak. Megrt zenett kis rszekre bontja s egyesvel kdolja
oket, egy rsz legyen k < n
A
egsz szm. Az n
A
s e
A
adatok alapjn a k = k
i
zenet c
A
-
kdja legyen egyszer uen
K := c
A
(k) : k
e
A
(mod n
A
) (10.2)
a 6.6. Nagy kitev oj u hatvnyozs alfejezetben tanult mdon. Ks obb megvizsgljuk, hogy
a K zenet f
A
nlkl nem trhet o fel (hiba ismeri mindenki n
A
s e
A
rtkt).
f
A
birtokban azonban A knnyen elovashatja az zenetet: legyen
T
A
(K) : K
f
A
(mod n
A
) . (10.3)
A
K
f
A
(k
e
A
)
f
A
= k
e
A
f
A
= k
sy+1
= (k
s
)
y
k k (mod n
A
) (10.4)
azonossg szerint elg A-nak K-t az f
A
hatvnyra emelnie (mod n
A
):
B : k
C
A
K . . . . . .K
D
A
k : A
10.3. sszegzs. RSA-algoritmus vge.
Nem is olyan bonyolult algoritmus mindssze csak a (10.2) s a lnyegben ugyanaz
(10.3) kpleteket hasznljuk. A [SzI1] Feladatgy ujtemny 4648. ill. 112114. oldalain sok
kidolgozott gyakorl feladatot tallunk.
Az RSA algoritmus egy sikeres feltrsi ksrletnek trtnett a 10.17 plda kit uzsnl
mesljk el, a feladat megoldst 10.23-ben ismertetjk.
Most alaposabban megvizsgljuk az RSA algoritmust!
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
10.1. AZ RSA-ALGORITMUS 95
10.4. llts. c
S
(T
S
(x)) = x s T
S
(c
S
(y)) = y minden x, y Z

n
S
szmra, teht a c
S
s T
S
fggvnyek egyms inverzei, vagyis c
S
s T
S
: Z

n
S
Z

n
S
invertlhat azaz bijektv
fggvnyek.
Bizonyts. A hatvnyozs
_
x
f
_
e
= (x
e
)
f
azonossga s a (10.4) levezets alapjn.
10.5. Megjegyzs. Klnbz o szemlyek algoritmusai c
S
, T
Z
, c
Z
, T
S
azonban nem kever-
het oek egymssal, semmilyen sorrendben sem ssze!
10.6. Megjegyzs. *** 0 *** Feltrhetetlensg
Az algoritmus egy nehz feltrsi trtnett a 10.17 plda kit uzsnl mesljk el.
10.7. Megjegyzs. *** 1 *** El okszletek
A 10.1-ben rt el okszletek minden modern algoritmusnl megszokottak.
Most inkbb azt emelnnk ki, hogy amikor B szeretne rni A-nak, el otte e kt embernek nem
kell el ozetesen semmiben megllapodniuk, ltalban nem is ismerik egymst! (Tudom-
sunk szerint a biztonsgi https honlapokkal val kapcsolat sorn hasonl informcikzls
trtnik.)
10.8. Megjegyzs. *** 2 *** Gazdasgossg
t rsztvev o szemly esetn nem kell
_
t
2
_
=
t(t1)
2
kln megllapods a szemlyek (prok)
kztt csak t db, s ot a titkosrsok megllapodsainak nem kell titkosnak lennik, hiszen a
kdolsi kulcsok nyilvnosak.
10.9. Megjegyzs. *** 3 *** Alrs hitelestse
Igen, a nyilvnos kulcs ellenre mg az alrs (levl) is hitelesthet o az algoritmussal.
A fentiek alapjn ugyanis knnyen elkpzelhet o, hogy a fenti K kdolt zenetet E ksztette
s kldte el A-nak rta: B alrssal. Hogy ezt B elkerlje, levelhez a kvetkez ot csatolja:
Vlasztania kell B-nek egy teljesen vletlen (eddig s ezutn sem hasznlt), nem tl rvid
jelsorozatot (pl. neve + dtum msodpercre pontosan + pr vletlen karakter), jelljk ezt -
lel. El oszr -et a szoksos mdon kdolja: L :
e
A
(mod n
A
) s elkldi A-nak:
B :
C
A
L . . . . . .L
D
A
: A
Hogy B sajt magt igazolja: f
B
-t azaz T
B
-t fogja hasznlni, de termszetesen nem mutat-
hatja meg senkinek. Teht kiszmolja a kvetkez oket:
:= T
B
()
f
B
(mod n
B
) , := c
A
()
e
A
(mod n
A
)
s -t kldi el A-nak.
A termszetesen el tudja olvasni -t: = T
A
()
f
A
(mod n
A
) s =
c
B
()
e
B
(mod n
B
). Vgl A sszehasonltja a ktfle mdon megkapott zenetet:
B alrst akkor tekintheti hitelesnek, ha ez a kt zenet megegyezik:
B :
D
B

C
A
. . . . . .
D
A

C
B
: A
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
96 10. TITKOSRS NYILVNOS KULCCSAL
Azt kell mg elhinnnk, hogy -t csak B tudja kiszmolni, hiszen ehhez f
B
ismerete
szksges. Matematikusok ezt a krdst alaposabban megvizsgltk.
Nem muszj, hogy a szveg lnyegi rsze s a fenti (hiteles) alrs egyetlen, sztvlaszt-
hatatlan zenetben legyenek, hiszen mindkett ot ugyanaz az (n, e) pr kdolja, s esetleg az
zenet darabjai valamilyen, a szmtstechnikban szoksos mdszerrel hivatkozzanak egy-
msra.
A fenti hitelests alkalmazhat nem csak szemlyek azonostsra, hanem trgyak, (ban-
ki, szmtgpes vagy egyb) kdok igazolsra is: a trgyat / kdot birtokl szemly igazolni
tudja, hogy a kd birtokban van anlkl, hogy az igazols sorn brki (szemly vagy szm-
tgp) a kdot megismerhetn vagy ellopn. A titkos f
B
kdot persze B-nek hasznlnia kell
de nem megmutatnia: mivel csak a (10.3) szmts vgeredmnye kell, ezrt sajt szmol-
gpn vagy fejben is szmolhat.
Hasonl mdon tudja brki a sajt kdrendszert nyilvntartsba vetetni sajt szemly-
nek igazolsa utn, vagy kdot cserlni a rgi vagy az j kd begpelse nlkl (amikoris a
kd msik gp vagy szemly tudomsra juthatna).
10.10. Megjegyzs. *** 4 *** Megrendels bizonytsa
Ttelezzk fel, hogy A-nak kell igazolnia egy harmadik szemly (pl. brsg) fel, hogy az
eredetileg tartalm levelet valban B rta (ez lnyegben az el oz o pont megfordtsa).
Anem hasznlhatja fel semT
A
-t semT
B
-t. Azonban egyszer uen tadja a harmadik szemly-
nek -t s -t (-et mr felesleges tadnia, , s az el oz o pontban lert kdok).
A harmadik szemly (br) ellen orzi, hogy:
i) = c
A
(), vagyis az zenetet valban A kapta, s
ii) = C
B
() vagyis az zenetet valban B rta,
s persze elolvassa az zenet tartalmt.
A fentiek segtsgvel A sikeresen igazolni tudja, hogy az eredetileg tartalm levelet val-
ban B rta.
10.11. sszegzs. Vegyk szre, hogy a fenti 10.610.10 hasznos tulajdonsgok minden
olyan nyilvnos kulcs titkosrsra rvnyesek, amelyre a 10.4 llts teljesl.
10.1.1. Pldk
Sajnos a klnbz o pldk klnbz o ABC-ket hasznlnak, ezrt albb ismertetjk a hasznlt
ABC-ket, valamint minden feladatban megadjuk a pldban hasznlt ABC bet uszmt (26,
30 vagy 35).
26-bet us ABC: 01=A, 02=B, 03=C, 04=D, 05=E, 06=F, 07=G, 08=H, 09=I, 10=J, 11=K,
12=L, 13=M, 14=N, 15=O, 16=P, 17=Q, 18=R, 19=S, 20=T, 21=U, 22=V, 23=W, 24=X,
25=Y, 26=Z.
30-bet us ABC: 01=A, 02=, 03=B, 04=C, 05=D, 06=E, 07=, 08=F, 09=G, 10=H,
11=I, 12=J, 13=K, 14=L, 15=M, 16=N, 17=O, 18=, 19=P, 20=Q, 21=R, 22=S, 23=T, 24=U,
25=, 26=V, 27=W, 28=X, 29=Y, 30=Z.
35-bet us ABC: 01=A, 02=, 03=B, 04=C, 05=D, 06=E, 07=, 08=F, 09=G, 10=H,
11=I, 12=, 13=J, 14=K, 15=L, 16=M, 17=N, 18=O, 19=, 20=, 21=

O, 22=P, 23=Q, 24=R,


25=S, 26=T, 27=U, 28=, 29=, 30=

U, 31=V, 32=W, 33=X, 34=Y, 35=Z.


c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
10.1. AZ RSA-ALGORITMUS 97
00 = szkz mindig, a rvid zenetek elejt 0-val tltjk fel.
10.12. Plda. a) Kdolja a Wir treffen uns am Samstag [Tallkozzunk szombaton]
zenetet, ha n = 55 s e = 27 (26 bet us ABC).
b) Dekdolja a 24, 14, 34, 51, 05 RSA zenetet, ha n = 55 s f = 17 (35 bet us
ABC).
c) Dekdolja a 10, 62, 64, 34, 62, 60 RSA zenetet, ha n = 77 s f = 7 (35 bet us
ABC).
10.13. Plda. Adottak a p = 269 s q = 241 prmszmok s az e = 53201 nyilvnos
kulcs.
a) Szmolja ki s = (n) rtkt,
b) ellen orizze, hogy e s s relatv prmek, majd szmolja ki f rtkt,
c) kdolja az x = 48055 zenetet,
d) dekdolja az el obb kapott titkos zenetet (azaz ellen orizze a fenti szmtsokat),
e) kdolja a HELLO = 0008 0512 1215 zenetet (26 bet us ABC),
f) dekdolja a 36376 28210 53334 zenetet.
10.14. Plda. Tegyk fel, hogy a mi kdrendszernk p=23, q=37, n=851, s=792, e=13, f=61,
egy trsunk p=29, q=31, n=899, s=80, e=29, f=29. Hitelestsk alrsunkat rszre a
ZSEBSZMOLGP szveggel (35 bet us ABC).
10.15. Plda. Legyenek n = 49 891 381, e = 209, mg f, p, q s s titkosak,
hasznljuk a 30 bet us ABC-t.
a) Kdolja az ANNA RK = 00000001 16160100 18211813 zenetet.
b) Kdoljuk az OLVASD EL zenetet (26 bet us ABC).
c) Ellen orizze az z x
f
49691150 (mod n) alrs hitelessgt.
d) Trje fel a kdot (f, p, q, s =?), majd dekdolja az
y = x
e
37791786, 01150082, 32137718 (mod n) zenetet.
10.16. Plda. Ha
n = 444 113 096 135 661 846 937 = 3 719 977 867 * 119 385 951 211
s f = 2039 akkor mennyi e rtke s mennyi az x = 32 kdja?
Ha mr gyakoroltuk a kdolst/dekdolst, akkor prbljuk feltrni az albbi titkosrst!
10.17. Plda. *****: A Scientic American 1977. augusztusi szmban Rivest, Shamir s
Adleman t uztk ki az albbi feladatot s az els o megfejt onek 100$ jutalmat ajnlottak fel
(1994 prilisban gazdja akadt a 100$-nak):
Trje fel az albbi kdrendszert: e = 9007,
n = 11438162 5757888867 6692357799 7614661201 0218296721 2423625625 6184293570
6935245733 8978305971 2356395870 50589890751 4759929002
6879543541 (129 jegy u),
a titkostott zenet: K = 9686 9613754622 06147714092 2254355882 90575999112
4574319874 6951209308 16298225145 70835693147 6622883989 6280133919
9055182994 5157815154 (26 bet us angol ABC)
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
98 10. TITKOSRS NYILVNOS KULCCSAL
10.18. Megjegyzs. A trtnet Az [MZ] cikk szerint a kvetkez o: n faktorizcija 1994-ben
(!) azltal vlt lehetsgess, hogy rtak egy programot, amely a szmtsokat kpes volt sok
szmtgpre sztosztani s a rszeredmnyeket a kzpontba elkldeni, s tbb mint 600-an,
amikor ppen nem volt szksg szmtgpkre, ezt a programot futtattk. A munka gy 8
hnapig tartott. A befutott rszeredmnyek egy 569466 524338 mtrixot alkottak, amelyet
Gauss-fle elimincival 188614 188160-ra cskkentettek. Ennek alapjn a faktorizci
16K MasPar P-1-es gpen 45 rig tartott- Ez az els o eset, hogy sikerlt RSA kdban rt
szveget feltrni; mint lthatjuk, elg szp munka volt.
A fenti feladat vgeredmnyt 10.23-nl ismertetjk.
Tovbbi gyakorl feladatok s megoldsuk tallhatk mg a szerz o honlapjn:
HTTP://MATH.UNI-PANNON.HU/~SZALKAI/RSA-FELADATOK.TXT,
amelyekhez hasznljuk a HATVMODDD.EXE progamot.
10.1.2. Megoldsok
10.19. Megolds (10.12. Plda). a) Wir treffen uns am Samstag zenet kdolva: = 12
04 17 00 15 17 25 41 41 25 09 00 21 09 24 00 01 07 00 24 01 07 24 15 01 28.
b) 24
f
24
17
29 = (mod 55), . . . s..t., az zenet: GYES.
c) 10
f
10
7
10 =H (mod 77), . . . s..t., az zenet: HELYES.
10.20. Megolds (10.13. Plda). a) n = pq = 64829, s = (n) = 268 204 = 64320,
b) az ef sy = 1, azaz 53201 f 64320 y = 1 Diophantikus egyenletet kell
megoldanunk: f = 28721,
c) y x
e
(mod n) azaz y 48055
53201
61606 (mod 64829),
d) x y
f
(mod n) azaz x 61606
28721
48055 (mod 64829),
e) 8
53201
13745, 512
53201
57388 s 1215
53201
18638 (mod 64829), vagyis a
HELLO zenet kdolva = 0008 0512 1215,
f) 36376
28721
16, 28210
28721
918, 1519
28721
53334 (mod 64829), vagyis a kdolt
zenet: 0016 0918 1519 = PIROS
10.21. Megolds (10.15. Plda). a) 00000001
209
00000001, 16160100
209
00022271
(mod n), 18211813
209
47610329 (mod n), teht a kdolt zenet = 00000001 00022271
47610329 (eml: n = 49 891 381).
b) OLVASD EL = 15 12 22 01 19 04 00 05 12 amit 8 hossz rszekre trdelve
k
1
= 1512220, k
2
= 11904000 s k
3
= 512. Ekkor
k
e
1
= 1512220
209
11812012 (mod 49, 891, 381),
k
e
2
= 11904000
209
4882790 (mod 49, 891, 381),
k
e
3
= 512
209
42839442 (mod 49, 891, 381),
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
10.2. A HTIZSK ALGORITMUS 99
vagyis a kdolt zenet: 11812012 4882790 42839442.
c) z
e
49691150
209
19211115 (mod n) s 19 21 11 15 =PRIM rtelmes zenet.
d) n = 49891381 = 6091 8191 = p q,
s = (p 1) (q 1) = 49877100,
f = 4056989 = 1111011110011110011101
(BIN
;
gy (y
1
)
f
37791786
4056989
22 30 17 14 =SZOL (mod n),
(y
2
)
f
01150082
4056989
11 05 01 21 =IDAR (mod n),
(y
3
)
f
32137718
4056989
11 23 02 22 =ITS (mod n), azaz a feltrt zenet: SZOLI-
DARITS.
10.22. Megolds (10.16. Plda). Ha
n = 444 113 096 135 661 846 937 = 3 719 977 867 * 119 385 951 211 s f = 2039,
akkor
e= 217 809 267 294 044 099 s x = 32 kdja
y x
e
316 326 629 379 980 725 998 (mod n).
10.23. Megolds (10.17. Plda).
n = 3490 5295108476 5094914784 9619903898 1334177646 3849338784 3990820577
32769 1329932667 0954996198 8190834461 4131776429 6799294253 9798288533.
A titkos kitev o:
f = 106 69861436857 8024442868 7713289201 54780709906 63393786280 1226224496
63106312591 17744708733 4016859746 23065539685 4451327710 9053606095.
A hatvnyozs utn az eredeti, rejtjelezett zenet:
k = 20 08 05 00 13 01 07 09 03 00 23 15 18 04 19 00 01 18 05 00 19 17 21 05 01 13 09 19
08 00 15 19 19 09 06 18 01 07 05
= THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
(A VARZSSZ A KNYESGYOMR HALSZSAS).
10.2. A htizsk algoritmus
Az algoritmus lelke a kvetkez o (nehz) problma:
10.24. Problma. ltalnos htizsk problma: Adottak tetsz oleges
m
1
, . . . , m
k
s M pozitv vals szmok (k N szintn tetsz oleges, nagy szm), s keresend o
az albbi egyenlet
M :=
k

i=1

i
m
i
(10.5)
sszes 0 1 megoldsa, azaz
i
0, 1 minden i = 1, 2, . . . , k esetn.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
100 10. TITKOSRS NYILVNOS KULCCSAL
A (hivatalos) elnevezst az egyik npszer u alkalmazs magyarzza: M teherbrs h-
tizskunkba mely trgyakat tegyk / ne tegyk be, melyek tmegei m
1
, . . . , m
k
, s a zskot
teljesen ki kell hasznlnunk.
Gyors (polinomilis) algoritmus nem ismert az ltalnos krds megoldsra, mindegyik
ismert algoritmus lnyegben az sszes esetet vgigprblgatja, vagyis O
_
2
k
_
idej u. S ot, jl
ismert ttel, hogy az ltalnos htizsk problma NP-teljes (az NP -teljessget az 1. Algorit-
musok sebessge fejezetben deniltuk).
Van azonban a fenti problmnak egy nagyon knnyen megoldhat vltozata (szuper-
nvekv o htizsk problma), s a titkosrs ezen a kett ossgen alapul, de el otte egy segd
denci kell.
10.25. Denci. Az (m
1
, m
2
, . . . , m
k
) R sorozatot szupernvekv o-nek nevezzk, ha
minden eleme nagyobb mint az sszes ot megel oz o elem sszege, azaz brmely i = 2, . . . , k
esetn
m
i
>
i1

j=1
m
j
.
10.26. Problma. szupernvekv o htizsk problma: Ugyanaz, mint az ltalnos htizsk
problma, csak az (m
1
, m
2
, . . . , m
k
) R sorozat szupernvekv o.
10.27. Ttel. A szupernvekv o htizsk problma lineris id oben megoldhat, s a (10.5)
egyenletnek legfeljebb csak egy megoldsa van.
10.28. Algoritmus. s egy Bizonyts is.
Az m
i
tmeg u csomagokat cskken o sorrendben prbljuk betenni a htizskba, vagyis az

k
,
k1
, . . . ,
1
ismeretleneket ebben a sorrendben prbljuk meghatrozni, lehet oleg
i
= 1
vlasztssal gy, hogy a (10.5) egyenletben egyetlen rszsszeg se lpje tl M-et. Ha a soron
kvetkez o m
i
belefr mg a rszsszegbe, vagyis
m
i
+
k

j=i+1

j
m
j
< M
akkor ot ktelez o beletennnk, hiszen az utna kvetkez o sszes tbbi m
i1
, . . . , m
1
szmok
egyttesen is kevesebbet adnak m
i
-nl, teht m
i
mell ozse esetn biztosan nem telik meg a
htizsk.
Vgl teht vagy megtelik a htizsk (a problmt megoldottuk), vagy elfogynak a csomagok
anlkl, hogy tele tudnnk rakni a htizskot (a problmnak nincs megoldsa).
A megolds egyrtelm usge szintn az (m
1
, m
2
, . . . , m
k
) sorozat szupernvekv o tulajdons-
gn alapszik.
Elrkeztnk a titkosrs megismershez.
10.29. Algoritmus. MerkleHellman titkosrs
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
10.2. A HTIZSK ALGORITMUS 101
Legyenek az elkldend o zenet egysgei k-bites szmknt brzolva.
1) a felhasznlk mindegyike vlaszt magnak egy k + 1-elem u szupernvekv o soroza-
tot. Legyen pldul az A felhasznl sorozata (v
0
, v
1
, . . . , v
k1
, v
k
), msknt rva

v :=
(v
0
, v
1
, . . . , v
k1
) s m := v
k
,
2) ezutn A egyszer u prblgatssal keres egy m-hez relatv prm a szmot, teht
lnko(a, m) = 1,
3) majd A meghatrozza a multiplikatv inverzt (mod m) (pldul az Euklideszi algo-
ritmussal), jellje ezt b, azaz a b 1 (mod m),
4) Legyen minden i = 0, 1, . . . , k 1 esetn
w
i
a v
i
(mod m), (10.6)
termszetesen 0 w
i
< m. A w
0
, w
1
, . . . , w
k1
sorozat nem lesz szupernvekv o, kivve
nhny extrm esetet.
A nyilvnos kulcsa a

w := (w
0
, w
1
, . . . , w
k1
) sorozat lesz; mg A titkos meg-
oldkulcsai b s m.
5) zenetklds: Ha valaki szeretne A szmra egy zenetet kldeni, akkor kikeresi a
nyilvntartsbl A nyilvnos kulcst,

w -t. Legyen a titkostand zenet

= (
k1
,
k2
,
. . . ,
0
) (
i
= 0 vagy
i
= 1) amelyb ol a nyilvnos kulcs segtsgvel elksztjk a
F :=
k1

i=0

i
w
i
(10.7)
kdolt zenetet, F < km. (Ez

s

v skalris szorzata, de gyeljnk az indexek fordtott
sorrendjre

w s

-ben, a tovbbiakban pedig H-nl

s

v -ben!)
Ha a titkos F zenet egy illetktelen birtokba jutna, akkor az illetktelennek

w isme-
retben az
i
(10.7) egyenletet kellene megoldania, az pedig ltalban egy ltalnos htizsk
problma. Vagyis nem kell attl flnnk, hogy illetktelenek elolvashatjk levelnket.
6.) Az zenet megfejtse (dekdols): Miutn A megkapja az F titkos zenetet, el oszr
b s m ismeretben kiszmtja a
H : b F (mod m)
szmot. Mivel
H =
k1

i=0

i
(bw
i
)
k1

i=0

i
(bav
i
)
k1

i=0

i
v
i
(mod m) ,
ezrt A-nak csak a fenti szupernvekv o htizsk problmt kell megoldania. Mivel m na-
gyobb, mint az sszes v
i
egytthat sszege, ezrt a fenti kongruencia egyetlen gyke ppen
az eredeti

zenet.
Htizsk algoritmus vge.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
102 10. TITKOSRS NYILVNOS KULCCSAL
10.30. Plda. Legyen k = 5,

v := (2, 3, 7, 15, 31), m = 61. Legyen a = 17, ekkor
b = 18 s (10.6) miatt

w = (34, 51, 58, 11, 39) (mod 61). Legyen az elkldend o zenet

= (10110). Ekkor
F = 0 34 + 1 51 + 1 58 + 0 11 + 1 39 = 148
lesz a titkostott zenet.
Ha a cmzett megkapja F-et, akkor el oszr H-t szmolja ki:
H = 148 18 41 (mod 61),
majd a H =
k1

i=0

i
v
i
szuperhtizsk-egyenletet megoldva:
41 = 1 31 + 0 15 + 1 7 + 1 3 + 0 2
megkapja az eredeti zenetet:

= (10110).
10.31. Plda. Legyen k := 10,

v := (1, 3, 7, 14, 28, 54, 110, 219, 437, 875, 1750) szupern-
vekv o sorozat, m := 3527 prmszm, tovbb a = 2222 szm s az

= 666 titkostand
szveg. Szmolja ki b-t,

w-t, az

szveget rja t kettes szmrendszerbe majd kdolja. A
kapott kdolt zenetet dekdolja!
Megolds: Az Euklideszi algoritmus szerint lnko (3527, 2222) = 1, teht a = 2222-nek
van inverze. A 2222 b 1 (mod 3527) kongruencia / Diophantoszi egyenlet megold-
sa: b = 3427 (mod 3527).
A w
i
a v
i
(mod m) kplet (10.6) alapjn

w = (2222, 3139, 1446, 2892, 2257, 70, 1057, 3419, 1089, 873, 1746).

= 666 = 01010011010
(2
, s azrt rtunk a kettes szmrendszerbeli alak elejre egy 0-t,
hogy mind a tizenegy bit fel legyen tntetve.
(10.7) alapjn a titkostott zenet F =

k1
i=0

i
w
i
= 12580.
F dekdolsa: el oszr H b F = 12580 3427 1139 (mod 3527), majd H-t kell a
szupernvekv o

v sorozat elemeinek sszegeknt felrni, s a kapott 0-1 egytthatk adjk a
keresett szveget:
1139 = 875+219+28+14+3 = 1v
9
+0v
8
+1v
7
+0v
6
+0v
5
+1v
4
+1v
3
+0v
2
+1v
1
+0v
0
ahonnan

= 01010011010
(2
= 666.
10.32. Megjegyzs. Shamir 1982-ben megmutatta, hogy br

w nem szupernvekv o, de az
zenet feltrshez jl ki lehet hasznlni azt a tnyt, hogy szupernvekv o sorozatbl szr-
mazik. Ezrt gy teszik biztonsgosabb a rendszert, hogy az (m, a) pr alkalmazsa helyett
dupla titkostst hasznlnak valamely (m
1
, a
1
) s (m
2
, a
2
) prokat felhasznlva.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
11. fejezet
Bizonyts nulla informcival
A gyakorlati letben (mr tbb ezer ve) szmtalanszor felmerl annak ignye, hogy valamit
bebizonytsunk anlkl, hogy a bizonytkot tadnnk vagy akr megmutatnnk a msik
flnek, vagy akr el ovennnk fltve orztt titkunkat. Nem csak szemlyazonossgunkat, ha-
nem titkos kdunkat sem tancsos msik flnek, mg a szmtgpnek sem megmutatnunk,
bebillenyt uznnk.
Egy olyan prbeszd-el orst (protokollt) mutatunk, amellyel a vlaszad (V) majdnem
100% hitelessggel be tudja bizonytani a krdez onek (K) hogy birtokban van a titkos kd-
nak/informcinak anlkl, hogy K a kd egy rszlett is megismern. Teht V bizonytsa
valban nulla informcival trtnik, angolul zero knowledge proof. S ot, akr K, akr egy
harmadik szemly hiba hallotta az elhangzott beszlgetst, legkzelebb nem tudja kiadni
magt V-nek, nem tudja utnozni! (Angolul a Prover s a Verier elnevezsek hasznlato-
sak.)
A most ismertetend o eljrs titkossga azon alapul, hogy a (6.24) kvadratikus kongruen-
cik nem oldhatk meg polinomilis id oben, vagyis nagy m modulusok esetn nem tudjuk
belthat id on bell megoldani azokat, amint ezt a 6.8. Magasabbrend u kongruencik al-
fejezetben lttuk.
Az albbi algoritmust Csirmaz Lszl kedves tanromtl hallottam 1992-ben. Csirmaz
Lszl honlapjn: http://www.math-inst.hu/~csirmaz sok rdekes anyagot tallunk.
11.1. Algoritmus. (FeigerFiatShamir)
V vlaszt egy nagy (tbbszzjegy u) m sszetett szmot (mr m = pq kt prm szorzata
is elg), s rgzt nhny (legalbb pr tucat) r
1
, r
2
, . . . , r
k
Z

m
szmot, mindezeket
titokban tartja s meg orzi. (Pldul a titkos PIN-kdja az (r
1
, r
2
, . . . , r
k
) sorozat.)
Nyilvnossgra hozza azonban a titkos r
i
szmok ngyzeteit (mod m), jelljk ezeket az
rtkeket s
1
, s
2
, . . . , s
k
-val, azaz
s
i
: (r
i
)
2
(mod m) . (11.1)
V-nek teht be kell bizonytania valakinek vagy valamely gpnek ez utbbit jelljk K-
val, hogy birtokban van a titkos (r
1
, r
2
, . . . , r
k
) kdnak, anlkl, hogy elruln ezt a kdot.
Pontosabban: V azt fogja bebizonytani, hogy a nyilvnos (s
1
, s
2
, . . . , s
k
) sorozathoz tartoz
titkos (r
1
, r
2
, . . . , r
k
) kdot ismeri.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
104 11. BIZONYTS NULLA INFORMCIVAL
0) A bizonytsi eljrs elejn V vlaszt egy jabb (minden alkalommal ms s ms)
v Z

m
szmot, amit szintn titokban tart, s a
w : v
2
(mod m) (11.2)
szmot adja t K-nak.
1) K ellen orz o krdse (e
1
, e
2
, . . . , e
k
) alak ahol e
i
= 0 vagy e
i
= 1 az i = 1, . . . , k
indexekre (lehet oleg az e
i
szmoknak krlbell a fele 1).
Vlaszknt V (titokban/fejben) kiszmtja a
b : v
k

i=1
(r
i
)
e
i
(mod m) (11.3)
rtket (vagyis v-t csak azon r
i
szmokkal szorozza ssze, melyekhez tartoz e
i
= 1) s
a vgeredmny b-t adja t K-nak.
2) K knnyen ellen orzi a
b
2
?
w
k

i=1
s
e
i
(mod m) (11.4)
felttelt, melynek nyilvnvalan teljeslnie kell klnben V lebukna.
3) Ha K nagyon biztos akar lenni, akkor a fenti 1)-2) pontokat tbbszr, mondjuk t-szer
meg kell ismtelnie. Ugyanis tudjuk, hogy minden s Z

m
maradk pontosan kt r Z

m
rtk ngyzete. Teht az egyszer lefolytatott teszten egy csal 0 < < 1 valszn usggel
tmehet. Azonban t db fggetlen teszten mr csak
t
esllyel csszhat t, ami gyakorlatilag
t 200 rtkkel mr 10
15
al szorthat. (t 200 a mai gpek gyorsasgnl szre sem
vehet o, s kevesebb mint 10
10
trsunk l a Fldn.)
11.2. sszegzs. Ksz a bizonyts (FeigerFiatShamir eljrs vge).
Mirt nem tudja legkzelebb senki: akr K, akr egy harmadik szemly szimullni
V-t, hiszen a nyilvnos kdot s a fenti prbeszdet azaz (11.1), (11.2), (11.3), (11.4)-t
mind hallotta (majdnem) teljes informcival rendelkezik? Mint tudjuk: nagy mmodulusok
esetn a ngyzetgykvonsra nincs gyors algoritmusunk, nem tudjuk (polinomid oben) b, w
s (s
1
, s
2
, . . . , s
k
)-b ol kiszmolni sem v-t sem (r
1
, r
2
, . . . , r
k
)-t.
Termszetesen rengeteg, nem csak szmelmleti algoritmus ltezik a Bizonyts nulla
informcival feladatra. Pldul a [KRSz] knyv 5.4. fejezetben, vagy Csirmaz Lszl hon-
lapjn tallunk sok anyagot: HTTP://WWW.MATH-INST.HU/~CSIRMAZ/KRIPT/MATTAN.HTML,
vagy pldul a [CsL] s [GC] cikkekben.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
12. fejezet
Szmtgpes megvalstsok
AXXI.szzadban nemmeglep o, hogy a szmtgpnkn s az Interneten rengeteg segdesz-
kz ll rendelkezsnkre, naponta b ovl o knlatban. Prmfelbonts s prmtesztels tmban
a kvetkez oket ajnlhatjuk (messze nem a teljessg ignyvel):
Elmleti olvasnivalk mdszerekr ol s eredmnyekr ol pldul: [MGy], [JA], [W], [TV]
munkkban.
Az els o pr milli db prmszm listja pldul a
HTTP://PRIMES.UTM.EDU/LISTS/SMALL/MILLIONS/ cmen megtallhat.
A HTTP://WWW.RSASECURITY.COM/RSALABS/NODE.ASP?ID=2093#RSA576
honlapon versenyt hirdetnek nagy szmok faktorizlsa tmakrben, tbbezer dollr jutalom-
mal!
A pro s sokoldal (s mregdrga) Derive c _, Maple c _s Mathematica c _programo-
kat nem kell bemutatnunk, prszz jegy u szmokkal vals (kivrhat) id oben boldogulnak
de mdszereikr ol vajmi keveset rulnak el.
Egyetemi hallgatknak adtam fel hzi feladatknt 820 jegy u szmokat faktorizlsra
hrom hnapra, minden segdeszkzt hasznlhattak. Sajt programjaikkal (s gpeikkel) a
nyolcjegy u szm felbontsa 1 percig tartott. A Maple V c _program ifactor() parancsa (sajt
gpen) 10mp-nl kevesebb id o alatt bontott fel hszjegy u szmokat.
A feladott 129 jegy u szmmal is elbntak, a kvetkez o internet cmen tallhat alkalma-
zs segtsgvel [W]:
HTTP://WWW.WOLFRAMALPHA.COM/INPUT/?I=FACTOR.
Ez a cm sem rulja el sem az alkalmazott matematikai mdszert, sem a m ukd o hardware
rszleteit.
Tivolt Viktor egyetemi hallgat [TV] TDK munkjban (Pannon Egyetem, Veszprm,
2005) a prmfelbonts prhuzamos megvalstsait tanulmnyozta: 216 gpre sztosztva
a megoldhat feladatok mrete s a sebessg nagymrtkben javthat, de pl. ktszer annyi
kliens nem biztos, hogy ktszer akkora sebessget eredmnyez:
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
106 12. SZMTGPES MEGVALSTSOK
Futsi id o a klnbz o nagysg inputokon tbbgpes krnyezetben
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
13. fejezet
Fggelk
13.1. Boole-Algebrk
13.1. Denci. A
B = (H, , , x, I, o)
struktra Boole-algebra (BA), ha H ,= tetsz oleges halmaz, , ktvltozs m uveletek, x
egyvltozs m uvelet H-n, I, o H konstans elemek, s az albbi (BA1)(BA14) tulajdon-
sgok (a Boole-algebra aximi) teljeslnek:
kommutativits A B = B A (BA1)
A B = B A (BA2)
asszociativits A (B C) = (A B) C (BA3)
A (B C) = (A B) C (BA4)
disztributivits A (B C) = (A B) (A C) (BA5)
A (B C) = (A B) (A C) (BA6)
elnyelsi tulajdonsgok A (A B) = A (BA7)
A (A B) = A (BA8)
s I tulajdonsgai A A = I (BA9)
A A = o (BA10)
A o = A (BA11)
A o = o (BA12)
A I = I (BA13)
A I = A (BA14)
A m uveletet ltalban konjukcinak, -t diszjunkcinak, az x m uveletet komplemen-
ternek, mg az I, o elemeket egysg- illetve nullelemnek hvjuk.
Nem csak a halmazelmlet s a logika m uveletei alkotnak Boole-algebrkat: a szmelm-
leti lnko s lkkt is (ld. 3.38. Ttel), az optika szubtraktv s additv sznkeverse is, s
mg sok ms. A [SzI2] kny 1. fejezetben rszletesebben olvashatunk a Boole-Algebrkrl.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
108 13. FGGELK
13.2. Polinomok, Euklideszi gy ur uk
Az knyvben trgyalt fogalmak s sszefggsek (oszthatsg, prmek, lnko, Euklideszi al-
goritmus, lineris Diophantoszi egyenletek, kongruencik s maradkosztlyok, stb.) nem
csak az egsz szmok Z halmazn, hanem sok ms gy ur uben (sszeads s szorzs m uve-
letvel elltott halmazon) is lteznek, mint pldul a polinomoknl, a komplex szmok bizo-
nyos rszhalmazain (pl. Euler- s Gauss egszek), stb. Ezen vizsglatok nagy rsze nem csak
elmleti, hanem gyakorlati problmk megoldshoz is segtsget nyjt.
Most csak a legalapvet obb dencikat s tteleket emltjk meg. Az rdekl od ok rszle-
tesen kidolgozott feladatokat tallnak pl. [SzI1] 4950., 52. s 56-57 oldalain.
13.2. Denci. (i) Z[x], R[x] ill. C[x] jelli rendre az egsz-, vals- ill. komplex egytthat-
j (egyismeretlenes) polinomok halmazt.
(ii) Egy p (x) polinom fokszma (grade/degree) az x legmagasabb el ofordul hatvnykite-
v oje, jele gr(p) vagy d(p) .
(iii) az azonosan c rtket felvev o 0 fok konstans polinomot c

-al jelljk. Minden c

kons-
tans polinom fokszma 0, kivtel a 0

polinom fokszma:
gr(0

) := .
13.3. Denci. (i) Egy C szm k-adfok (k N) algebrai szm, ha gyke egy
k-adfok vals egytthats (azaz R[x]-beli) polinomnak,
(ii) C algebrai egsz, ha gyke egy egsz egytthats (azaz Z[x]-beli) polinomnak.
(iii) Legyen C egy tetsz oleges msodfok algebrai egsz szm, mely gyke egy

2
+ p + q = 0 (13.1)
egsz egytthats polinomnak. Ekkor legyen
Z[] := a + b [ a, b Z .
(Termszetesen Z[] C.)
=

m esetn (ha m N s nem ngyzetszm) Z[] helyett hasznlatos mg a H
m
jells
is:
H
m
:= Z[

m].
Pldul:
Z[i] elemeit Gauss-egszeknek hvjuk,
Z[] elemeit Euler-egszeknek hvjuk,
Z[

2] elemeit H-egszeknek hvjuk,


Z[i

5] elemeit L-egszeknek hvjuk,


. . . .
13.4. llts. Z[] zrt az alapm uveletekre (sszeads s szorzs) ha msodfok algebrai
egsz szm.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
13.2. POLINOMOK, EUKLIDESZI GY

UR

UK 109
Bizonyts. Az sszeads s kivons nyilvnval.
(a + b) (c + d) = (ac bdq) + (ad + bc bdp) a (13.1) egyenlet felhasznlsval,
gy Z[] a szorzsra is zrt.
Tbb szmelmleti krdsre is a Z[] halmazok segtsgvel kaptunk vlaszt, mint pl-
dul a 3.57. Nagy Fermat Ttel n = 3 s n = 4 eseteire (Euler s Fermat), valamint Fermat
3.58. karcsonyi Ttelre (Bolyai Jnos).
Az albbiakban a (1, +, ) struktra helyre gondoljuk legtbbszr a fenti Z[x], R[x],
C[x] vagy Z[] halmazok valamelyikt.
13.5. Denci. (i) Legyen a, b 1 kt tetsz oleges elem. a osztja b-nek, vagy b oszthat
a-val, jelben
a [ b ,
ha
b = a c
valamely c 1elemre.
(ii) Az e 1elem egysg (,=egysgelem!), ha
e [ 1 .
(iii) a, b 1asszociltak (trstottak), jelben
a b
ha
a = b e
valamely e 1egysgre.
(Ekkor szintn b = a f valamely msik f 1egysgre.)
(iv) Tetsz oleges a 1 irreducibilis (felbonthatatlan), ha nincs valdi felbontsa, azaz
brmely a = b c (b, c 1) esetn
a = b c = b vagy c egysg.
A felbonthat elemeket reducibilisnek nevezzk.
(v) a 1 prmtulajdonsg vagy rviden prm elem, ha brmely b, c 1esetn
a [ b c = a [ b vagy a [ c.

Az a b jells (a s b asszociltak) sajnos megegyezik a 2.5. Denciban bevezetett


f (x) g (x) (aszimptotikusan egyenl o fggvnyek) jellssel, de egszen mst jellnek!
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
110 13. FGGELK
13.6. Plda. Keressk meg R[x]-ben a fenti tulajdonsg elemeket:
Egysgek a c

konstans polinomok (c ,= 0).


Kt polinom pontosan akkor asszocilt, ha egy (nemnulla) konstans szorzban trnek csak el
egymstl, pldul (2x
2
+ 3x 4) (x
2
+ 1.5x 2).
Minden els ofok polinom (nyilvn) felbonthatatlan, a msodfokak kzl pedig pontosan
azok, melyek diszkriminnsa negatv. Az Algebra Alapttele szerint a legalbb harmadfok
polinomok mind reducibilisek.
Az albbi (ltalnos) ttelekb ol kvetkezik majd, hogy R[x]-ben a felbonthatatlan s a prm-
tulajdonsg elemek ugyanazok.
Sok kidolgozott gyakorl feladatot tallunk mg [SzI1]-ben.
Trjnk vissza az (1, +, ) struktrk ltalnos vizsglathoz. Az albbi eredmnyek csak
integritsi tartomnyokra (kommutatv egysgelemes gy ur uk) igazak, de ne ijedjnk meg:
a fenti Z[x], R[x], C[x] s Z[] halmazok mindegyike integritsi tartomny.
13.7. llts. Tetsz oleges (1, +, ) integritsi tartomnyban: minden prmtulajdonsg elem
irreducibilis.
Bizonyts. Ha p = bc akkor p [ bc, p prmtulajdonsga miatt mondjuk p [ b vagyis
b = pd.
Ekkor azonban p = pdc vagyis dc egysg s gy c is egysg teht a p = bc felbonts
nem valdi vagyis p irreducibilis.
13.8. Megjegyzs. A kvetkeztets visszafel ltalban nem igaz, pldul bizonyos Z[]
struktrkban. Az albbiakban ezt a krdst prbljuk tisztzni.
13.9. Denci. Az (1, +, ) struktrban teljesl az egyrtelm u prmfelbonts, rviden
EPF tulajdonsga, ha brmely a 1felbonthat irreducibilis elemek szorzatra lnyegben
egyrtelm uen (sorrendt ol s asszociltaktl eltekintve).
A fenti elnevezs nagyon hasznos tulajdonsgot takar: ha minden elemet atomokra (=to-
vbb mr nem bonthat elemek, gr.) tudunk bontani, akkor gy knnyebben tudjuk az ele-
mek tulajdonsgait, a m uveleteket vizsglni.
13.10. Megjegyzs. Pldul a pros szmoknl nem egyrtelm u a prmfelbonts, pl. 60 =
2 30 = 10 6 kt klnbz o felbonts.
Z[

10]-ben sem teljesl az EPF.


A kvetkez o eredmny igazolsa mr meghaladja knyvnk kereteit:
13.11. Ttel. Egy (1, +, ) integritsi tartomnyban pontosan akkor teljesl az egyrtelm u
prmfelbonts ha minden irreducibilis elem prmtulajdonsg.
No, s mikor teljeslnek a fenti Ttel felttelei?
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
13.2. POLINOMOK, EUKLIDESZI GY

UR

UK 111
13.12. Denci. Legyen (1, +, ) tetsz oleges.
(i) (1, +, )-ben elvgezhet o a maradkos oszts, ha ltezik egy
: 1 N
fggvny a kvetkez o tulajdonsggal: tetsz oleges a, b 1, (b) ,= 0 elemekhez tallhatk
olyan q, r 1elemek, amelyekre
a = bq + r s (r) < (b) .
(q a hnyados, r a maradk).
() helyett nha [[-t vagy ||-t rnak, s abszolt rtk -nek vagy norm -nak nevezik
(hiszen az elemek nagysgt mri ).
(ii) Ha (1, +, ) integritsi tartomny s benne elvgezhet o a maradkos oszts, akkor
(1, +, )-et Euklideszi gy ur unek nevezzk.
13.13. Ttel. Minden Euklideszi gy ur uben minden irreducibilis elem prmtulajdonsg.
Kvetkezskppen: Euklideszi gy ur ukben teljesl az egyrtelm u prmfelbonts.
13.14. Kvetkezmny. A fenti Ttelb ol, pontosabban a maradkos osztsbl kvetkezik (vg-
s o soron) a 3.6. Szmelmlet Alapttele, ill. az Algebra Alapttelnek fele:
Minden egsz/vals/komplex egytthats polinom (vagyis Q[x] s R[x] elemei) lnyegben
egyrtelm uen (sorrendt ol s konstans szorzktl eltekintve) bonthat fel irreducibilis elemek
szorzatra.
13.15. Megjegyzs. (i) Pldul a Q[x], R[x], Z[i], Z[i

2],Z[], Z[

2], Z[

3], Z[

6], Z[

7],
Z[

11], Z[

19] struktrk Euklideszi gy ur uk, teht bennk rvnyes az EPF.


(ii) A fenti 13.13. Ttel kvetkeztetse azonban nem fordthat meg: vannak olyan gy ur uk,
amelyek ugyan nem Euklidesziek, de bennk mgis rvnyes az EPF. Ilyenek pldul a Z[x],
Z[

23], Z[i

3], Z[i

19], Z[i

43], Z[i

67], Z[i

163] struktrk.
Mig megoldatlan tbbek kztt a kvetkez o problma ([SzM] 22.old.):
13.16. Problma. (o) Mely m Z (nem ngyzetszm) egsz szmokra teljesl Z[

m]-ben
az egyrtelm u prmfelbonts?
Az albbi eredmnyek ismertek ([SzM]):
(i) Negatv m esetn ismert az sszes megfelel o m szm: Z[i], Z[i

2], Z[i

3], Z[i

7],
Z[i

11], Z[i

19], Z[i

43], Z[i

67], Z[i

163]-ben igaz az EPF (kb. 1970 ta tudjuk bizto-


san, hogy nincs tbb megfelel o negatv m).
(ii) Nem rvnyes az EPF Z[

m]-ben minden olyan pozitv m N (nem ngyzet-) szmra,


amelyre
4 [ m1 .
(iii) Ismertek mg: Z[

2], Z[

3], Z[

6], Z[

7], Z[

11], Z[

19] s Z[

23]-ben rvnyes
az EPF, mg Z[

10]-ben nem.
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
112 13. FGGELK
13.17. Megjegyzs. A fentiek szerint teht (majdnem) az egsz knyv Dencii, Ttelei s
Algoritmusai igazak ill. hasznlhatk azon fenti Z[] struktrkban, amelyekben rvnyes az
EFP. Ilyenek pldul:
- lnko s lkkt fogalma s sszefggsei,
- Euklidesz algoritmusa lnko keressre,
- Lineris Diophantikus egyenletek elmlete s gyakorlata,
- Knai Maradkttel s alkalmazsai,
stb. . . . .
A mellkelt POLIOSZ5.EXE program segtsgvel gyakorolhatjuk a polinomok marad-
kos osztst, Euklideszi algoritmust, lnko keresst . . . a Z[x] gy ur uben.
A jelen fejezetben lertak nem csak elmletileg, hanem gyakorlati problmknl is fon-
tosak s hasznosak. A [SzI1] Feladatgy ujtemnyben sok rszletesen kidolgozott feladatot
tallunk polinomokrl s a Z[] struktrkrl.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
13.3. TBLZATOK 113
13.3. Tblzatok
A 30 000-nl kisebb szmok felbontst megtallhatjuk pldul a [SzI1] Feladatgy ujtemny
Fggelkben, az els o 50 milli db prmszm listjt pldul a HTTP://PRIMES.UTM.EDU/
LISTS/SMALL/MILLIONS/ cmen megtalljuk.
Albb csak primitv gykk, hatvnyaik s szmok indexeinek (diszkrt logaritmus) tb-
lzatt mellkeljk. A tblzatok s hasznlatuk lerst els osorban a 6.7. Primitv gykk
s diszkrt logaritmus alfejezetben talljuk. Ajnljuk mg a 6.71. Pldt s a 6.83. Megjegy-
zst.
p g p g p g p g p g p g
2 1 113 3 277 5 457 13 643 11 839 11
3 2 127 3 281 3 461 2 647 5 853 2
5 2 131 2 283 3 463 3 653 2 857 3
7 3 137 3 293 2 467 2 659 2 859 2
11 2 139 2 307 5 479 13 661 2 863 5
13 2 149 2 311 17 487 3 673 5 877 2
17 3 151 6 313 10 491 2 677 2 881 3
19 2 157 5 317 2 499 7 683 5 883 2
23 5 163 2 331 3 503 5 691 3 887 5
29 2 167 5 337 10 509 2 701 2 907 2
31 3 173 2 347 2 521 3 709 2 911 17
37 2 179 2 349 2 523 2 719 11 919 7
41 6 181 2 353 3 541 2 727 5 929 3
43 3 191 19 359 7 547 2 733 6 937 5
47 5 193 5 367 6 557 2 739 3 941 2
53 2 197 2 373 2 563 2 743 5 947 2
59 2 199 3 379 2 569 3 751 3 953 3
61 2 211 2 383 5 571 3 757 2 967 5
67 2 223 3 389 2 577 5 761 6 971 6
71 7 227 2 397 5 587 2 769 11 977 3
73 5 229 6 401 3 593 3 773 2 983 5
79 3 233 3 409 21 599 7 787 2 991 6
83 2 239 7 419 2 601 7 797 2 997 7
89 3 241 7 421 2 607 3 809 3 1009 11
97 5 251 6 431 7 613 2 811 3
101 2 257 3 433 5 617 3 821 2
103 5 263 5 439 15 619 2 823 3
107 2 269 2 443 2 631 3 827 2
109 6 271 6 449 3 641 3 829 2
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
114 13. FGGELK
p = 3, g = 2
Szm 0 1 2
0 2 1
Ind. 0 1 2
0 2 1
p = 5, g = 2
Szm 0 1 2 3 4
0 4 1 3 2
Ind. 0 1 2 3 4
0 2 4 3 1
p = 7, g = 3
Szm 0 1 2 3 4 5 6
0 6 2 1 4 5 3
Ind. 0 1 2 3 4 5 6
0 3 2 6 4 5 1
p = 11, g = 2
Szm 0 1 2 3 4 5 6 7 8 9
0 10 1 8 2 4 9 7 3 6
1 5
Ind. 0 1 2 3 4 5 6 7 8 9
0 2 4 8 5 10 9 7 3 6
1 1
p = 13, g = 2
Szm 0 1 2 3 4 5 6 7 8 9
0 12 1 4 2 9 5 11 3 8
1 10 7 6
Ind. 0 1 2 3 4 5 6 7 8 9
0 2 4 8 3 6 12 11 9 5
1 10 7 1
p = 17, g = 3
Szm 0 1 2 3 4 5 6 7 8 9
0 16 14 1 12 5 15 11 10 2
1 3 7 13 4 9 6 8
Ind. 0 1 2 3 4 5 6 7 8 9
0 3 9 10 13 5 15 11 16 14
1 1 8 7 4 12 2 6 1
p = 19, g = 2
Szm 0 1 2 3 4 5 6 7 8 9
0 18 1 13 2 16 14 6 3 8
1 17 12 15 5 7 11 4 10 9
Ind. 0 1 2 3 4 5 6 7 8 9
0 2 4 8 16 13 7 14 9 18
1 17 15 11 3 6 12 5 10 1
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
13.3. TBLZATOK 115
p = 23, g = 5
Szm 0 1 2 3 4 5 6 7 8 9
0 22 2 16 4 1 18 19 6 10
1 3 9 20 14 21 17 8 7 12 15
2 5 13 11
Ind. 0 1 2 3 4 5 6 7 8 9
0 5 2 10 4 20 8 17 16 11
1 9 22 18 21 13 19 3 15 6 7
2 12 14 1
p = 29, g = 2
Szm 0 1 2 3 4 5 6 7 8 9
0 28 1 5 2 22 6 12 3 10
1 23 25 7 18 13 27 4 21 11 9
2 24 17 26 20 8 16 19 15 14
Ind. 0 1 2 3 4 5 6 7 8 9
0 2 4 8 16 3 6 12 24 19
1 9 18 7 14 28 27 25 21 13 26
2 23 17 5 10 20 11 22 15 1
p = 31, g = 3
Szm 0 1 2 3 4 5 6 7 8 9
0 30 24 1 18 20 25 28 12 2
1 14 23 19 11 22 21 6 7 26 4
2 8 29 17 27 13 10 5 3 16 9
3 15
Ind. 0 1 2 3 4 5 6 7 8 9
0 3 9 27 19 26 16 17 20 29
1 25 13 8 24 10 30 28 22 4 12
2 5 15 14 11 2 6 18 23 7 21
3 1
p = 37, g = 2
Szm 0 1 2 3 4 5 6 7 8 9
0 36 1 26 2 23 27 32 3 15
1 24 30 28 11 33 13 4 7 17 35
2 25 22 31 15 29 10 12 6 34 21
3 14 9 5 20 8 19 18
Ind. 0 1 2 3 4 5 6 7 8 9
0 2 4 8 16 32 27 17 34 31
1 25 13 26 15 30 23 9 18 36 35
2 33 29 21 5 10 20 3 6 12 24
3 11 22 7 14 28 19 1
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
116 13. FGGELK
p = 41, g = 6
Szm 0 1 2 3 4 5 6 7 8 9
0 40 26 15 12 22 1 39 38 30
1 8 3 27 31 25 37 24 33 16 9
2 34 14 29 36 13 4 17 5 11 7
3 23 28 10 18 19 21 2 32 35 6
4 20
Ind. 0 1 2 3 4 5 6 7 8 9
0 6 36 11 25 27 39 29 10 19
1 32 28 4 24 21 3 18 26 33 34
2 40 35 5 30 16 14 2 12 31 22
3 9 13 37 17 20 38 23 15 8 7
4 1
p = 43, g = 3
Szm 0 1 2 3 4 5 6 7 8 9
0 42 27 1 12 25 28 35 39 2
1 10 30 13 32 20 26 24 38 29 19
2 37 36 15 16 40 8 17 3 5 41
3 11 34 9 31 23 18 14 7 4 33
4 22 6 21
Ind. 0 1 2 3 4 5 6 7 8 9
0 3 9 27 38 28 41 37 25 32
1 10 30 4 12 36 22 23 26 35 19
2 14 42 40 34 16 5 15 2 6 18
3 11 33 13 39 31 7 21 20 17 8
4 24 29 1
p = 47, g = 5
Szm 0 1 2 3 4 5 6 7 8 9
0 46 18 20 36 1 38 32 8 40
1 19 7 10 11 4 21 26 16 12 45
2 37 6 25 5 28 2 29 14 22 35
3 39 3 44 27 34 33 30 42 17 31
4 9 15 24 13 43 41 23
Ind. 0 1 2 3 4 5 6 7 8 9
0 5 25 31 14 23 21 11 8 40
1 12 13 18 43 27 41 17 38 2 10
2 3 15 28 46 42 22 16 33 24 26
3 36 39 7 35 34 29 4 20 6 30
4 9 45 37 44 32 19 1
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
Irodalomjegyzk
[AKS] Agrawal, M., Kayal, N.,Saxena, N.: Primes is in P. Ann. Math. 160 (2004), 781-
793.,
HTTP://WWW.CSE.IITK.AC.IN/USERS/MANINDRA/ALGEBRA/PRIMALITY_V6.PDF
[BD] Bresoud, D.: Factorization and Primality Testing, Springer Verlag, 1988.
[CLR] Cormen, T., Leiserson, Ch., Rivest, R.: Algoritmusok, M uszaki Kiad 1999
[CsL] Csete Lajos: Az Euklideszi algoritmus legrosszabb esete s Gabriel Lam, Polygon
1994, 83-88.
[CsL] Csirmaz Lszl: The Dealers Random Bits inPerfect Secret Sharing Codes, Studia
Sci. Math. Hung. 32 (1996), pp.429-437.
[DT] Dnes Tams: Pierre Fermat s a nyilvnos kulcs rejtjelezs, KMaL 2001/8, 450-
459.old.
[FR] Freud Rbert:

Osi problmk j eredmnyek (Szmelmlet, prmszmok),
HTTP://MATEK.FAZEKAS.HU/PORTAL/ELOADAS/2005/
ELOADAS_2005_11_22_FREUD.HTML, 2008.
[FGy] Freud Rbert, Gyarmati Edit: Szmelmlet, Nemzeti Tanknyvkiad, Bp. 2006,
[IA] Ivnyi Antal (szerk.): Informatikai algoritmusok,
HTTP://COMPALG.INF.ELTE.HU/~TONY/ELEKTRONIKUS/INFORMATIKAI/INFALG1E.PDF,
2007.
[JA] Jrai Antal: Szmtgpes szmelmlet,
HTTP://COMPALG.INF.ELTE.HU/~AJARAI/CNT.PDF, 1998.
[JI] Jrsi Istvn: A Carmichael-szmokrl, KMaL 2000/3, 136-145.old.
[KRSz] Katona Gyula, Recski Andrs Szab Csaba: A szmtstudomny alapjai, Ty-
potex Kiad, Budapest, 2002, ISBN 963-9326-24-0.
[KE1] Kiss Elemr: Ktszz ve szletett Bolyai Jnos, KMaL 2002/november, 457-
466.oldal
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
118 IRODALOMJEGYZK
[KE2] Kiss Elemr: Matematikai kincsek Bolyai Jnos kziratos hagyatkbl, Akadmi-
ai Kiad s Typotex Kft. Budapest, 1999., HTTP://MEK.OSZK.HU/05300/05321,
HTTP://MEK.OSZK.HU/05300/05321/05321.PDF.
[KN] Koblitz, N.: A Course in Number Theory and Cryptography, Springer-Verlag, 1987.
[KD] Knuth, D.: A szmtgp-programozs m uvszete, M uszaki Kiad, 1988
[LL1] Lovsz Lszl: An Algorithmic Theory of Numbers and Convexity, SIAM, Philadel-
phia, 1986, ISBN 0-89871-203-3.
[LL2] Lovsz Lszl: Algoritmusok bonyolultsga, ELTE TTK jegyzet, Tanknyvkiad
Bp. 1990,
b ovtett kiads: HTTP://WWW.CS.ELTE.HU/~KIRALY/ALG.PDF.
[LG] Lovsz Lszl, Gcs Pter: Algoritmusok, Tanknyvkiad, 1987.
[LM] Laczkovich Mikls: Prmkpletek, KMaL 47 (1997) 385-398.
[MGy] Marti Gyrgy: El oadsok algoritmikus szmelmletb ol, Livermore Kiad, Bks-
csaba, 2008.
[GC] McGeoch, Catherine C.: Zero-Knowledge Proofs, Computer Sci. Sampler, 1993,
pp.682-685.
[MZ] Megyesi Zoltn: Titkosrsok, Polygon IV/2, (1994).
[RISz] Rnyai Lajos, Ivanyos Gbor, Szab Rka: Algoritmusok, Typotex Kiad, 2005.
[RF] Rozgonyi-Borus Ferenc: Szmelmleti algoritmusok,
HTTP://WWW.ABAX.HU/INLAP/T/CIKK/SZAMALG/SZAMALG.HTM, 2002.
[SA1] Srkzy Andrs: Szmelmlet (Bolyai knyvek sorozat), M uszaki Kiad, Bp.
1976.
[SA2] Srkzy Andrs: Szmelmlet s alkalmazsai, (Matematika M uszakiaknak soro-
zat), M uszaki Kiad, Bp. 1978.
[SzM] Szalay Mihly: Szmelmlet, Tanknyvkiad, Bp. 1991.
.
[SzI0] Szalkai Istvn: jabb kombinatorikai feladatok,
HTTP://MATH.UNI-PANNON.HU/~SZALKAI/KOMBUJ+FELAD2C.DOC
[SzI1] Szalkai Istvn: Algebra s szmelmlet feladatgy ujtemny, Pannon Egyetem Kiad,
Veszprm, 2005.
[SzI2] Szalkai Istvn: Diszkrt matematika s algoritmuselmlet alapjai, Pannon Egyetem
Kiad Veszprm, 2001, javtott kiads: 2006.
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
IRODALOMJEGYZK 119
[TV] Tivolt Viktor: Prmszmtesztel o s -faktorizcis algoritmusok, Szakdolgozat, Pan-
non Egyetem, 2005.
[W] HTTP://MATHWORLD.WOLFRAM.COM/
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
Trgymutat
#. . . , 6
, 49
, 49
(n), 52, 55
O(g), 9
(g), 9
(g), 9
(g), 9
0

, 108
(a,b), 23
[a,b], 24
ab, 25
ab, 25
(a mod b), 32
a MOD m), 46
a mod m), 46
a
1
(mod m), 53
a b (mod m), 45
a
m
b, 45
a b, 109
abszolt rtk, 111
Adleman, 93, 97
Agrawal, 23
a
k
a
k1
. . . a
1
a
0
(10)
, 47
AKS, 23, 79, 89
Alford, 83
Algebra Alapttele, 110
algebrai egsz szm, 108
algebrai struktra, 49
algebrai szm, 108
fokszma, 108
algoritmus
AKS, 23, 89
Bolyai-teszt, 83
bonyolultsga, 8
els ofok, 10
exponencilis, 10
hiperexponencilis, 10
konstans, 10
kvadratikus, 10
lineris, 10
logaritmikus, 10
ngyzetes, 10
polinomilis, 10
szemilineris, 10
determinisztikus, 8
Eratoszthensz -a, 79
Eratosztheneszi szita, 21
Euklidesz -a, 33
Euklidesz, kiterjesztett, 39
Euklideszi, 24
Fermat -a, 80
hatvnyozs (mod m), 60
Karacuba-szorzs, 16
Knai Maradkttel, 71
kzelt o, 8
LegendreKraitchik, 81
MillerRabin, 85
ngyzetgyk (mod ), 70
ngyzetgyk (mod m) , 69
nemdeterminisztikus, 8
Newton-gykvons, 17
Newton-oszts, 17
Pollard -rh, 86, 87
RSA -, 93
sebessge, 8
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
TRGYMUTAT 121
valszn usgi, 8
lprm, 82, 83
er os, 86
als egszrsz, 7
rul, 83
asszocilt elemek, 109
asszociativits, 25
aszimptotikusan egyenl o fggvnyek, 12
atom, 19
BA, 107
bzis, 83
big oh, 9
Bolyai Farkas, 30, 58, 82
Bolyai Farkas ttele, 82
Bolyai Jnos, 30, 58, 81, 82, 90, 109
Bolyai-teszt, 82, 83
bonyolultsg, 8
Boole-algebra, 107
c

, 108
C[x], 108
Carmichael
-szmok, 83
Carmichael, R. D., 83
Cejtin
ttele, 13
Chinese Remainder/Residue Theorem, 71
ciklikus csoport, 62
cinkos, 83
er os, 86
coprime to, 26
CRT, 71
c
S
(x), 93
Csebisev, Pafnutyij Lvovics, 29
Csirmaz Lszl, 103, 104
d(n), 20
d(p), 108
De Morgan-azonossg, 26
degree, 108
descente innie, 35
determinisztikus algoritmus, 8
Diophantoszi egyenletek, 38
Dirichlet ttele, 31
Dirichlet, Peter Gustav Lejeune, 31
Dirichlet-ttel, 28
diszjunkci, 107
diszkrt logaritmus, 63
disztributivits, 25
divisors number, 20
D
n
, 26
T
S
(x), 93
durvbb
osztlyozs/relci, 46
egszrsz fggvnyek, 7
egyrtelm u prmfelbonts, 110
egysg, 109
egysgelem, 107
egysggyk
d-edik, 62
primitv, 62
ekvivalencia-relci, 47
elem rendje, 62
els ofok kongruencia, 52
EPF, 110
er os lprm, 86
er os cinkos, 86
Eratoszthensz algoritmusa, 79
Eratosztheneszi szita, 21
Erd os Pl, 30, 83
EuklDio2d.exe, 35, 40, 53, 55
Euklidesz, 23, 28, 32, 33, 92
Euklidesz algoritmusa, 24, 33
kiterjesztett, 39
Euklideszi gy ur u, 111
Euler
- (n), 52, 55
- egsz, 33, 108
- lemma, 66
- Ttel, 58
Euler, Leonhard, 30, 55, 56, 92, 109
f (n) g (n), 12
f (n) g (n), 12
f (x) g (x), 12
f (x) g (x), 12
faktorbzis, 81
faktorizls, 5, 19
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
122 TRGYMUTAT
Feiger, 103
felbonts, 5, 19
felbonthatatlan
elem, 109
felbonthatatlan szm, 18
fels o egszrsz, 7
Fermat
- prm, 92
- szm, 92
algoritmusa, 80
karcsonyi ttele, 30
"kis" Ttele, 58
nagy sejtse, 30
Fermats
Last Theorem, 30
Fermat, Pierre, 30, 58, 80, 109
Fiat, 103
nomabb
osztlyozs/relci, 46
fggvny
egszrsz, 7
szmelmleti, 56
szmelmleti, multiplikatv, 56
gyengn, 56
Galois Field, 63
Gauss
- egsz, 33, 108
Gauss, Carl Friedrich, 29, 92, 98
gcd, 23
genertor elem, 62
GF (p

), 63
gr(p), 108
grade, 108
Granville, 83
Green, B., 31
gyengn multiplikatv fggvny, 56
gy ur u, 49, 108
Euklideszi, 111
H - egsz, 108
Hadamard, Jacques, 29
htizsk problma
ltalnos, 99
szupernvekv o, 100
hatvnyozs, (mod m), 60
HatvModdd.exe, 60, 98
ikerprm-problma, 31
ikerprmek, 31
in, in(n), 14
index (szmelmleti), 63
ind
g
(a), 63
integritsi tartomny, 49, 110
inverz
multiplikatv, 53
inverz, multiplikatv , 50
irreducibilis
elem, 109
irreducibilis szm, 18
ismeretlen termszetes szm, 6
Jacobi -szimblum, 67
Jacobi, Carl Gustav Jakob, 67
Jrai Antal, 15, 31
Jeans, J. H., 58
k-bites szm, 14
kanonikus alak/felbonts, 19
Karacuba, 16
Karcsonyi Ttel, 30
Kayal, 23
k
b
, k
d
, 14
Kinai3d.exe, 73
Knai Maradkttel, 71
kis ord, 9
Kiss Elemr, 82
Kiterjesztett Euklideszi Algoritmus, 39
KMT, 71
Knuth, Donald, 6
kommutativits, 25
komplementer, 107
kongruencia
algebrai, 46
els ofok , 52
geometriai, 46
kvadratikus , 65
lineris , 52
magasabbrend u, 65
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
TRGYMUTAT 123
ngyzetes , 65
szmelmleti, 46
kongruens
modulo m, 45
konjukci, 107
kzelt o algoritmus, 8
kzs oszt, 23
legnagyobb, 23
kzs tbbszrs, 24
legkisebb, 24
kvadratikus kongruencia, 65
kvadratikus maradk, 65
kvadratikus reciprocits, 68
L - egsz, 108
Lagrange
- Ttel, 57
Lagrange, Joseph Louis, 58
Lam ttele, 36
Lam, Gabriel, 36
lcm, 24
Legendre, Adrien Marie, 67
LegendreKraitchik algoritmus, 81
Legendre-szimblum, 67
legkisebb kzs tbbszrs, 24
legnagyobb kzs oszt, 23
Lehmer, Derrick Henry, 91
lineris kongruencia, 52
little oh, 9
lkkt, 24
lnko, 23
logaritmikus
skla/beoszts/koordintarendszer, 11
logaritmus, diszkrt, 63
log
g
(a), 63
logikai szita, 55
Lucas, Edouard F., 91
LucasLehmer Ttel, 91
magasabbrend u kongruencia, 65
maradk
legkisebb abszolt rtk u, 46
nemnegatv, 46
maradkos oszts, 111
Maradkos oszts ttele, 32
maradkrendszer
reduklt, 52
teljes, 49
MerkleHellman titkosrs, 100
Mersenne
- prm, 90
- szm, 90
Mersenne, Marin, 90
MillerRabin teszt, 85
modulris aritmetika, 48
modulo m
kongruencia, 45
modulus, 45
molekula, 19
Monte Carlo mdszer, 86
multihalmaz, 6, 19
multiplikatv fggvny, 56
gyengn, 56
multiplikatv inverz, 50, 53
n , 14
nagy ord, 9
Nagy Prmszmttel, 29
ngyzetes kongruencia, 65
ngyzetes maradk, 65
ngyzetes megfordts, 68
ngyzetmentes szm, 20
nemdeterminisztikus algoritmus, 8
Newton mdszere, 17
Newton-iterci, 17
Non-Polynomial Complete problems, 13
norma, 111
NP (Nonpolynomial)
-teljes problma, 13
nullelem, 107
nulloszt, 51
nullosztmentes gy ur u, 51
nulloszts gy ur u, 51
o(a), 62
o(g), 9
oh
big, 9
little, 9
ord
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu
124 TRGYMUTAT
kis, 9
nagy, 9
osztlyozs
durvbb, 46
nomabb, 46
oszthat
gy ur uben, 109
oszthatsgi szablyok, 47
oszt
gy ur uben, 109
sszegkplet, 19
P, 6
P, 18
p (n), 6, 19
p

| n, 20
prhuzamos algoritmus, 76
parits, 81
(x), 28
Pitagorasz, 30
Pitagoraszi szmhrmasok, 30
Pithagorean triplets, 30
p
n
, 28
polinom
fokszma, 108
Poliosz5.exe, 73, 112
Pollard, J. M., 86
Pomerance, 83
pontosan oszt, 20
Poussin, Charles Jean de la Valle, 29
prm
elem, 109
prm-rekordok, 91
Prim1d.exe, 5, 22
prime to, 26
primitv egysggyk, 62
primitv gyk, 62
prmkplet, 82
prmszm, 18
prmtnyez os alak/felbonts, 19
prmtulajdonsg, 19
prmtulajdonsg
elem, 109
problma
bonyolultsga, 8
els ofok, 10
exponencilis, 10
hiperexponencilis, 10
konstans, 10
kvadratikus, 10
lineris, 10
logaritmikus, 10
ngyzetes, 10
polinomilis, 10
szemilineris, 10
NP-teljes, 13
pszeudoprm, 82, 83
Q.E.D., 50
< r
i
>, 34
R[x], 108
R[x], 33
reducibilis
elem, 109
reduklt maradkrendszer, 52
relci
durvbb, 46
ekvivalencia, 47
nomabb, 46
relatv prmek, 26, 27
pronknt, 27
rend, elem -je, 62
Rivest, 93, 97
RSA(RivestShamirAdleman) algoritmus, 93
Saxena, 23
Schnhage, 16
Shamir, 93, 97, 102, 103
Stirling
- formula, 12
Stirling, James, 12
Strassen, 16
Szmelmlet Alapttele, 19
szmelmleti fggvny, 56
gyengn multiplikatv, 56
multiplikatv, 56
szmelmleti kongruencia, 46
szimmetrikus relci, 27
c _www.tankonyvtar.hu c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem
TRGYMUTAT 125
szimultn kongruenciarendszer, 71
sznkevers, 107
Tao, T., 31
trstott elemek, 109
teljes maradkrendszer, 49
test, algebrai, 51
titkosrs
MerkleHellman, 100
RSA, 93
totient function, 55
trzsszm, 18
trzstnyez os alak/felbonts, 19
trinom egyenlet, 82
valszn usgi algoritmus, 8
vges test, 63
vgtelen leszlls elve, 35
vgtelenszer nagyobb fggvny, 12
Wiles, Andrew, 30
Wilson, John, 59
ttele, 59
(Z/
nZ
)

, 52
(Z/n Z)

, 52
Z/
nZ
, 49
Z[

2], 108
Z[], 108
Z[i

5], 108
Z[i], 108
Z[i], 33
Z[], 108
Z[], 33
Z[x], 108
zero knowledge proof, 103
zrusoszt, 51
Z
n
, 49
Z

n
, 52
(Z

n
, ), 52
(Z
n
, +), 49
(Z
n
, +, ), 49
(Z
n
, ), 49
c _Szalkai Istvn, Dsa Gyrgy, Pannon Egyetem c _www.tankonyvtar.hu

Anda mungkin juga menyukai