2. Systemy pozycyjne
Transkrypt
2. Systemy pozycyjne
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 (dk−1 dk−2 . . . d1 d0 )b , gdzie dk−1 , dk−2 , . . . , d1 , d0 nymi oraz niewi¦kszymi od (2.1) s¡ liczbami caªkowitymi (dziesi¦tnymi) nieujem- b − 1. Liczby te nazywamy cyframi. Zapis (2.1) oznacza, »e n = dk−1 bk−1 + · · · + d1 b + d0 . Je»eli n jest liczb¡ ujemn¡ to wyra»enie po prawej stronie równo±ci (2.2) zacz¦liby±my od znaku liczb¡ (2.2) k -cyfrow¡ −. Je»eli dk−1 n jest b = 10 to nie jest zerem, to mówimy, »e w systemie pozycyjnym o podstawie b. Je»eli 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. liczby n przy podstawie Je»eli b > 10, Zapis (2.2) nazywamy rozwini¦ciem b. to pisownia niektórych cyfr jest uci¡»liwa (wymaga do- datkowych 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 , . . . Oczy- wi±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 stu. Tutaj n stawie 26, a lub f (n) = n + k mod BAl jest szyfrowaniem tek- k s¡ liczbami caªkowitymi zapisanymi w systemie o podl > 0. Kiedy l = 1, to nasz szyfr nazywamy cyklicznym oraz 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 b ≥ 2. Istotnie, je±li dana jest liczba n ≥ 0, to istnieje dokªadnie jedna reszta d0 z dzielenia n przez b, wi¦c n = bq0 + d0 , gdzie 0 ≤ d0 ≤ b − 1. Dalej mamy istnienie dokªadnie jednej liczby 0 ≤ d1 ≤ b − 1, takiej »e q0 = bq1 + d1 , lub »e n = b2 q1 + bd1 + d0 . Post¦puj¡c tak dalej otrzymamy jednoznacznie okre±lone liczby d0 , d1 , . . . , dk−1 , dla których zachodzi równo±¢ podstawie (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 pod- 346 = 115·3+1. 2 St¡d 346 = 38 · 3 + 1 · 3 + 1. stawie 3. Dzielimy 346 na 3 otrzymuj¡c 115, reszta 1. Zatem Teraz dzielimy 115 na 3 otrzymuj¡c 38, reszta 1. Kontynuuj¡c ten proces otrzymamy 346 = 35 + 34 + 2 · 32 + 31 + 1, 9 czyli 346 = (110211)3 . Je»eli przechodzimy od podstawy b1 6= 10 do podstawy b2 6= 10, to mo»na tu przechodzi¢ po±rednio przez podstaw¦ 10. Czasem jednak bardziej efek- b1 tywne jest zapisanie i cyfr w systemie o podstawie pogrupowanie. Je»eli dodatkowo b1 jest pot¦g¡ b2 , b2 oraz odpowiednie to sposób ten jest bardzo szybki. Przykªady 2.2. (548)16 w systemie dwójkowym. 2 1 · 2 + 1, 4 = 1 · 22 oraz 8 = 1 · 23 , mamy Zapiszemy Poniewa» 16 = 24 , 5 = (548)16 = 5 · 162 + 4 · 16 + 8 = 1 · 210 + 1 · 28 + 1 · 26 + 1 · 23 = (10101001000)2 . 2.3. Zapiszemy n = (212021)3 w systemie o podstawie 9. Grupujemy cyfry 2 po 2 (bo 9 = 3 ) 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¦t- nym) • • 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 cyfr liczby n n dzieli si¦ przez dzieli si¦ przez 2s , je»eli liczba zªo»ona z s ostatnich 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 sysb dzieli si¦ przez ds (s ≥ 1) wtedy i tylko wtedy, s ostatnich cyfr liczby n dzieli si¦ przez ds . temie pozycyjnym o podstawie gdy liczba zªo»ona z Dowód ⇒. ds | n. Zapiszmy (2.2) w troch¦ inny sposób, mianowicie Przypu±¢my, »e n jest zapisana w systemie o podstawie n = ns bs + ds−1 bs−1 + · · · + d1 b + d0 , {z } | n0 10 b oraz n a ns liczb¡ zªo»on¡ z pos s zostaªych cyfr n (je±li n ma mniej ni» s cyfr, to ns = 0). Poniewa» b | n−ns b , s s s wi¦c n ≡ ns b (mod d ), sk¡d d | n0 . ⇐. Korzystaj¡c z oznacze« wprowadzonych w pierwszej cz¦±ci dowodu zas s s s ªó»my »e d | n0 . Poniewa» d | b , wi¦c d |n. gdzie n0 jest liczb¡ zªo»on¡ z s ostatnich cyfr Rozwa»ymy jeszcze cech¦ podzielno±ci przez odpowiedniki liczb 3 i 9 w systemie o podstawie 2.5 Twierdzenie. b. Zaªó»my, »e w systemie o podstawie b d | b − 1. Liczba wtedy i tylko wtedy, gdy d d dzieli liczb¦ n zapisan¡ dzieli sum¦ cyfr liczby n. Dowód. Skorzystamy z kongruencji b ≡ 1 (mod d) danej w zaªo»eniu oraz z f (x) = dk−1 xk−1 + dk−2 xk−2 + · · · + d1 x + d0 , gdzie d0 , d1 , . . . , dk−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). wielomianu Dziaªania arytmetyczne na liczbach w systemie o podstawie bez anga»owania w to podstawy 10. b wykonujemy 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¢ (dk−1 dk−2 . . . d1 d0 , d−1 d−2 . . . )b . Warto tu za- uwa»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