ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15
Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych 17 5 Maªe Twierdzenie Fermata 20 6 Twierdzenie Eulera 23 7 Twierdzenie Lagrange'a 27 8 Chi«skie Twierdzenie o Resztach 30 9 RSA i gra w orªa i reszk przez telefon 36 10 Kongruencje wy»szych stopni 40 11 Liczby pseudopierwsze 46 12 Pierwiastki pierwotne 51 13 Istnienie pierwiastków pierwotnych 55 14 Logarytm dyskretny 60 15 Pewne zastosowania pierwiastków pierwotnych 63 2
Wykªad 2 Systemy pozycyjne Warsztatem pracy dla arytmetyka jest zbiór liczb caªkowitych. Liczby caªkowite mo»emy przedstawia w rozmaity sposób, ale najlepszym zdecydowanie sposobem jest zapis pozycyjny. Przypomnijmy,»e stosowany powszechnie system zapisu liczb nazywamy systemem pozycyjnym, poniewa» znaczenie cyfry zale»y od pozycji, na której si owa cyfra znajduje. Poza tym nasz system liczenia nazywamy dziesi tnym, poniewa» mamy dokªadnie 10 cyfr. Liczba cyfr w systemie pozycyjnym zale»y od podstawy. Dokªadnie, dowoln liczb caªkowit nieujemn n zapisujemy przy podstawie b 2 w postaci (d k 1 d k 2... d 1 d 0 ) b, (2.1) gdzie d k 1, d k 2,..., d 1, d 0 s liczbami caªkowitymi (dziesi tnymi) nieujemnymi oraz niewi kszymi od b 1. Liczby te nazywamy cyframi. Zapis (2.1) oznacza,»e n = d k 1 b k 1 + + d 1 b + d 0. (2.2) Je»eli n jest liczb ujemn to wyra»enie po prawej stronie równo±ci (2.2) zacz liby±my od znaku. Je»eli d k 1 nie jest zerem, to mówimy,»e n jest liczb k-cyfrow w systemie pozycyjnym o podstawie b. Je»eli b = 10 to nawiasy w (2.1) opuszczamy, gdy» wtedy mamy do czynienia ze zwykªym dziesi tnym systemem pozycyjnym. Podobnie opu±cimy nawiasy gdy wybór podstawy jasno wynika z kontekstu. Zapis (2.2) nazywamy rozwini ciem liczby n przy podstawie b. Je»eli b > 10, to pisownia niektórych cyfr jest uci»liwa (wymaga dodatkowych nawiasów) lub niejasna ((101) b mo»na rozumie na dwa sposoby). Dlatego dla oznaczenia cyfr 10, 11, 12,... u»ywamy liter: A, B, C,... Oczywi±cie, mo»na u»ywa liter lub innych znaków dla oznaczenia wszystkich cyfr. 8
Na przykªad, podstawa 26 (liczba liter w alfabecie ªaci«skim) jest u»ywana w kryptograi i cyframi s po prostu litery alfabetu. Przypiszmy ka»dej literze alfabetu liczb, która jest jej pozycj w alfabecie. Otrzymujemy: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Wówczas przeksztaªcenie f(n) = n + k mod BA l jest szyfrowaniem tekstu. Tutaj n oraz k s liczbami caªkowitymi zapisanymi w systemie o podstawie 26, a l > 0. Kiedy l = 1, to nasz szyfr nazywamy cyklicznym lub Cezara. Dla przykªadu, zaszyfrujmy sªowo ARYTMETYKA za pomoc klucza J. Mamy A + J = J, E + J = N, K + J = T, M + J = V, R + J = BA, BA mod BA = A, T + J = BC, BC mod BA = C, Y + J = BH, BH mod BA = H. Zatem szyfrem sªowa ARYTMETYKA jest JAHCVNCHTJ. Wykorzystuj c twierdzenie o podzielno±ci, poka»emy»e istnieje dokªadnie jedno rozwini cie liczby caªkowitej nieujemnej w systemie pozycyjnym o podstawie b 2. Istotnie, je±li dana jest liczba n 0, to istnieje dokªadnie jedna reszta d 0 z dzielenia n przez b, wi c n = bq 0 + d 0, gdzie 0 d 0 b 1. Dalej mamy istnienie dokªadnie jednej liczby 0 d 1 b 1, takiej»e q 0 = bq 1 + d 1, lub»e n = b 2 q 1 + bd 1 + d 0. Post puj c tak dalej otrzymamy jednoznacznie okre±lone liczby d 0, d 1,..., d k 1, dla których zachodzi równo± (2.2). Podobnie, a w zasadzie identycznie pokazujemy,»e rozwini cie liczby caªkowitej ujemnej w systemie o podstawie b te» jest jednoznaczne. Podane powy»ej rozumowanie jest te» algorytmem na zmian podstawy systemu na b. Aby przej± do podstawy 10, wystarczy jedynie obliczy warto± wyra»enia po prawej stronie (2.2). Zatem sprawa si tu znacznie upraszcza. Zademonstrujemy na przykªadzie, jak przej± z zapisu w systemie o podstawie 10 do zapisu w systemie o podstawie 3. 2.1 Przykªad. Zapiszemy liczb 346 w systemie trójkowym, czyli przy podstawie 3. Dzielimy 346 na 3 otrzymuj c 115, reszta 1. Zatem 346 = 115 3+1. Teraz dzielimy 115 na 3 otrzymuj c 38, reszta 1. St d 346 = 38 3 2 +1 3+1. Kontynuuj c ten proces otrzymamy 346 = 3 5 + 3 4 + 2 3 2 + 3 1 + 1, 9
czyli 346 = (110211) 3. Je»eli przechodzimy od podstawy b 1 10 do podstawy b 2 10, to mo»na tu przechodzi po±rednio przez podstaw 10. Czasem jednak bardziej efektywne jest zapisanie b 1 i cyfr w systemie o podstawie b 2 oraz odpowiednie pogrupowanie. Je»eli dodatkowo b 1 jest pot g b 2, to sposób ten jest bardzo szybki. Przykªady 2.2. Zapiszemy (548) 16 w systemie dwójkowym. Poniewa» 16 = 2 4, 5 = 1 2 2 + 1, 4 = 1 2 2 oraz 8 = 1 2 3, mamy (548) 16 = 5 16 2 + 4 16 + 8 = 1 2 10 + 1 2 8 + 1 2 6 + 1 2 3 = (10101001000) 2. 2.3. Zapiszemy n = (212021) 3 w systemie o podstawie 9. Grupujemy cyfry po 2 (bo 9 = 3 2 ) zaczynaj c od prawej strony: 21, 20, 21. (Je±li,,nie starcza cyfr na ostatni grup, dodajemy z przodu odpowiedni liczb zer. Poniewa» (21) 3 = 2 3 + 1 = 7, a (20) 3 = 2 3 = 6, wi c n = (767) 9. Zajmiemy si teraz uogólnieniem pewnych cech podzielno±ci jakie maj liczby w systemie o podstawie 10. Zauwa»my,»e liczba n (w systemie dziesi tnym) dzieli si przez 2, je»eli jej ostatnia cyfra dzieli si przez 2, dzieli si przez 4, je»eli liczba zªo»ona z dwóch ostatnich cyfr n dzieli si przez 4, ogólnie, liczba n dzieli si przez 2 s, je»eli liczba zªo»ona z s ostatnich cyfr liczby n dzieli si przez n. Podobne reguªy obowi zuj przy dzieleniu przez pot gi liczby 5, a zachodz one dlatego,»e zarówno 2 jak i 5 s dzielnikami podstawy systemu, czyli 10. Udowodnimy twierdzenie, które uogólnia powy»sze fakty. 2.4 Twierdzenie. Przypu± my,»e d b. Wówczas liczba n zapisana w systemie pozycyjnym o podstawie b dzieli si przez d s (s 1) wtedy i tylko wtedy, gdy liczba zªo»ona z s ostatnich cyfr liczby n dzieli si przez d s. Dowód. Przypu± my,»e n jest zapisana w systemie o podstawie b oraz d s n. Zapiszmy (2.2) w troch inny sposób, mianowicie n = n s b s + d s 1 b s 1 + + d 1 b + d }{{} 0, n 0 10
gdzie n 0 jest liczb zªo»on z s ostatnich cyfr n a n s liczb zªo»on z pozostaªych cyfr n (je±li n ma mniej ni» s cyfr, to n s = 0). Poniewa» b s n n s b s, wi c n n s b s (mod d s ), sk d d s n 0.. Korzystaj c z oznacze«wprowadzonych w pierwszej cz ±ci dowodu za- ªó»my»e d s n 0. Poniewa» d s b s, wi c d s n. Rozwa»ymy jeszcze cech podzielno±ci przez odpowiedniki liczb 3 i 9 w systemie o podstawie b. 2.5 Twierdzenie. Zaªó»my,»e d b 1. Liczba d dzieli liczb n zapisan w systemie o podstawie b wtedy i tylko wtedy, gdy d dzieli sum cyfr liczby n. Dowód. Skorzystamy z kongruencji b 1 (mod d) danej w zaªo»eniu oraz z wielomianu f(x) = d k 1 x k 1 + d k 2 x k 2 + + d 1 x + d 0, gdzie d 0, d 1,..., d k 1 s cyframi liczby n w systemie o podstawie b. Wówczas n = f(b), a f(1) jest sum cyfr liczby n. Z twierdzenia 1.7 mamy f(b) f(1) (mod d), zatem d f(b) wtedy i tylko wtedy, gdy d f(1). Dziaªania arytmetyczne na liczbach w systemie o podstawie b wykonujemy bez anga»owania w to podstawy 10. Dodawanie, odejmowanie i mno»enie pisemne przeprowadzamy tak jak dotychczas, przy czym przy,,po»yczaniu bierzemy nie 10 lecz b. Tak»e uªamki mo»na rozwija przy dowolnej podstawie. Maj one (sko«- czon lub niesko«czon posta (d k 1 d k 2... d 1 d 0, d 1 d 2... ) b. Warto tu zauwa»y,»e przy zmianie podstawy, mog te» zmieni si uªamki okresowe. Na przykªad 0, 33333 = (0, 1) 3, a 0, 5 = (0, 11111... ) 3. 11