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

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

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

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

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

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

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

Kongruenciák. Waldhauser Tamás

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

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

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

Számelméleti alapfogalmak

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

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

Diszkrét matematika I.

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

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

2017, Diszkrét matematika

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

Bevezetés az algebrába 1

Oszthatósági problémák

2016, Diszkrét matematika

illetve a n 3 illetve a 2n 5

Szakács Lili Kata megoldása

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

Diszkrét matematika I.

Waldhauser Tamás december 1.

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

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

Matematika 7. osztály

SZÁMELMÉLETI FELADATOK

SzA XIII. gyakorlat, december. 3/5.

Számelmélet Megoldások

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

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

Data Security: Public key

Algoritmuselmélet gyakorlat (MMN111G)

Megoldások 9. osztály

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

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

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

Sapientia Egyetem, Matematika-Informatika Tanszék.

2018, Diszkre t matematika. 8. elo ada s

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

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

Diszkrét matematika I.

2018, Diszkre t matematika. 10. elo ada s

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

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

Diszkrét matematika I.

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

SE EKK EIFTI Matematikai analízis

2016, Diszkrét matematika

KÉSZÍTSÜNK ÁBRÁT évfolyam

5. Előadás. (5. előadás) Mátrixegyenlet, Mátrix inverze március 6. 1 / 39

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

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

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

Egészrészes feladatok

KOVÁCS BÉLA, MATEMATIKA I.

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

Arany Dániel Matematikai Tanulóverseny 2012/2013-as tanév 2. forduló haladók II. kategória

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

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

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

Intergrált Intenzív Matematika Érettségi

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

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Exponenciális és Logaritmikus kifejezések

1. A maradékos osztás

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

GAUSS-EGÉSZEK ÉS DIRICHLET TÉTELE

4. Számelmélet, számrendszerek

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

I. Egyenlet fogalma, algebrai megoldása

HALMAZOK TULAJDONSÁGAI,

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Exponenciális és Logaritmikus kifejezések

Egyenletek, egyenlőtlenségek X.

Matematika 8. osztály

1. melléklet: A tanárokkal készített interjúk főbb kérdései

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

Polinomok (előadásvázlat, október 21.) Maróti Miklós

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

Matematikai alapismeretek. Huszti Andrea

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

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

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

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

Analízis elo adások. Vajda István szeptember 10. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Más szavakkal formálisan:, ahol olyan egész szám, hogy. Más szavakkal formálisan:, ahol olyan egész szám, hogy.

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

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

Typotex Kiadó. Bevezetés

Számelmélet. Oszthatóság

Gyors fejszámolási tippek, trükkök és ötletek (II. rész)

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

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

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

Oszthatósági alapfogalmak, oszthatósági szabályok

Mintafeladat az RSA algoritmus szemléltetésére

Elemi matematika szakkör

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

Átírás:

1. Számelmélet Definíció: Az a egész szám osztója a egész számnak, ha létezik olyan c egész szám, melyre = ac. Ezt a következőképpen jelöljük: a Tulajdonságok: Minden egész szám osztója önmagának, azaz a a minden egész a-ra. A 0-nak minden egész szám az osztója (még a 0 is!!!) Ha a és a, akkor a = vagy a =. ha a és c, akkor a c ha a és a c, akkor tetszőleges x és y egész számokra a x + yc. Definíció: A p > 1 egész számot prímszámnak nevezzük, ha pontosan kettő dara pozitív osztója van; az 1 és önmaga. Ha egy pozitív számnak kettőnél tö pozitív osztója van, akkor azt összetett számnak nevezzük. Tétel: A prímszámok halmaza végtelen. Számelmélet alaptétele: Minden 1-nél nagyo pozitív egész a sorrendtől eltekintve egyértelműen írható fel prímszámok pozitív egész kitevős hatványaként. Ez az adott szám prímtényezős felontása. Például 120 = 2 3 3 5. Definíció: Az a és számok legnagyo közös osztójának nevezzük a legnagyo olyan d számot, melyre d a és d. A legnagyo közös osztót lnko(a, )-vel jelüljük. Például lnko(33, 21) = 3, lnko(40, 0) = 40. Hogyan lehetne kiszámítani két szám legnagyo közös osztóját algoritmikusan? Mivel egy szám prímtényezős felontását megtalálni általáan nehéz (az RSA kódolás is ezen alapszik!), így a legnagyo közös osztó kiszámítására a középiskoláan tanult- prímtényezős felontáson alapuló- módszer nem ad hatékony algoritmust. Maradékos osztás tétele: Tetszőleges a és 0 számokhoz egyértelműen léteznek olyan p és q számok, melyekre a = p +q, ahol 0 q <. Ilyenkor azt mondjuk, hogy megvan a-an p-szer és marad q. 1

Például 30 = 7 4 + 2, azaz 30-an a 4 megvan 7-szer és marad a 2. Tétel: Legyenek a és pozitív számok. Osszuk el a-t -vel maradékosan, azaz legyen a = p + q, ahol 0 q <. Ekkor lnko(a, ) = lnko(, q). A tétel segítségével két számolhatjuk két szém legnagyo közös osztóját: Euklideszi-algoritmus: legyen a > 0 és 0 1. Ha = 0, akkor lnko(a, ) = a; 2. Ha 0 akkor osszuk el a-t maradékosan -vel: a = p + q, ahol 0 q <. a helyée írjuk e -t, helyée pedig q-t; ezzel az új (a, ) párral ugorjunk az 1. pontra! Pl. lnko(20, 6) = lnko(6, 2) = lnko(2, 0) = 2. Tétel: Legyenek a és pozitív számok. Osszuk el a-t -vel maradékosan, azaz legyen a = p + q, ahol 0 q <. Tegyük fel, hogy valamely x és y egész számokra lnko(a, ) = x + y q. Legyen x = y és y = x p y. Ekkor lnko(a, ) = x a + y. A tétel segítségével nem csak ki tudjuk számítani két pozitív egész legnagyo közös osztóját, hanem megadhatunk olyan x, y egészeket is, melyre lnko(a, ) = x a+y. Ez a módosított Euklideszi-algoritmus, melynek működését egy példán keresztül mutatjuk e. Példa: Adjunk meg olyan x, y egészeket, melyekre 62x+14y = lnko(62; 14). A módosított Euklideszi-algoritmus: a a lnko(a,) x y 62 14 4 2-2 9 14 6 2 2 1-2 6 2 3 2 0 1 2 0 2 1 0 Az algoritmus először a sima Euklideszi-algoritmussal kiszámítja a és legnagyo közös osztóját. A harmadik oszlopan lévő szám azt mondja meg, hogy hányszor van meg a-an. Amikor = 0, akkor lnko(a, ) = a. Mivel a és legnagyo közös osztója minden soran ugyanannyi, ezért a 4. oszlopan végig ugyanaz a szám fog szerepelni. 2

Ezt követően nézzük a tálázat utolsó(!) sorát. Olyan x-t és y-t szeretnénk találni, melyre lnko(a, ) = xa + y, azaz 2 = 2 x + 0 y. Mivel az utolsó soran a értéke mindig(!) 0, ezért az x = 1 és y = 0 választás mindig megfelelő lesz. Ezután az előző tétel szerint alulról felfelé haladva, minden soran kiszámíthatjuk az x és y értékét az alái módon: ha egy soran, mondjuk az i. soran már ismerjük az x, illetve y értékét, akkor az eggyel felette lévő soran, azaz az (i 1). soran legyen x = y és y = x p y, ahol p az (i 1). soran lévő a értékkel egyezik meg. Ezt felhasználva a tálázat 4. soráan lévő x és y értékekre azt kapjuk, hogy x = 0, illetve y = 1 3 0 = 1. (Leellenőrizhetjük, hogy az így kapott x és y értékekkel een a soran is fennáll az lnko(a, ) = xa + y összefüggés: 2 = 6 0 + 2 1 valóan igaz.) Ezt követően határozzuk meg a harmadik soran lévő x és y értékeket: x = 1, illetve y = 0 2 1 = 2. (Ekkor een a soran is teljesül, hogy lnko(a, ) = xa + y, hiszen 2 = 14 1 + 6 ( 2).) Végezetül határozzuk meg a 2. soran x és y értékét: x = 2, illetve y = 1 4 ( 2) = 9. Az algoritmus ezzel véget ért. Az algoritmus tehát kiszámította, hogy a 62- nek és 14-nek a legnagyo közös osztója a 2, másrészt a legnagyo közös osztót, azaz a 2-őt előállította 2 = 62 ( 2) + 14 9 alakan. Tekintsük most a 12x + 21y = 100 egyenletet, és keressük ennek olyan megoldását melyen x és y is egész. Vegyük észre, hogy lnko(12; 21) = 3 ezért ármennyi is az x, illetve y értéke, az egyenlet al oldala osztható lesz 3- mal. A jo oldal viszont nem osztható 3-mal, így az egyenletnek nem létezik megoldása az egész számok köréen. Próáljuk most a 12x+21y = 90 egyenlet egy egész megoldását megkeresni. A módosított Euklideszi algoritmussal elő tudunk állítani olyan x 0 és y 0 egész számokat, melyekre 12x 0 + 21y 0 = lnko(12; 21) = 3. Mivel most az lnko(12; 21) = 3 osztója a jo oldalnak, azaz a 90-nek, ezért az előző egyenlet mindkét oldalát 90/3 = 30 -cal szorozva azt kapjuk, hogy 12 (30x 0 ) + 21 (30y 0 ) = 90, azaz az x = 30x 0 és y = 30y 0 megoldása lesz az eredeti feladatnak. A megoldás során használt észrevételeinket általánosan is megfogalmazhatjuk. Tétel: Legyenek a, pozitív egészek c pedig egész szám. Az ax + y = c egyenletnek akkor és csak akkor létezik egész x, y megoldása, ha lnko(a, ) c. Példa. a, Oldjuk meg az egészek köréen a 121x + 33y = 77 egyenletet! Alkalmazzuk a módosított Euklideszi-algoritmust a (121,33) párra. 3

a a lnko(a,) x y 121 33 3 11-1 4 33 22 1 11 1-1 22 11 2 11 0 1 11 0 11 1 0 Azt kaptuk tehát, hogy lnko(121; 33) = 11. Mivel 11 77, ezért az egyenletnek van megoldása. Másrészt a módosított Euklideszi-algoritmus azt adta, hogy lnko(121; 33) = 11 = 121 ( 1) + 33 4, amiől (mindkét oldalt 7- tel szorozva) azt kapjuk, hogy 77 = 121 ( 7) + 33 28. Ezek alapján a 121x + 33y = 77 egyenlet egy egész megoldása az x = 7, y = 28., Oldjuk meg az egészek köréen a 165x + 45y = 400 egyenletet! Futtassuk a módosított Euklideszi-algoritmust a (165;45) párra! a a lnko(a,) 165 45 4 15 45 30 1 15 30 15 2 15 15 0 15 Az algoritmus futása során azt kapjuk, hogy lnko(165; 45) = 15. Azonan a 15 nem osztója a 400-nak, ezért az egyenletnek nincs megoldása, így a módosított Euklideszi-algoritmust nem is kell tová folytatni. 1.1. Kongruenciák Definíció. Legyenek a és egész számok, m pedig egy nem nulla egész szám. Azt mondjuk, hogy a és kongruensek modulo m, ha m a. Jelölése: a mod (m). Példa. A definíció szerint például 11 31 mod (5), hiszen az 5 osztója a 11 31 = 20-nak. Egyszerűen meggondolható, hogy a és pontosan akkor lesz kongruens modulo m, ha a és ugyanolyan maradékot adnak m-mel osztva. 4

Tétel. 1. a a mod (m) minden egész a és nem nulla m egész számra. 2. Ha a mod (m), akkor a mod (m) 3. Ha a mod (m) és c mod (m), akkor a c mod (m) 4. Ha a mod (m) és c d mod (m), akkor a + c + d mod (m) 5. Ha a mod (m) és c d mod (m), akkor a c d mod (m) 6. Ha a mod (m), akkor minden pozitív egész n-re a n n mod (m). Gyakorlásképpen most eizonyítjuk a Tétel 4. pontját (a töi állítás hasonlóan látható e). Azt szeretnénk tehát elátni, hogy ha a mod (m) és c d mod (m), akkor a + c + d mod (m). Tegyük fel tehát, hogy a mod (m) és c d mod (m); ez a definíció alapján azt jelenti, hogy m a és m c d. Felhasználva, hogy (a + c) ( + d) = a + c d = (a )+(c d), továá azt, hogy a feltevésünk szerint a oszható m-mel, és d is osztható m -mel, azt kapjuk, hogy (a + c) ( + d) is osztható m-mel. Ez viszont pontosan azt jelenti, hogy a+c +d mod (m), és éppen ezt akartuk izonyítani. Feladat. Adjunk meg olyan x egész számot, melyre 33x 1 mod (211). Megoldás. A definíció szerint olyan x számot keresünk, melyre 211 33x 1. Az oszthatóság definíciója alapján ez azt jelenti, hogy létezik olyan y egész szám, melyre 211y = 33x 1. Az egyenletet átrendezve azt kapjuk, hogy az 1 = 33x 211y diofantikus egyenletet kell megoldanunk, ami az y = y jelöléssel 1 = 33x + 211y alakan írható fel. Futtassuk le a módosított Euklideszi-algoritmust a (33; 211) párra! a a lnko(a,) x y 33 211 0 1 32-5 211 33 6 1-5 32 33 13 2 1 2-5 13 7 1 11-1 2 7 6 1 1 1-1 6 1 6 1 0 1 1 0 1 1 0 5

A módosított Euklideszi-algoritmus tehát azt adta, hogy 1 = lnko(33; 211) = 33 32 + 211 ( 5) amiől x = 32 adódik (y = 5, y = y = 5). Tehát a 33x 1 mod (211) kongruenciának egy megoldása az x = 32. Vegyük észre, hogy ha a 32-höz hozzáadjuk a modulust, azaz a 211-et, akkor szintén egy megoldását kapjuk kongruenciának, hiszen 33 (32 + 211) = 33 32 + 33 211, s mivel az összeg második tagja (33 211)osztható 211-gyel, ezért 33 (32 + 211) ugyanolyan maradékot fog adni 211-gyel osztva, mint 33 32. Teljesen hasonlóan elátható, hogy tetszőleges A egész esetén, az x = 32 + 211 A megoldása lesz a kongruenciának! 1.1.1. Moduláris hatványozás Feladat Adottak az a, és c pozitív egész számok. Számítsuk ki, hogy a-nak a. hatványa milyen maradékot ad c-vel osztva! Természetesen megpróálhatjuk azt, hogy az a számot megszorozzuk önmagával -szer (a = a a... a, ahol dara a szerepel a szorzatan), majd megnézzük, hogy az így kapott szám milyen maradékot ad c-vel osztva. Ezzel az eljárással két proléma is van. Egyrészt, ha a nagy (például tö ezer jegyű), akkor,,rengeteg szorzást kell elvégeznünk, vagyis az eljárás lassú lesz. Másrészt nagy a, illetve esetén az a hatvány eredménye is túl nagy lenne. A titkosításan használt RSA-kód esetén mind a titkosításnál, mind a titkosított üzenet visszafejtésénél ezt a feladatot kell akár tö ezer jegyű a, és c esetén gyorsan megoldanunk, ezért a feladat általános megoldására más, hatékony algoritmust kell keresnünk. Az algoritmus működéset egy kis példán mutatjuk e. Számítsuk ki, hogy milyen maradékot ad 605130-nak a 16. hatványa 2017-tel osztva! Az eljárás ötlete azon a tételen alapszik, hogy ha a mod (m), akkor minden pozitív egész n-re a n n mod (m). Nézzük, hogyan lehetne ezt hasznosítani a feladat megoldásához! Először is nézzük meg, hogy milyen maradékot ad 2017-tel osztva 605130. Azt kapjuk, hogy az osztási mardék 30, azaz 605130 30 mod (2017). Ekkor a tétel szerint 605130 16 30 16 mod (2017), azaz a feladat megoldásához elegendő kiszámítanunk, hogy milyen maradékot ad 2017-tel osztva 30 16. Emeljük először négyzetre a 30-at, és nézzük meg, hogy milyen maradékot 6

ad 2017-tel osztva! 30 2 900 mod (2017) Ezután ismét felhasználva a tételt azt kapjuk, hogy 30 4 = (30 2 ) 2 900 2 1183 mod (2017) Ismét a tételt felhasználva kapjuk, hogy Majd végezetül Így tehát azt kaptuk, hogy 30 8 = (30 4 ) 2 1183 2 1708 mod (2017) 30 16 = (30 8 ) 2 1708 2 682 mod (2017) 605130 16 30 16 682 mod (2017) azaz 605130-nak a 16. hatványa 682 maradékot ad 2017-tel osztva. Az eljárás lényege tehát az, hogy először is megnézzük, hogy az a szám (esetünken a 605130) milyen r maradékot ad c-vel (2017)-tel osztva, és ennek az r maradéknak számítjuk ki a. hatványának az osztási maradékát c-vel osztva. Ezt pedig ismételt négyzetreemeléssel tesszük meg: négyzetre emeljük r-et, és egyől megnézzük, hogy az így kapott szám milyen r 1 maradékot ad c-vel osztva. Ezután négyzetre emeljük r 1 -et, és megnézzük, hogy az így kapott szám milyen r 2 maradékot ad c-vel osztva, majd ezt az eljárást folytatjuk tová. Ezt az eljárást hívják moduláris hatványozásnak. 7