132 75 464KB
Polish Pages 66 Year 2016
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2015/16
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 1 Denicja kongruencji i jej podstawowe wªasno±ci Podstawow¡ ide¡ arytmetyki modularnej jest zredukowanie skomplikowanych oblicze«. Jednym ze sposobów jest zast¡pienie dziaªa« na liczbach przez dziaªania na resztach z dzielenia tych liczb przez inn¡ liczb¦. Na przykªad, aby stwierdzi¢ jaka jest ostatnia cyfra sumy
145328 + 334245
nie trzeba wyko-
nywa¢ caªego dodawania, tylko doda¢ ostatnie cyfry tych liczb, tj. reszty z dzielenia przez 10. Otrzymujemy
8 + 5 = 13, czyli ostatni¡ cyfr¡ naszej sumy
jest 3.
223837653 jest kwadratem innej liczby. Je±li tak, to jej ostatni¡ cyfr¡ jest jedna z ostatnich cyfr liczb 0 · 0 = 0, 1 · 1 = 1, 2 · 2 = 4, 3 · 3 = 9, 4 · 4 = 16, 5 · 5 = 25, 6 · 6 = 36, 7 · 7 = 49, 8 · 8 = 64, 9 · 9 = 81, czyli 0, 1, 4, 5, 6 lub 9 (dodatkowo zauwa»my, »e je±li liczba n jest kwadratem i jej ostatni¡ cyfr¡ jest zero, to liczba zer na ko«cu jest Sprawd¹my teraz, czy liczba
parzysta). Poniewa» cyfry 3 nie ma na powy»szej li±cie, wi¦c 223837653 nie jest kwadratem liczby caªkowitej.
m mod n dla reszty z dzielenia liczby caªkon ró»n¡ od zera. Z dziaªania tego korzystamy
Wprowad¹my teraz oznaczenie witej
m przez
liczb¦ caªkowit¡
cz¦sto w »yciu codziennym: Je±li teraz jest godzina 10.45, to za póª godziny b¦dzie godzina 11 minut
(45 + 30) mod 60,
czyli 15.
Symbol ,, mod oznacza dziaªanie arytmetyczne. tego dziaªania ustalimy liczb¦
m,
Kiedy w nast¦pniku
a za poprzednik b¦dziemy brali kolejne
liczby caªkowite, to zauwa»ymy, »e wynik dziaªania powtarza si¦ co
m
liczb.
Liczby, które daj¡ ten sam wynik, gdy podziaªa si¦ na nie t¡ sam¡ liczb¡ nazywamy przystaj¡cymi modulo
m.
Przypu±¢my, »e
3
m,
a, b, m 6= 0 s¡ liczbami
a przystaje do b modulo m,
caªkowitymi. Mówimy, »e
co zapisujemy
a ≡ b (mod m), m | a − b. Zapis moduªem kongruencji. je±li
1.1 Przykªad.
kongruencj¡.
(1.1) nazywamy
Poniewa»
23 ≡ 14 (mod 3).
9 | 23 − 14,
(1.1)
wi¦c
Liczb¦
m
nazywamy
23 ≡ 14 (mod 9). Mamy te» {. . . , −4, 5, 14, 23, 32, . . . }
Ka»de dwie liczby ze zbioru
przystaj¡ do siebie modulo 9.
a oraz b przystaj¡ do siebie modulo 1 oraz a ≡ b (mod 1) oraz a ≡ b (mod −1). Dlatego nie
Ka»de dwie liczby caªkowite modulo
−1.
Mamy wi¦c
warto rozwa»a¢ kongruencji o module 1. Poniewa»
a ≡ b (mod m)
implikuje
a ≡ b (mod −m),
wi¦c rozwa»amy
tylko dodatnie moduªy. Od tej pory zakªadamy, »e moduª kongruencji jest liczb¡ caªkowit¡ dodatni¡ wi¦ksz¡ od 2. Przypomnimy teraz znany fakt o dzieleniu z reszt¡.
1.2 Twierdzenie. Je±li a, m ∈ Z oraz m 6= 0, to istniej¡ jednoznacznie zdeniowane liczby q ∈ Z oraz r ∈ {0, 1, . . . , m − 1}, takie »e a = q · m + r. Dowód.
Je±li
m = 1,
to
a = a·m+0
a oraz m = −1:
i liczby
jednoznacznie. Podobnie mamy w sytuacji, gdy
0 s¡ wyznaczone
a = (−a)m + 0. Zaªó»my wi¦c, »e rze
R
| m| > 1
i rozwa»my zbiór
R = {a − xm : x ∈ Z}.
istnieje przynajmniej jedna liczba dodatnia.
W zbio-
Aby to zauwa»y¢, wy-
gdy a < 0 oraz m > 0, to za x a − xm ≥ | a|. Niech y b¦dzie najmniejsz¡ liczb¡ nieujemn¡ nale»¡c¡ do R. Wówczas a − xm = y , czyli a = xm + y . Poka»emy, »e y < m. Istotnie, gdyby y byªo wi¦ksze od m − 1, to y − m ≥ 0 oraz y − m = a − (x + 1)m, czyli y − m ∈ R i y − m < y , sk¡d sprzeczno±¢. Zatem pokazali±my istnienie liczb q oraz r . Zaªó»my, »e istniej¡ dwa ró»ne zapisy a = q1 m + r1 oraz a = q2 m + r2 , przy czym r1 , r2 ∈ R. Wówczas (q1 − q2 )m = r2 − r1 . Ale | r2 − r1 | < m oraz m | r2 − r1 , wi¦c r2 − r1 = 0. Dalej, (q1 − q2 )m = 0, wi¦c skoro m 6= 0, tak»e q1 − q2 = 0. starczy rozwa»y¢ kilka przypadków, np. mo»na wzi¡¢ liczb¦
a.
Wtedy
4
Z powy»szego twierdzenia wynika, »e kongruencja (1.1) oznacza, »e oraz
b
daj¡ takie same reszty przy dzieleniu przez
m,
a
czyli
a mod m = b mod m. m - a − b, to fakt ten zapisujemy a 6≡ b (mod m) i mówimy, »e a nie przystaje do b modulo m. Ustalmy teraz liczb¦ m i zdeniujmy na zbiorze Z relacj¦ ρ nast¦puj¡co: Je»eli
aρb ⇐⇒ a ≡ b (mod m)
(1.2)
1.3 Twierdzenie.
Relacja zdeniowana w (1.2) jest relacj¡ równowa»no±ci. Klasy abstrakcji tej relacji tworz¡ zbiór reszt modulo m.
Dowód.
Wystarczy pokaza¢, »e relacja (1.2) jest zwrotna, symetryczna i prze-
chodnia, czyli »e 1.
a ≡ a (mod m);
2. je±li
a ≡ b (mod m),
3. Je±li
a ≡ b (mod m)
to
b ≡ a (mod m);
oraz
b ≡ c (mod m),
to
a ≡ c (mod m).
a − a = 0, zatem m | a − a. Symetryczno±¢, czyli 2, wynika z faktu, »e b − a = −(a − b), wi¦c je±li m | a − b, to m | b − a. Aby pokaza¢ 3, zapiszmy m | a − b oraz m | b − c. St¡d m | (a − b) + (b − c), czyli m | a − c. Aby pokaza¢ 1, zauwa»my, »e
Zbiór ilorazowy relacji (1.2) oznaczamy
Z/mZ
lub
Zm .
Zatem
Z5
skªada
si¦ z nast¦puj¡cych zbiorów:
[0] = {. . . , −10, −5, 0, 5, 10, 15, . . . } , [1] = {. . . , −9, −4, 1, 6, 11, 16, . . . } , [2] = {. . . , −8, −3, 2, 7, 12, 17, . . . } , [3] = {. . . , −7, −2, 3, 8, 13, 18, . . . } , [4] = {. . . , −6, −1, 4, 9, 14, 19, . . . } . Zazwyczaj uto»samiamy elementy
0, 1, 2, 3, 4 z klasami abstrakcji, Z5 = {0, 1, 2, 3, 4}.
które s¡
przez nie reprezentowane. Piszemy wi¦c
Okazuje si¦, »e kongruencjami mo»na manipulowa¢ bez wyra»ania liczb za pomoc¡ reszt i ilorazów cz¦±ciowych. Przy ustalonym module mo»na dodawa¢, odejmowa¢ i mno»y¢ stronami.
5
m, kongruencje
1.4 Twierdzenie.
Dla dowolnych liczb caªkowitych a, b, c, d oraz m 6= 0 je±li a ≡ b (mod m) oraz c ≡ d (mod m), to równie» (a) a + c ≡ b + d (mod m), (b) a − c ≡ b − d (mod m), (c) ac ≡ bd (mod m). Dowód.
m | a − b oraz m | c − d, wi¦c m | a − b + c − d, co dowodzi (a), oraz m | a − b − (c − d), co dowodzi (b). Aby pokaza¢ (c), zapiszmy ms = a − b oraz mr = c − d i rozwa»my ac − bd. Mamy Poniewa»
ac − bd = ac − ad + ad − bd = a(c − d) + d(a − b) = mra + msd = m(ra + sd). St¡d
m | ac − bd,
Poniewa»
czyli teza
(c)
c ≡ c (mod m),
jest prawdziwa.
wi¦c punkt
(c)
powy»szego twierdzenia impli-
kuje nast¦puj¡cy wniosek.
1.5 Wniosek.
Dla dowolnych liczb caªkowitych a, b, c oraz m 6= 0, je»eli a ≡ b (mod m), to ac ≡ bc (mod m). Pot¦gowanie o wykªadniku naturalnym jest wielokrotnym mno»eniem. Dlatego mamy kolejny wniosek.
1.6 Wniosek.
Dla dowolnych liczb caªkowitych a, b, m 6= 0 oraz liczby naturalnej k , je»eli a ≡ b (mod m), to ak ≡ bk (mod m). Twierdzenie 1.4 oraz wnioski po nim implikuj¡ nast¦puj¡ce twierdzenie, które b¦dziemy pó¹niej cz¦sto u»ywa¢.
1.7 Twierdzenie.
Przypu±¢my, »e dany jest wielomian f (x) o wspóªczynnikach w zbiorze liczb caªkowitych. Je±li a ≡ b (mod m) jest prawdziwa, to zachodzi te» kongruencja f (a) ≡ f (b) (mod m).
6
Przykªady 1.8.
Jaka jest ostatnia cyfra liczby
323 ?
Poniewa»
32 ≡ 9 34 ≡ 7 · 3 ≡ 1
3 ≡ 3 (mod 10), 3 3 ≡ 9 · 3 ≡ 7 (mod 10), 35 ≡ 1 · 3 ≡ 3 (mod 10),
(mod 10), (mod 10),
wi¦c cyfry w kolejnych pot¦gach liczby 3 powtarzaj¡ si¦ cyklicznie co cztery. 23 3 Zatem 3 ma ostatni¡ cyfr¦ tak¡ sam¡ jak 3 , czyli 7.
1.9.
232 mod 17. Zauwa»my, »e 24 ≡ −1 (mod 17). Zatem 28 = 2 · 2 ≡ (−1) · (−1) = 1 (mod 17). Podobnie dostajemy 216 ≡ 1 (mod 17) 32 oraz 2 ≡ 1 (mod 17). Zatem 232 mod 17 = 1. 4
Znajdziemy 4
Kongruencji nie mo»na dzieli¢ stronami. Istotnie, zauwa»my »e zachodz¡ kongruencje
48 ≡ 30 (mod 6)
oraz
8 ≡ 2 (mod 6),
7
ale
6 6≡ 15 (mod 6).
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 dodat-
kowych nawiasów) lub niejasna ((101)b mo»na rozumie¢ na dwa sposoby). Dlatego dla oznaczenia cyfr 10, 11, 12,
8
...
u»ywamy liter:
A, B , C , . . .
Oczywi±cie, mo»na u»ywa¢ liter lub innych znaków dla oznaczenia wszystkich cyfr. 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
k l > 0. oraz
f (n) = n + k mod BAl
jest szyfrowaniem tek-
s¡ liczbami caªkowitymi zapisanymi w systemie o podKiedy
Cezara. Dla przykªadu, cza J. Mamy
l = 1,
to nasz szyfr nazywamy
zaszyfrujmy sªowo
ARYTMETYKA
cyklicznym
lub
za pomoc¡ klu-
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 pod-
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 , 2 lub »e n = b q1 + bd1 + d0 . Post¦puj¡c tak dalej otrzymamy jednoznacznie okre±lone liczby d0 , d1 , . . . , dk−1 , dla których zachodzi równo±¢ (2.2). Po-
stawie
dobnie, 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¢ war-
to±¢ 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 dzie-
si¦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 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 systemie pozycyjnym o podstawie b dzieli si¦ przez ds (s ≥ 1) wtedy i tylko wtedy, gdy liczba zªo»ona z s ostatnich cyfr liczby n dzieli si¦ przez ds . Dowód ⇒. Przypu±¢my, ds | n. Zapiszmy (2.2) w
»e
n
jest zapisana w systemie o podstawie
troch¦ inny sposób, mianowicie
n = ns bs + ds−1 bs−1 + · · · + d1 b + d0 , {z } | n0
10
b
oraz
n a ns liczb¡ zªo»on¡ z pozos s staª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
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 f (x) = dk−1 xk−1 + dk−2 xk−2 + · · · + d1 x + d0 , gdzie d0 , d1 , . . . ,
wielomianu
dk−1 f (1)
s¡ cyframi liczby
n
w systemie o podstawie
jest sum¡ cyfr liczby
zatem
d | f (b)
n.
b.
Z twierdzenia 1.7 mamy
wtedy i tylko wtedy, gdy
n = f (b), a f (b) ≡ f (1) (mod d),
Wówczas
d | f (1).
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
Wykªad 3 Elementy odwrotne Jak do tej pory, zauwa»yli±my, »e kongruencje mo»na dodawa¢, odejmowa¢ i mno»y¢ stronami. Zauwa»yli±my te», »e, ogólnie, nie mo»na dzieli¢ kongruencji stronami. Co wi¦cej, nie zachodzi te» prawo skracania: ale
4 ≡ 12 (mod 8),
1 6≡ 3 (mod 8).
3.1 Twierdzenie.
Przypu±¢my, »e c jest dodatni¡ liczb¡ caªkowit¡ oraz ac ≡ bc (mod m) dla pewnych liczb a, b oraz m > 0. Wówczas zachodzi kongrum ). encja a ≡ b (mod NWD(m, c)
Dowód. Oznaczmy d = NWD(m, c) i zapiszmy c = dc0 , m = dm0 . Wówczas 0 0 0 0 NWD(c , m ) = 1. Z drugiej strony, m | c(a − b), czyli dm | dc (a − b), st¡d m0 | c0 (a − b). Poniewa» NWD(c0 , m0 ) = 1, wi¦c m0 | a − b. Skoro jednak m0 = md , wi¦c mamy tez¦. Wracaj¡c do przykªadu poprzedzaj¡cego powy»sze twierdzenie, docelowa kongruencja, to
1 ≡ 3 (mod 2),
poniewa»
8/NWD(4, 8) = 4.
Zauwa»my
jeszcze dwa nast¦puj¡ce fakty. 1. Ka»d¡ kongruencj¦ mo»na skraca¢ przez liczb¦ wzgl¦dnie pierwsz¡ z moduªem, np. wiadomo, »e
48 ≡ 12 (mod 9),
wówczas
12 ≡ 3 (mod 9).
2. Je±li moduª dzieli si¦ przez liczb¦, przez któr¡ chcemy skróci¢ kongruencj¦, to równie» skracamy moduª, np. wiadomo, »e wówczas
48 ≡ 12 (mod 9),
16 ≡ 4 (mod 3).
Cz¦sto si¦ zdarza, »e trzeba ª¡czy¢ kongruencje o ró»nych moduªach. Je±li
a ≡ b (mod m) oraz a ≡ b (mod n), to nie musi koniecznie zachodzi¢ kongruencja a ≡ b (mod mn). Na przykªad, 2 ≡ 10 (mod 8), 2 ≡ 10 (mod 4), ale 2 6≡ 10 (mod 32). Potrzebne jest tu dodatkowe zaªo»enie. 12
3.2 Twierdzenie.
Przypu±¢my, »e
(m, n) = 1. Wówczas
NWD
a ≡ b (mod m) oraz a ≡ b (mod n)
⇔
a ≡ b (mod mn).
Dowód ⇒. Poniewa» m | a − b, wi¦c istnieje taka liczba caªkowita k , »e mk = a − b. Skoro n | mk oraz NWD(m, n) = 1, wi¦c n | k . Zatem istnieje taka liczba k1 , »e nk1 = k . St¡d mnk1 = a − b, czyli a ≡ b (mod mn). ⇐. Skoro a ≡ b (mod mn), wi¦c a ≡ b (mod d) dla dowolnego dzielnika d liczby mn. W szczególno±ci dla m oraz n. Powy»sze twierdzenie pozwala rozbija¢ kongruencje o du»ych zªo»onych moduªach na kongruencje o ni»szych moduªach pierwszych.
Jest to o tyle
istotne, »e ªatwiej jest wydedukowa¢ co± na temat podzielno±ci przez liczb¦ pierwsz¡ ni» przez liczb¦ zªo»on¡.
Na przykªad, aby sprawdzi¢, czy 1729
przystaje do 1 modulo 12, wystarczy sprawdzi¢, czy zachodz¡ kongruencje
1729 ≡ 1 (mod 3)
oraz
1729 ≡ 1 (mod 4).
Jest to ªatwe, poniewa» cechy
podzielno±ci przez 3 i 4 s¡ ªatwe w zastosowaniu. Poniewa» liczba 1728 dzieli si¦ zarówno przez 3 jak i przez 4, wi¦c wspomniane kongruencje zachodz¡. Podobnie jak równania mo»na te» rozwi¡zywa¢ kongruencje. Generalnie,
m
je»eli dany jest moduª
f
oraz funkcja
okre±lona w zbiorze liczb caªkowi-
x, aby speªniona f (x) ≡ 0 (mod m). W tym podrozdziale zajmiemy si¦ kongruencjami liniowymi, czyli takimi, dla których f (x) = ax + b, gdzie a oraz b s¡ liczbami caªkowitymi. Aby upro±ci¢ zapis b¦dziemy dalej pisa¢
tych i o warto±ciach caªkowitych, to pytamy jak znale¹¢ byªa kongruencja
kongruencje liniowe w postaci
ax ≡ b (mod m)
(3.1)
Przypomnijmy, »e w zbiorze liczb rzeczywistych, aby rozwi¡za¢ równanie
ax = b,
mno»ymy obie jego strony przez liczb¦ odwrotn¡ do
istnieje, a nie istnieje tylko dla
a = 0).
w przypadku kongruencji liniowych. odwracalnymi modulo Liczb¦
a
3.3 Przykªad.
m. odwracaln¡ modulo m
Poniewa»
(o ile taka
Dlatego zajmiemy si¦ teraz liczbami
nazywamy
aa0 ≡ 1
a
Podobnie b¦dziemy post¦pujemy
je»eli istnieje taka liczba
(mod m).
2 · 6 ≡ 1 (mod 11),
a0 ,
»e
(3.2)
wi¦c liczby 6 oraz 2 s¡ odwra-
calne modulo 11. Zauwa»my, »e tak»e liczby ró»ni¡ce si¦ od 2 i 6 o wielokrotno±¢ 11 s¡ odwracalne modulo 11. Istotnie, mamy
2 · (6 + 11k) ≡ 2 · 6 ≡ 1 13
(mod 11).
0 Liczba 2 nie jest odwracalna modulo 8, poniewa» je±li 2a ≡ 1 (mod 8), to 0 oznacza to, »e 8 | 2a − 1, czyli 8 dzieli liczb¦ nieparzyst¡, co nie jest prawd¡. Liczby odwracalne modulo
m maj¡ bardzo wygodn¡ charakteryzacj¦ przed-
stawion¡ w twierdzeniu 3.5. Dowód tego twierdzenia dostarcza nam te» me0 tody, jak szuka¢ elementu a . Potrzebny nam jednak b¦dzie lemat.
3.4 Lemat.
Je±li d = NWD(a, b), to istniej¡ liczby caªkowite x oraz y , takie »e ax + by = d. Odwrotnie, dla dowolnych liczb caªkowitych x oraz y ,
(a, b) | ax + by.
NWD
Dowód.
Oznaczmy
S = {am + bn : m, n ∈ Z}.
Zauwa»my, »e w zbiorze
S
s¡
S najmniejsza q . Poka»emy, »e q jest dzielnikiem a. Istotnie, zapiszmy a = eq + t, gdzie 0 ≤ t < q . Poniewa» q = am0 + bn0 dla pewnych m0 , n0 , wi¦c t = (1 − em0 )a + (−n0 )b ∈ S . Zatem t = 0 gdy» w przeciwnym wypadku mieliby±my sprzeczno±¢ z wyborem liczby q . Podobnie pokazujemy, »e t | b. Zauwa»ymy teraz, »e q jest najwi¦kszym wspólnym dzielnikiem liczb a i b. W tym celu przypu±¢my, »e c > 0, c | a oraz c | b. Wówczas c | am + bn dla dowolnych m i n, wi¦c w szczególno±ci, c | q . Zatem c ≤ q . W ostateczno±ci, q = NWD(a, b) i q ∈ S co dowodzi pierwszej cz¦±ci twierdzenia. Z drugiej strony, skoro NWD(a, b) jest dzielnikiem a oraz b, wi¦c jest te» dzielnikiem dowolnego elementu zbioru S . liczby dodatnie. Zatem, zgodnie z zasad¡ minimum, istnieje w liczba dodatnia.
Oznaczmy j¡ przez
3.5 Twierdzenie. Liczba caªkowita a jest odwracalna modulo m wtedy i tylko wtedy, gdy
NWD
(a, m) = 1.
Dowód ⇒.
0 0 Skoro istnieje taka liczba a , »e aa ≡ 1 (mod 0 0 taka liczba caªkowita k , »e aa − 1 = km, albo aa − km =
m) = 1. ⇐. Je±li NWD(a, m) = 1, to istniej¡ ax + my = 1, czyli m | ax − 1. Zatem a
m), to istnieje te» 1. Z poprzedniego
lematu wynika, »e NWD(a,
liczby caªkowite
x
oraz
jest odwracalna modulo
y takie, m.
»e
a0 , nale»y znale¹¢ takie liczby x oraz y , »eby zachodziªa równo±¢ ax + my = 1. Liczby te znajdujemy stosuj¡c algo0 0 rytm Euklidesa. Wówczas a = x. Dla przykªadu, znajd¹my 11 modulo 31. Aby obliczy¢ liczb¦ odwrotn¡ do
W tym celu wykonujemy nast¦puj¡ce obliczenia:
31 = 3 · 11 − 2 11 = 5 · 2 + 1
2 = 3 · 11 − 31 1 = 11 − 5 · 2. 14
1 = 11 − 5 · 2 = 11 − 5 · (3 · 11 − 31) = 5 · 31 − 14 · 11. Zatem 11 = −14 + 31 = 17. Zauwa»my, »e je±li liczba caªkowita a jest odwracalna modulo m, to ist0 nieje niesko«czenie wiele liczb a , które speªniaj¡ kongruencj¦ (3.2). Mówi¡c o
Tak wi¦c 0
elementach odwracalnych, chcieliby±my tak»e zdeniowa¢ element odwrotny 0 do danego. Nale»y wi¦c wyró»ni¢ jeden z elementów a . Poka»emy, »e w zbio0 rze wszystkich elementów a speªniaj¡cych (3.2) zachodzi pewna regularno±¢.
3.6 Twierdzenie.
Je±li aa0 ≡ 1 (mod m), oraz aa00 ≡ 1 (mod m), to liczby a0 i a00 ró»ni¡ si¦ o wielokrotno±¢ m. Dowód. Przypu±¢my, »e a0 − a00 = qm + r dla q ∈ Z oraz 0 ≤ r ≤ m − 1. 0 00 0 00 Mamy aa − aa = aqm + ar , albo aa − aa ≡ ar (mod m). Zatem zachodzi 0 ≡ ar (mod m), czyli m | ar. Skoro jednak NWD(a, m) = 1, wi¦c m | r, a to oznacza, »e r = 0. Z powy»szego twierdzenia wynika, »e je±li liczba
jest odwracalna mo-
a modulo m. Tak wi¦c, je±li a ∈ Z jest odwracalny modulo m, to elementem odwrotnym do a modulo m nazywamy liczb¦ b ∈ {0, 1, . . . , m − 1}, tak¡ »e ab ≡ 1 (mod m). −1 B¦dziemy przy tym pisa¢ b = a mod m. Zdeniujmy dodawanie +m oraz ·m modulo m w nast¦puj¡cy sposób:
dulo
m,
a
to mo»emy mówi¢ o elemencie odwrotnym do
a +m b = a + b mod m, a ·m b = a · b mod m. Z tak zdeniowanymi dziaªaniami dodawania i mno»enia, zbiór
Zm
speªnia
wszystkie aksjomaty ciaªa z wyj¡tkiem szóstego. Aksjomat szósty (istnienie elementu odwrotnego do ka»dego niezerowego elementu ciaªa) jest speªniony tylko dla liczb pierwszych dziaªaniami
+m i ·m
m,
co wynika z twierdzenia 3.5. Zatem zbiór
Zp
z
Ma ona rozwi¡zanie, je±li liczba
a
jest ciaªem.
Wró¢my teraz do kongruencji (3.1). jest odwracalna modulo
m.
Aby znale¹¢ to rozwi¡zanie, nale»y pomno»y¢
obie strony kongruencji (3.1) przez liczb¦ odwrotn¡ do
3.7 Przykªad.
Euklidesa, otrzymujemy modulo 13.
3x ≡ 5 (mod 13). 3 · 9 − 13 · 2 = 1. Zatem 9
Rozwi¡»emy
a.
Wykorzystuj¡c algorytm jest liczb¡ odwrotn¡ do 3
Mno»¡c obie strony naszej kongruencji przez 9 otrzymujemy
x ≡ 9 · 5 ≡ 6 (mod 13).
Zatem 6 (i ka»da liczba, która si¦ ró»ni od 6
o wielokrotno±¢ 13) jest rozwi¡zaniem naszej kongruencji.
15
Je±li nie b¦dzie powiedziane inaczej, to od tej chwili b¦dziemy rozwa»a¢ tylko te rozwi¡zania kongruencji (3.1), które nale»¡ do
Zm = {0, 1, . . . , m − 1}. jest ono jed-
Je±li w tym zbiorze jest tylko jedno rozwi¡zanie, to mówimy, »e
noznaczne lub jednoznaczne modulo m. Je»eli a nie jest odwracalna modulo m,
to rozwi¡zanie te» mo»e istnie¢.
Przedstawimy teraz twierdzenie, które mówi o istnieniu i jednoznaczno±ci rozwi¡za«.
3.8 Twierdzenie.
Kongruencja (3.1) ma dokªadnie d = NWD(a, m) rozwi¡za« je±li d | b oraz nie ma rozwi¡zania je±li d - b. Je»eli d | b oraz x0 jest rozwi¡zaniem, to d ró»nych rozwi¡za« wyra»a si¦ wzorem x0 + md i mod m dla i ∈ {0, 1, . . . , d − 1}. Dowód.
d = 1, to jak ju» zauwa»yli±my, kongruencja (3.1) ma rozwi¡zax1 oraz x2 s¡ dwoma rozwi¡zaniami (3.1). Zatem ax1 ≡ ax2 (mod m). Z twierdzenia 3.2 wynika kongruencja x1 ≡ x2 (mod m), czyli x1 = x2 . Zaªó»my teraz, »e d 6= 1. Je±li d - b, to poniewa» d | a, wi¦c d - ax − b dla »adnego x ∈ Z, a co za tym idzie, m - ax − b dla »adnej liczby x. Zatem Je±li
nie. Aby pokaza¢ jego jednoznaczno±¢, przypu±¢my, »e
kongruencja (3.1) nie ma rozwi¡zania. Przypu±¢my wi¦c, »e
d 6= 1
oraz
b a x≡ d d
d | b.
Rozwa»my kongruencj¦
(mod
m ) d
(3.3)
a m Skoro NWD , = 1, wi¦c kongruencja (3.3) ma rozwi¡zanie x0 . Zapiszmy d d a b m x − d = d k dla pewnej liczby caªkowitej k . Mno»¡c obie strony tego d 0 równania przez d otrzymujemy, »e x0 jest rozwi¡zaniem kongruencji (3.1).
x0
Ale
jest rozwi¡zaniem (3.3), a ka»de dwie liczby speªniaj¡ce t¦ konm . Zatem w Zm jest tych rozwi¡za« gruencj¦ ró»ni¡ si¦ o wielokrotno±¢ d m dokªadnie d i ka»de z nich mo»emy zapisa¢ w postaci x0 + i mod m dla d i ∈ {0, 1, . . . , d − 1}. S¡ to wi¦c wszystkie rozwi¡zania kongruencji (3.1). Tak wi¦c kongruencja z przykªadu 3.7 ma dokªadnie jedno rozwi¡zanie. Podamy jeszcze jeden przykªad ilustruj¡cy powy»sze twierdzenie.
3.9 Przykªad. NWD
(4, 30) = 2
Rozwi¡»emy kongruencj¦
oraz
2 | 10,
4x ≡ 10 (mod 30).
Poniewa»
wi¦c nasza kongruencja ma dwa rozwi¡zania. Re-
dukujemy caª¡ kongruencj¦ przez 2 otrzymuj¡c
2x ≡ 5 (mod 15), a nast¦pnie
znajdujemy liczb¦ odwrotn¡ do 2 modulo 15. jest ni¡ 8. Otrzymujemy wi¦c
x0 = 10.
Jest to pierwsze rozwi¡zanie. Drugim jest
16
x1 = 10 + 15 = 25.
Wykªad 4 Pewne zastosowania elementów odwrotnych Zajmiemy si¦ teraz ukªadami dwóch kongruencji z dwiema niewiadomymi.
( a1 x + b 1 y ≡ c 1 a2 x + b 2 y ≡ c 2 gdzie
(mod (mod
m) m),
(4.1)
m > 1. Dla skupienia uwagi rozwa»my nast¦puj¡ce dwa przykªady: ( ( 5x + 2y ≡ 7 (mod 14) 3x + 2y ≡ 4 (mod 12) 8x + 3y ≡ 4 (mod 14), 8x + 4y ≡ 6 (mod 12).
Pierwszy z powy»szych ukªadów rozwi¡zujemy zgodnie z intuicj¡ i bez przeszkód, tj.
z pierwszej kongruencji, po pomno»eniu jej przez 3 (liczba od-
x ≡ 7+8y (mod 14). Po podstawieniu do drugiej kongruencji i uproszczeniu, dostajemy 11y ≡ 4 (mod 14). St¡d ju» szybko otrzymujemy y ≡ 8 (mod 14), a zaraz potem x ≡ 1 (mod 14). Zatem jedynym rozwi¡zaniem (modulo 14) pierwszej kongruencji jest para (1, 8).
wrotna do 5 modulo 14), wyznaczamy
Drugiego (prawego) ukªadu nie jeste±my w stanie rozwi¡za¢ stosuj¡c ten sam algorytm. Po przeksztaªceniu pierwszej kongruencji, dostajemy
3x ≡ 4 − 2y Poniewa» NWD(3,
(mod 12).
12) = 3, wi¦c zgodnie z twierdzeniem 3.8, aby nasza (pierw3 | 4 − 2y . Zatem y ∈ {2, 5, 8, 11}. Podstawiaj¡c ka»d¡ z tych liczb za y , zauwa»amy, »e druga kongruencja przyjmuje zawsze posta¢ 8x ≡ 10 (mod 12). Ale NWD(8, 12) = 4 oraz 4 - 10, wi¦c sza) kongruencja miaªa rozwi¡zanie,
17
twierdzenie 3.8 pozbawia nas zªudze«: kongruencja ta, a wi¦c i caªy ukªad kongruencji nie ma rozwi¡zania. Do ukªadu (4.1) zastosujemy algorytm Cramera. Po pomno»eniu pierwszej kongruencji przez
−a2 ,
a drugiej przez
a1
oraz dodaniu ich stronami,
otrzymujemy
(a1 b2 − b1 a2 )y ≡ a1 c2 − c2 a1
(mod m).
(4.2)
W = a1 b2 − b1 a2 , Wy = a1 c2 − c2 a1 oraz Wx = c1 b2 − b1 c2 . Po pomno»eniu pierwszej kongruencji przez b2 , drugiej przez −b1 oraz dodaniu
Oznaczmy
stronami, wykorzystuj¡c wprowadzone oznaczenia mamy
(
W x ≡ Wx (mod m) W y ≡ Wy (mod m).
(4.3)
Zatem rozwi¡zania ukªadu (4.1) zawieraj¡ si¦ w zbiorze rozwi¡za« ukªadu (4.3). Ka»d¡ z kongruencji tego ukªadu rozwi¡zujemy (je±li to mo»liwe) stosuj¡c twierdzenie 3.8. Ostatecznie otrzymujemy nast¦puj¡cy rezultat.
4.1 Twierdzenie.
Oznaczmy d = NWD(W, m). Ukªad kongruencji (4.1) nie ma rozwi¡za« je±li d - Wx lub d - Wy . W przeciwnym wypadku, ukªad ten ma modulo m co najwy»ej d2 rozwi¡za«, których pierwsze oraz drugie wspóªrz¦dne przystaj¡ do siebie modulo md . Podobny rezultat otrzymamy uogólniaj¡c powy»sze twierdzenie na przy-
padek wi¦kszej liczby kongruencji. mamy
W = −1
Zauwa»my, »e w naszych przykªadzie
(modulo 14) dla lewego ukªadu, co oznacza, »e ma on do-
W = −4, Wx = 4 oraz Wy = −14 12) = 4 i 4 - −14, wi¦c ukªad ten nie
kªadnie jedno rozwi¡zanie. Natomiast
dla
prawego ukªadu. Poniewa» NWD(W,
ma
rozwi¡zania. Jako przykªad zastosowa« powy»szych idei, opiszemy szyfr aniczny. Podobnie jak w Rozdziale 2, ka»dej literze alfabetu przypiszemy liczb¦, która jest pozycj¡ danej litery w alfabecie. 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 Przeksztaªcenie szyfruj¡ce tzw.
kodu anicznego
E(p) = ap + b mod N. 18
ma posta¢
(a, b). eby rozszyfrowa¢ wiadomo±¢ u»ywamy 0 0 0 innego klucza. Dokªadnie, D(c) = a c + b mod N , gdzie a jest liczb¡ od0 0 wrotn¡ do a modulo N , a b = −a b w ZN . Aby E byªo odwzorowaniem 0 szyfruj¡cym, NWD(a, N ), wi¦c i NWD(a , N ) jest równe 1. Kiedy a = 1, kod aniczny staje si¦ kodem cyklicznym. Gdy b = 0, kod aniczny nazywamy
Naszym kluczem jest tu para
szyfrem liniowym.
ma 312 (=
W przypadku alfabetu 26-literowego, przestrze« kluczy
12 · 26)
elementów.
Nie jest to du»a liczba z kryptoanalitycz-
nego punktu widzenia, ale rozwa»enie takiej liczby przypadków mo»e stworzy¢ pewne trudno±ci. Zademostrujemy metod¦ ªamania kodów anicznych, która ogranicza istotnie liczb¦ rozwa»anych przypadków.
4.2 Przykªad.
vqtmx ozdtg hgjqm aqhcx bgkgt ag. W g, a nast¦pn¡ jest q. Podejrzewamy, »e g a (pozycja 0), natomiast q (pozycja 16), to e
Zªamiemy szyfr
szyfrze tym najcz¦stsz¡ liter¡ jest (pozycja 6) to zaszyfrowane (pozycja 4). Mamy wi¦c
6a0 +b0 ≡0( mod 26) 16a0 +b0 ≡4( mod 26)
(4.4)
10a0 ≡ 4 (mod 26), a 8 i mamy klucz deszynam tekst jawny Ten szyfr
Odejmuj¡c obie kongruencje stronami otrzymujemy 0 0 st¡d natychmiast a = 3. Chwil¦ potem mamy b = fruj¡cy. Zastosowanie tego klucza, tj.
(3, 8)
nadaje si¦ do zªamania.
daje
Wykorzystuj¡c twierdzenie 4.1 do ukªadu (4.4) otrzymujemy
W = 22, W = 24, a0
b0
(W, 26) = 2,
NWD
W = 16,
wi¦c ukªad kongruencji (4.4) ma 4 po-
(3, 8), (3, 21), (16, 8) oraz (16, 21). 0 NWD(a , N ) ma by¢ równy 1. Odpada
tencjalne rozwi¡zania modulo 26. S¡ to pary Dwie ostanie pary odpadaj¡, poniewa» te» para
(3, 21), bo po sprawdzeniu zauwa»amy, »e nie jest ona rozwi¡zaniem
ukªadu (4.4).
19
Wykªad 5 Maªe Twierdzenie Fermata W czerwcu 1640 roku Fermat napisaª list do Mersenne'a, w którym stwierp dziª, »e je±li p jest liczb¡ pierwsz¡, to 2 − 2 jest wielokrotno±ci¡ 2p, a je±li q jest pierwszym dzielnikiem 2p − 1, to q − 1 jest wielokrotno±ci¡ p. Jak zwykle, Fermat nie napisaª dowodu tego stwierdzenia. Zrobiª to dopiero Euler w 1730 u»ywaj¡c rozwini¦cia dwumianowego, a w 1758 opublikowaª on inny dowód, który pozwoliª uogólni¢ twierdzenie Fermata.
To uogólnione
twierdzenie nosi nazw¦ twierdzenia Eulera. W rozdziale tym przytoczymy i udowodnimy obydwa te twierdzenia.
5.1 Twierdzenie
Twierdzenie Fermata MTF ). Je»eli p jest liczb¡ pierwsz¡, to a ≡ a (mod p) dla dowolnej liczby caªkowitej a oraz ap−1 ≡ 1 (mod p) dla wszystkich liczb caªkowitych a, takich »e p - a. (Maªe
p
Oryginalny dowód Eulera z 1730 roku.
Przypu±¢my, »e
dukcji matematycznej. Twierdzenie jest prawdziwe dla »e twierdzenie jest prawdziwe dla tak»e dla zachodzi
a = n + 1. relacja p |
a = n.
a ≥ 0. a = 0.
U»yjemy inPrzypu±¢my,
Poka»emy, »e jest ono prawdziwe
W tym celu zauwa»my, »e dla dowolnego p . Istotnie, m
p p! , = m!(p − m)! m
1 ≤ m ≤ p−1
(5.1)
ale w mianowniku uªamka po prawej stronie równo±ci (5.1) znajduj¡ si¦ liczby p mniejsze od p, a jest liczb¡ naturaln¡, wi¦c m!(p−m)! musi dzieli¢ (p−1)! m p Zatem p | . m 20
Dalej mamy
p p−1 p p−2 p (n + 1) ≡ n + n + n + ··· + n+1 1 2 p−1 ≡ n + 1 + p · (co±) ≡n+1 p
p
(mod p) (mod p) (mod p).
Na podstawie indukcji matematycznej wnioskujemy, »e twierdzenie jest prawdziwe dla wszystkich liczb nieujemnych
p > 2,
a.
Je±li
a
jest liczb¡ ujemn¡ oraz
to
ap ≡ −(−a)p ≡ −(−a) = a (mod p), czyli twierdzenie jest prawdziwe i w tym przypadku. Przypadek
p=2
jest
trywialny. Zaªó»my teraz, »e p - a. Zatem NWD(a, p) = 1 i a posiada element od−1 p wrotny a modulo p. Po pomno»eniu obu stron kongruencji a ≡ a (mod p) −1 p−1 przez a , otrzymamy a ≡ 1 (mod p). Podamy teraz przykªady zastosowa« MTF.
5.2 Przykªad. 50 = 4 · 12 + a = 3. Zatem
Poka»emy, »e
250 + 350
jest podzielne przez 13. Poniewa» 2, wi¦c z twierdzenia 5.1 mamy a50 ≡ a2 (mod 13) dla a = 2 i
250 + 350 ≡ 22 + 32 = 13 ≡ 0 wi¦c
(mod 13),
13 | 250 + 350 .
5.3 Przykªad.
2 Poka»emy, »e 7 nie dzieli n + 1 dla »adnej liczby n ∈ N. 2 2 Istotnie, gdyby n + 1 ≡ 0 (mod 7), to wówczas n ≡ −1 (mod 7), czyli n6 ≡ −1 (mod 7), co jest sprzeczne z twierdzeniem 5.1. Poniewa»
2340 ≡ 1 (mod 341)
wrotne do 5.1 nie nie s¡ pierwszymi
341 = 11 · 31, wi¦c twierdzenie odjest prawdziwe. Liczby n, które speªniaj¡ tez¦ MTF, ale nazywamy pseudopierwszymi. Wi¦cej o liczbach pseudooraz
pierwszych powiemy w dalszej cz¦±ci wykªadu.
5.4 Twierdzenie.
Przypu±¢my, »e ar ≡ 1 (mod p) dla pewnej liczby pierwszej p oraz liczby caªkowitej a, która nie dzieli si¦ przez p. Je±li d = NWD(r, p − 1), to ad ≡ 1 21
(mod p).
Dowód. Z lematu 3.4 mamy rx + (p − 1)y = d. Zatem
istnienie takich liczb caªkowitych
ad ≡ arx+(p−1)y r x
x
oraz
y,
»e
(mod p)
p−1 y
≡ (a ) a ≡1·1=1
(mod p) (mod p).
Kilka zastosowa« udowodnionego przed chwil¡ twierdzenia zobrazujemy w nast¦puj¡cych przykªadach.
5.5 Przykªad.
Przypu±¢my, »e p oraz q s¡ nieparzystymi liczbami pierwp p szymi oraz q | 2 − 1. Wówczas 2 ≡ 1 (mod q) i je»eli d = NWD(p, q − 1), d to 2 ≡ 1 (mod q). Ale, poniewa» p jest liczb¡ pierwsz¡, wi¦c d = p, gdy»
d = 1 implikuje nieprawdziw¡ kongruencj¦ 2 ≡ 1 (mod q). Zatem p | q − 1, a poniewa» liczba p jest nieparzysta, a q − 1 jest parzysta, wi¦c 2p | q − 1. Wynika st¡d, »e aby sprawdzi¢ czy liczba 2p − 1 jest pierwsza wystarczy rozwa»y¢, jako potencjalne dzielniki, tylko liczby postaci 2kp + 1, √ p 1 2 − 1. dla 1 ≤ k ≤ 2
przypadek
5.6 Przykªad. postaci
4k + 1.
Poka»emy, »e istnieje niesko«czenie wiele liczb pierwszych Aby tego dokona¢, przypu±¢my, »e jest ich tylko sko«czona
p1 , p2 , . . . , pr s¡ wszystkimi liczbami pierwszymi tej postaci. 2 Rozwa»my liczb¦ N = (2p1 p2 . . . pr ) +1 i przypu±¢my, »e p | N . Wynika st¡d 2 4 kongruencja (2p1 p2 . . . pr ) ≡ −1 (mod p) oraz (2p1 p2 . . . pr ) ≡ 1 (mod p). Oznaczmy d = NWD(4, p − 1). Zatem liczba d jest dzielnikiem liczby 4, czyli d nale»y do zbioru {1, 2, 4}. Poniewa» (2p1 p2 . . . pr ) ≡ 1 (mod p), wi¦c d nie mo»e by¢ równa 1 ani 2. Zatem d = 4, czyli 4 | p − 1 i p jest postaci 4k + 1. Ale p | N , wi¦c p nie mo»e by¢ »adn¡ z liczb p1 , p2 , . . . , pr . St¡d sprzeczno±¢.
liczba, czyli »e
22
Wykªad 6 Twierdzenie Eulera Jak ju» zauwa»yli±my (tw. 3.5), liczba tylko wtedy, gdy NWD(a, liczbie naturalnej modulo
n
n,
n) = 1.
a
Funkcja
jest odwracalna modulo
ϕ,
n
ilo±¢ dodatnich i niewi¦kszych od
nazywamy
funkcj¡ Eulera.
n
wtedy i
która przyporz¡dkowuje ka»dej liczb odwracalnych
Zatem
ϕ(n) = # {0 < x ≤ n : NWD(x, n) = 1} .
6.1 Przykªad. ϕ(8) = 4,
poniewa» tylko liczby nieparzyste s¡ wzgl¦dnie
p jest liczb¡ pierwϕ(p) = p − 1, gdy» ka»da liczba dodatnia mniejsza od p jest wzgl¦dnie r pierwsza z p. Je»eli p jest pot¦g¡ liczby pierwszej, to jedynymi liczbami, r które nie s¡ wzgl¦dnie pierwsze z p , s¡ wielokrotno±ci p, czyli liczby p, 2p, r−1 3p, . . . , (p − 1)p. Tych liczb jest w sumie pr−1 − 1, zatem pierwsze z 8 oraz 8 nie ma dzielników nieparzystych. Je±li
sz¡, to
r
r
ϕ(p ) = p − 1 − (p
r−1
r
− 1) = p − p
Poka»emy, »e przy pewnym zaªo»eniu,
ϕ
r−1
=p
r
1 1− p
.
(6.1)
jest funkcj¡ multyplikatywn¡.
Pozwoli nam to wyprowadzi¢ do±¢ por¦czny wzór na warto±ci
ϕ
uogólnia-
j¡cy (6.1).
6.2 Twierdzenie. Dowód.
Je±li
(m, n) = 1, to ϕ(mn) = ϕ(m)ϕ(n).
NWD
m, n jest równa 1, to teza m > 1 i n > 1. Wypiszmy
Zauwa»my najpierw, »e je±li jedna z liczb
jest prawdziwa.
Mo»emy zatem zaªo»y¢, »e
23
wszystkie liczby niewi¦ksze od
mn
1, 2, n + 1, n + 2, 2n + 1, 2n + 2, . . . . . . . . . . . . ., . . . . . . . . . . . . ., (m − 1)n + 1, (m − 1)n + 2,
w nast¦puj¡cy sposób:
..., r, ..., n + r, ..., 2n + r, ..., ............ , . . . , (m − 1)n + r,
..., n, . . . , 2n, . . . , 3n, ..., ..., . . . , mn.
(6.2)
m od . . . , m − 1 tylko porz¡dkiem. Istotnie, je±li istniej¡ liczby q1 , q2 , oraz r , takie »e q1 n + r ≡ q2 n + r (mod m), to poniewa» m i n s¡ wzgl¦dnie pierwsze, wi¦c z ostatniej kongruencji wynika q1 ≡ q2 (mod m) (tw. 3.1). Ale poniewa» q1 i q2 s¡ nieujemnymi liczbami mniejszymi od m, wi¦c q1 = q2 . Zauwa»my, »e liczby ka»dej z kolumn tablicy (6.2) ró»ni¡ si¦ modulo liczb 1, 2,
Znacznie ªatwiej jest zauwa»y¢, »e w ka»dym wierszu tablicy (6.2) mamy liczby przystaj¡ce modulo
n,
odpowiednio, do 1, 2,
Tak wi¦c w ka»dym wierszu jest w ka»dej kolumnie jest
ϕ(m)
ϕ(n)
. . . , n − 1,
0.
liczb wzgl¦dnie pierwszych z
liczb wzgl¦dnie pierwszych z
m.
n,
a
Co wi¦cej,
zauwa»my, »e je»eli w pewnej kolumnie (6.2) mamy liczb¦, która nie jest wzgl¦dnie pierwsza z
n,
to wszystkie liczby tej kolumny nie s¡ wzgl¦dnie
n. Z drugiej strony, je±li jaka± liczba jest wzgl¦dnie pierwsza z mn, to jest ona wzgl¦dnie pierwsza z m i wzgl¦dnie pierwsza z n. Wykre±lmy zatem z (6.2) wszystkie liczby, które nie s¡ wzgl¦dnie pierwsze z mn. Wówczas w ka»dym wierszu pozostanie nam ϕ(n) liczb, przy czym wykre±limy caªe kolumny. Pozostanie wi¦c ϕ(n) kolumn z ϕ(m) liczb w ka»dej z nich. Zatem ϕ(mn) = ϕ(n)ϕ(m). Q k αi Rozwa»my liczb¦ n = i=1 pi . Poniewa» wszystkie czynniki w tym pierwsze z
iloczynie s¡ parami wzgl¦dnie pierwsze, wi¦c po zastosowaniu twierdzenia 6.2, dostajemy
ϕ(n) =
k Y i=1 k Y
ϕ (pαi i )
1 = 1− pi i=1 k Y 1 =n 1− pi i=1 pαi i
Udowodnili±my wi¦c nast¦puj¡cy wniosek.
24
6.3 Wniosek.
Je±li n =
αi i=1 pi , to ϕ(n) = n
Qk
Qk i=1 1 −
1 pi
.
U»ywaj¡c wniosku 6.3, dostajemy
ϕ(29 · 52 ) = (29 − 1)(25 − 5) = 560. Poniewa» ró»nica
p=2
oraz
pk − pk−1
k = 1,
jest liczb¡ parzyst¡, z wyj¡tkiem przypadku gdy
wi¦c jedyn¡ nieparzyst¡ warto±ci¡ funkcji
jest przyjmowana dla argumentów
1
oraz
2.
ϕ
jest
1,
która
Dla liczb wi¦kszych od 3, funk-
cja Eulera przyjmuje tylko warto±ci parzyste. Co wi¦cej, je±li w rozkªadzie k−1 liczby n wyst¦puje dokªadnie k pot¦g liczb pierwszych, to 2 | ϕ(n).
6.4 Przykªad.
Znajdziemy wszystkie liczby
n,
dla których
ϕ(n) = 6.
W
tym celu rozwa»ymy kilka przypadków.
• n = pα .
6 = pα−1 (p − 1). Rozwa»aj¡c n = 32 = 9, lub n = 7.
Zatem
zauwa»amy, »e
• n = pα q β .
Wówczas
kolejne liczby pierwsze,
6 = (pα − pα−1 )(q β − q β−1 ).
Zauwa»my, »e ró»nica
dwóch kolejnych pot¦g »adnej liczby pierwszej nie jest równa 3, wi¦c α α−1 β β−1 jedna z liczb p − p , q − q musi by¢ równa 1, czyli p = 2, a druga 6. Rozwa»aj¡c kolejne liczby pierwsze jako kandydatki na 2 otrzymujemy n = 2 · 3 = 18 lub n = 2 · 7 = 14.
•
Z uwagi umieszczonej tu» przed przykªadem, wynika, »e
q,
n nie mo»e by¢
iloczynem wi¦cej ni» dwóch pot¦g liczb pierwszych. U»ywaj¡c funkcji Eulera
ϕ, sformuªujemy i udowodnimy uogólnienie Ma-
ªego Twierdzenia Fermata. Zauwa»my przy tym, »e je±li NWD(a, n) 6= 1, to ak 6≡ 1 (mod n) dla »adnego k > 1. Istotnie, gdyby tak byªo, to n byªaby k k−1 dzielnikiem a −1, czyli istniaªaby liczba caªkowita x, taka »e xn+a·a = 1. Z lematu 3.4 wynika zatem, »e NWD(a,
n) = 1, sk¡d sprzeczno±¢. Tak wi¦c, aby otrzyma¢ kongruencj¦, w której pot¦ga a przystaje do 1, nale»y rozwa»a¢ tylko te liczby a, które s¡ wzgl¦dnie pierwsze z n. Je±li n jest liczb¡ pierwsz¡, to sprowadza si¦ to do liczb, które nie s¡ podzielne przez n, st¡d zaªo»enia drugiej cz¦±ci MTF. Zauwa»my, »e owa druga cz¦±¢ MTF jest zawarta w nast¦puj¡cym twierdzeniu.
6.5 Twierdzenie
(Eulera )
.
witej a oraz n > 2. Wówczas
Przypu±¢my, »e
aϕ(n) ≡ 1 25
(a, n) = 1 dla liczby caªko-
NWD
(mod n)
(6.3)
Dowód.
Wypiszmy wszystkie elementy odwracalne modulo
datnie i mniejsze od modulo
n,
n.
S¡ to
wi¦c tak»e elementy
r1 , r2 . . . , rϕ(n) . ar1 , ar2 . . . , arϕ(n)
Skoro
a
n,
które s¡ do-
jest odwracalna
s¡ odwracalne modulo
n,
oraz »adne dwa z nich nie s¡ równe. Zatem
r1 r2 . . . rϕ(n) ≡ ar1 ar2 . . . arϕ(n)
(mod n).
Korzystaj¡c z prawa przemienno±ci mno»enia dostajemy
aϕ(n) (r1 r2 . . . rϕ(n) ) ≡ (r1 r2 . . . rϕ(n) )
(mod n).
Ostatnia kongruencja implikuje (6.3).
31234 1234 ≡ 2 (mod 8).
Dla przykªadu, znajdziemy ostatni¡ cyfr¦ liczby nastkowym.
(mod 16)
Mamy tu
ϕ(16) = 8,
a
w ukªadzie szest1234 Zatem 3 ≡ 9
i ostatni¡ cyfr¡ jest 9.
a w Twierdzeniu Eulera jest cz¦sto ϕ(n). Na przykªad ϕ(105) = 48, ale dla a wzgl¦dnie pierwszych 12 mamy a ≡ 1 (mod 105). Istotnie, 105 = 3 · 5 · 7 oraz
Okazuje si¦, »e najni»sza pot¦ga liczby mniejsza ni» ze 105
a6 − 1 | a12 − 1
a4 | a12 − 1
wi¦c z Maªego Twierdzenia Fermata, pokazuje jak ulepszy¢ pot¦g¦
a2 − 1 | a12 − 1,
105 | a12 − 1.
Poni»sze twierdzenie
a.
6.6 Twierdzenie.
Przypu±¢my, »e m = pα1 1 pα2 2 . . . pαk k , gdzie wszystkie liczby pierwsze pi s¡ ró»ne i pαi i jest najwi¦ksz¡ poteg¡ liczby pi , która dzieli m. Niech n = NWW(ϕ (pα1 1 ) , ϕ (pα2 2 ) , . . . , ϕ (pαk k )). Wtedy mamy an ≡ 1 (mod m) dla ka»dego a wzgl¦dnie pierwszego z m. αi
Dowód. Z twierdzenia Eulera wynika aϕ(pi ) ≡ 1 (mod pαi i ) dla ka»dego i ∈ {1, 2, . . . , k}. Mno»¡c t¦ kongruencj¦ stronami przez siebie n/ϕ(pαi i ) razy αi n otrzymujemy a ≡ 1 (mod pi ) dla ka»dego i. St¡d bezpo±rednio wynika, αi n n »e dla dowolnego i mamy pi | a − 1. Zatem i m | a − 1, a to nam daje tez¦. Wracaj¡c do uwagi przed twierdzeniem 6.6, zauwa»my, »e oraz
12 = NWW(ϕ(3), ϕ(5), ϕ(7)) = NWW(2, 4, 6).
26
105 = 3 · 5 · 7
Wykªad 7 Twierdzenie Lagrange'a Podstawowe twierdzenie algebry mówi, »e wielomian stopnia
n
o wspóªczyn-
n pierwiastków. Podobne twiern, ale tylko modulo liczba pierwsza. 4 2 Dla przykªadu, rozwa»my kongruencje x ≡ 1 (mod 5) oraz x ≡ 1 (mod 8). nikach zespolonych mo»e mie¢ co najwy»ej
dzenie zachodzi dla kongruencji stopnia
Z twierdzenia 5.1, tj. z Maªego Twierdzenia Fermata, mamy, »e pierwsza z tych kongruencji ma dokªadnie 4 pierwiastki modulo 5 (s¡ to liczby wzgl¦dnie pierwsze z 5). Je±li chodzi o drug¡ kongruencj¦, to ma ona 4 pierwiastki: 1, 3, 5 i 7.
7.1 Twierdzenie
.
Niech p b¦dzie liczb¡ pierwsz¡ i niech f (x) b¦dzie wielomianem stopnia n ≥ 1 o wspóªczynnikach caªkowitych, którego wspóªczynnik przy najwy»szej pot¦dze x nie dzieli si¦ przez p. Wówczas kongruencja f (x) ≡ 0 (mod p) ma co najwy»ej n pierwiastków modulo p.
Dowód.
(Lagrange'a )
Zastosujemy tu indukcj¦ ze wzgl¦du na stopie« wielomianu. Zaªó»my
f (x) jest wielomianem stopnia 1. Oznacza to, »e f (x) = ax + b, p - a. Zatem a jest liczb¡ odwracaln¡ modulo p, czyli kongruencja ax + b ≡ 0 (mod p) ma dokªadnie jedno rozwi¡zanie.
zatem, »e
przy czym
Przypu±¢my, »e teza twierdzenia jest prawdziwa dla wszystkich wielomia-
f (x) b¦dzie wielomianem stopnia n. Je±li f (x) nie ma pierwiastków, to twierdzenie jest udowodnione jako »e 0 ≤ n. Przypu±¢my wi¦c, »e f (x) ma pierwiastek a. Z twierdzenia o podzielno±ci dla wielomianów, wynika, »e istniej¡ wielomiany q(x) oraz r(x), takie »e f (x) = (x − a)q(x) + r(x), przy czym deg r(x) < deg(x − a) = 1. Oznacza to, w szczególno±ci, »e r(x) jest liczb¡ r . Poniewa» f (a) ≡ 0 (mod p), wi¦c nów stopnia mniejszego od
n.
(a − a)q(a) + r ≡ 0
Niech
(mod p), 27
st¡d
r≡0
(mod p).
Otrzymujemy wi¦c, »e
f (x) ≡ (x − a)q(x) (mod p).
Ale wielomian
q(x)
n − 1 pierwiastków (z zaªo»enia indukcyjnego). Co wi¦cej, b jest pierwiastkiem wielomianu f (x), to (b − a)q(b) ≡ 0 (mod p), czyli p | (b − a)q(b), wi¦c b ≡ a (mod p) lub b jest te» pierwiastkiem q(x). Zatem f (x) ma, co najwy»ej, o jeden pierwiastek wi¦cej ni» q(x), czyli co najwy»ej n. ma co najwy»ej je»eli
Na podstawie indukcji matematycznej, twierdzenie jest prawdziwe. Powy»sze twierdzenie okre±la tylko maksymaln¡ liczb¦ pierwiastków wielomianu modulo to sprawa ªatwa.
p.
Nie mówi ono nic na temat ich znajdywania, a nie jest
Udowodnimy teraz wniosek, który wypªywa z twierdze«
Lagrange'a i Fermata.
7.2 Wniosek.
Przypu±¢my, »e p jest liczb¡ pierwsz¡ oraz d | p − 1. Wówczas kongruencja x − 1 ≡ 0 (mod p) ma dokªadnie d pierwiastków modulo p. d
Dowód.
xp−1 − 1 ≡ 0 (mod p) ma . . . , p − 1. Zapiszmy p − 1 = kd.
Z Maªego Twierdzenia Fermata wynika, »e
dokªadnie
p−1
rozwi¡za«, którymi s¡ 1, 2,
Mamy
xp−1 − 1 = (xd − 1)(xd(k−1) + xd(k−2) + · · · + xd + 1).
(7.1)
d Z twierdzenia Lagrange'a wynika, »e x − 1 ma co najwy»ej d pierwiastków, d(k−1) d(k−2) d a (x +x + · · · + x + 1) ma co najwy»ej d(k − 1) pierwiastków. Zatem prawa strona (7.1) ma co najwy»ej ma dokªadnie
p−1
p−1
pierwiastków, a strona lewa
pierwiastków. Dlatego ka»dy z wielomianów po prawej
stronie (7.1) ma maksymaln¡ mo»liw¡ liczb¦ pierwiastków. W szczególno±ci, xd − 1 ma dokªadnie d pierwiastków. Z Maªego Twierdzenia Fermata oraz z poprzedniego wniosku wynika nast¦puj¡ce twierdzenie, które wykorzystamy przy rozwa»aniu tak zwanych liczb silnie pseudopierwszych.
7.3 Twierdzenie. Przypu±¢my, »e p jest liczb¡ pierwsz¡ i d oznacza najwi¦k-
szy wspólny dzielnik liczb s i p − 1. Wówczas wielomian xs − 1 ma dokªadnie d pierwiastków modulo p. Dowód.
Zauwa»my najpierw, »e poniewa» d Z wniosku 7.2 wynika, »e kongruencja x
d
d | s, wi¦c tak»e xd − 1 | xs − 1. − 1 ≡ 0 (mod p) ma dokªadnie
pierwiastków. Z uwagi poczynionej na pocz¡tku dowodu, mamy, »e pierxs − 1 ≡ 0 (mod p). Oznacza to,
wiastki te s¡ te» pierwiastkami kongruencji
»e ostatnia kongruencja ma przynajmniej d pierwiastków i s¡ to pierwiastki d wielomianu x − 1 modulo p. Przypu±¢my, »e y jest pierwiastkiem modulo p
28
d ale nie jest on pierwiastkiem kongruencji x − 1 ≡ 0 p−1 (mod p). Jednak»e p - y , wi¦c y − 1 ≡ 0 (mod p). Zatem z twierdzed d nia 5.4 wynika, »e y − 1 ≡ 0 (mod p), czyli y jest pierwiastkiem x − 1 i wielomianu
xs − 1,
mamy sprzeczno±¢.
7.4 Przykªad.
Poniewa» 4 jest dzielnikiem liczby 12, wi¦c kongruencja
x4 ≡ 1 (mod 13)
ma oprócz oczywistych pierwiastków 1 i
−1
jeszcze dwa
pierwiastki.
7.5 Przykªad.
p ≡ 1 (mod 4). Wówczas istnieje pierwia2 stek z −1 modulo p, czyli kongruencja x ≡ −1 (mod p) ma rozwi¡zanie. Aby to zauwa»y¢, zapiszmy p = 4k + 1. Z twierdzenia 5.1, kongruencja x4k ≡ 1 (mod p) ma dokªadnie 4k (czyli p − 1) pierwiastków. Poniewa» x4k − 1 = (x2k − 1)(x2k + 1), wi¦c wielomiany x2k − 1 oraz x2k + 1 maj¡ 2k po 2k pierwiastków. Ale je±li a jest pierwiastkiem x + 1, to x = ak jest 2 rozwi¡zaniem x + 1, czyli pierwiastkiem z −1. Przypu±¢my, »e
29
Wykªad 8 Chi«skie Twierdzenie o Resztach Twierdzenie, które tu przedstawimy zostaªo odkryte i wykorzystywane w ±redniowiecznych Chinach. Przyczyn¡ tego odkrycia byªy trudno±ci z mno»eniem i dodawaniem du»ych liczb ªatwiej jest nauczy¢ si¦ na pami¦¢ kilku kombinacji, ni» wykonywa¢ dziaªania arytmetyczne w pami¦ci.
A dokªad-
nie, kiedy dowódca chciaª zliczy¢ swoje wojsko, kazaª ustawi¢ si¦ »oªnierzom w dwu-szeregu, nast¦pnie w trzy-szeregu, potem w pi¦cio-szeregu itd. Liczba ,,niesparowanych »oªnierzy w ka»dym z tych ustawie« (czyli reszty z dzielenia ogólnej liczby »oªnierzy przez 2, 3, 5, . . . )
dawaªy liczb¦ wszystkich
»oªnierzy. eby skonkretyzowa¢ nasze my±lenie, rozwa»my nast¦puj¡cy przykªad.
8.1 Przykªad.
Po ustawieniu caªego wojska w 3-, 5- i 7-szeregu dostali±my,
odpowiednio 2, 1 oraz 6 niesparowanych »oªnierzy. Jaka jest liczebno±¢ oddziaªu, je»eli wiadomo, »e »oªnierzy jest mniej ni» 100? Formalizuj¡c zadanie, niech lenia
x
x b¦dzie liczb¡ »oªnierzy.
Zatem reszty z dzie-
przez 3, 5 oraz 7, to 2, 1 i 6. St¡d
x≡2 x≡1 x≡6
(mod 3) (mod 5) (mod 7)
(8.1) (8.2) (8.3)
Powy»szy ukªad trzech kongruencji rozwi¡»emy w nast¦puj¡cy sposób. Z kon-
x = 3k + 2. Podstawiaj¡c do (8.2), otrzymujemy 3k + 3k ≡ −1 (mod 5). Znajdujemy liczb¦ odwrotn¡ do 3 modulo 5 i rozwi¡zujemy ostatni¡ kongruencj¦ otrzymuj¡c k ≡ −2 (mod 5). Zatem k = 5r −2 oraz x = 3·(5r −2)+2 = 15r −4. Podstawiaj¡c t¦ posta¢ x
gruencji (8.1) mamy
2 ≡ 1 (mod 5),
czyli
30
15r − 4 ≡ 6 (mod 7), a nast¦pnie r ≡ 3 (mod 7). St¡d r = 7s + 3, czyli x = 15 · (7s + 3) − 4 = 105s + 41. Zatem wszystkich
do (8.3) dostajemy mamy
»oªnierzy jest 41 (nast¦pna mo»liwo±¢ to 146, ale jak zaznaczyli±my, »oªnierzy jest mniej ni» 100). Dowódca, oczywi±cie, nie musiaª przeprowadza¢ powy»szych rachunków, a jedynie zapami¦ta¢, »e ukªadowi 2-1-6 odpowiada liczba 41. Pami¦taª on te» zapewne, jakim ukªadom odpowiadaj¡ s¡siednie liczby: ukªad
liczba
ukªad
liczba
2-0-0
35
2-1-6
41
0-1-1
36
0-2-0
42
1-2-2
37
1-3-1
43
2-3-3
38
2-4-2
44
0-4-4
39
0-0-3
45
1-0-5
40
1-1-4
46
Ide¦ powy»szego przykªadu uogólnimy i podamy w dowodzie nast¦puj¡cego twierdzenia.
8.2 Twierdzenie
.
Przypu±¢my, »e m1 , m2 , . . . , mr s¡ parami wzgl¦dnie pierwsze. Wówczas ukªad kongruencji (Chi«skie twierdzenie o resztach)
x ≡ a1 (mod m1 ) x ≡ a2 (mod m2 ) .................. x ≡ ar (mod mr )
(8.4)
ma jednoznaczne rozwi¡zanie modulo m1 m2 . . . mr . Dowód. Wprowad¹my nast¦puj¡ce oznaczenia: M = m1 m2 . . . mr , Mi = −1 oraz xi = Mi mod mi dla 1 ≤ i ≤ r. Rozwa»my teraz liczb¦
M , mi
x = a1 M1 x1 + a2 M2 x2 + · · · + ar Mr xr . j 6= i zachodzi Mj ≡ 0 (mod mi ), wi¦c x ≡ ai Mi xi (mod mi ) dla ka»dego i. Ale Mi xi ≡ 1 (mod mi ), wi¦c x ≡ ai (mod mi ) dla 1 ≤ i ≤ r . 0 00 Pozostaje jeszcze udowodni¢ jednoznaczno±¢. Niech x oraz x b¦d¡ 0 00 dwoma rozwi¡zaniami ukªadu (8.4). Zatem x ≡ x (mod mi ) dla 1 ≤ i ≤ r . 0 00 St¡d mi | x − x , a poniewa» m1 , m2 , . . . mr s¡ parami wzgl¦dnie pierw0 00 sze, wi¦c M | x − x . Zatem dwa rozwi¡zania ukªadu (8.4) ró»ni¡ si¦ o wielokrotno±¢ M i ukªad ten ma jednoznaczne rozwi¡zanie modulo M . Poniewa» dla
31
W odró»nieniu od dowodów wielu innych podobnych twierdze«, dowód chi«skiego twierdzenia o resztach daje wzór na rozwi¡zanie ukªadu kongruencji typu (8.4).
8.3 Przykªad.
Rozwa»my ukªad kongruencji z przykªadu 8.1.
oznaczenia dowodu twierdzenia 8.2, mamy
M = 105
i
mi
ai
Mi
xi
1
3
2
35
2
2
5
1
21
1
3
7
6
15
1
Stosuj¡c
oraz
St¡d
x ≡ 2 · 35 · 2 + 1 · 21 · 1 + 6 · 15 · 1 ≡ 140 + 21 + 90 ≡ 251 ≡ 41
(mod (mod (mod (mod
105) 105) 105) 105).
Zaªo»enie o kopierwszo±ci moduªów jest do±¢ istotnym ograniczeniem. Rozwa»my dla przykªadu, ukªad kongruencji
x≡3 x≡7
(mod 8) (mod 12).
(8.5)
Nie mo»na go rozwi¡za¢ stosuj¡c twierdzenie 8.2, poniewa» 8 oraz 12 nie s¡ wzgl¦dnie pierwsze. Nie oznacza to jednak, »e ukªad ten nie ma rozwi¡zania. Rozwi¡»emy go w nast¦pnym przykªadzie.
8.4 Przykªad. 12 = 4 · 3
Aby rozwi¡za¢ ukªad kongruencji (8.5) zapiszmy najpierw
i rozbijmy drug¡ kongruencj¦ ukªadu na dwie kongruencje
x≡7≡3
(mod 4)
i
x≡7≡1
(mod 3).
Mamy zatem ukªad trzech kongruencji
x ≡ 3 (mod 8) x ≡ 3 (mod 4) x ≡ 1 (mod 3). 32
(8.6)
Ale rozwi¡zanie pierwszej kongruencji ukªadu (8.6) speªnia te» drug¡ kongruencj¦, wi¦c druga kongruencja jest niepotrzebna. Otrzymujemy wi¦c równowa»ny (8.5) ukªad kongruencji
x≡3 x≡1
(mod 8) (mod 3).
Ostatni ukªad rozwi¡zujemy stosuj¡c chi«skie twierdzenie o resztach (8.2) i otrzymujemy
x ≡ 19 (mod 24).
Podamy teraz uogólnienie chi«skiego twierdzenia o resztach, które pozwala rozwi¡zywa¢ ukªady kongruencji podobne do (8.5).
8.5 Twierdzenie. Przypu±¢my, »e m1 , m2 . . . , mr s¡ liczbami naturalnymi. Wówczas ukªad kongruencji (8.4) ma rozwi¡zanie wtedy i tylko wtedy, gdy NWD(mi , mj ) | ai − aj dla i 6= j . Otrzymane rozwi¡zanie jest jednoznaczne modulo NWW(m1 , m2 , . . . , mr ). Dowód.
Rozwa»my najpierw przypadek, gdy
mi = pei , gdzie 1 ≤ i ≤ r, ei jest
p jest liczb¡ pierwsz¡. Mo»emy, oczywi±cie, zaªo»y¢, »e e1 ≥ e2 ≥ · · · ≥ er . Przypu±¢my teraz, »e taki ukªad kongruencji ma e rozwi¡zanie x0 i niech i < j . Zatem NWD(mi , mj ) = mj = p j . Skoro zachodz¡ ei ej e kongruencje x0 ≡ ai (mod p ) oraz x0 ≡ aj (mod p ), wi¦c p j dzieli x0 −aj e e e e oraz, poniewa» p j | p i , p j dzieli tak»e x0 − aj . St¡d p j | ai − aj . e W drug¡ stron¦, je±li i < j , to rozwi¡zanie kongruencji x0 ≡ ai (mod p i ) ej jest te» rozwi¡zaniem kongruencji x0 ≡ aj (mod p ), wi¦c, w szczególno±ci, e rozwi¡zanie pierwszej kongruencji (jednoznaczne modulo p 1 ) jest te» rozwi¡liczb¡ nieujemn¡, a
zaniem pozostaªych kongruencji. Aby zako«czy¢ t¦ cz¦±¢ dowodu, zauwa»my e jeszcze, »e p 1 = NWW(m1 , m2 , . . . , mr ). Przejd¹my teraz do ogólnego przypadku. Zapiszmy
m1 = pe111 pe212 . . . pek1k m2 = pe121 pe222 . . . pek2k .................. mr = pe1r1 p2er2 . . . pekrk . Wówczas ukªad kongruencji (8.4) jest równowa»ny ukªadowi, skªadaj¡cemu
33
si¦ z podukªadów postaci
x ≡ a1 (mod pes1s ) x ≡ a2 (mod pes2s ) .................. x ≡ ar (mod pesrs ),
es = max {ets : 1 ≤ t ≤ r}. Ka»dy z pode ukªadów (8.7) ma jednoznaczne modulo pss rozwi¡zanie wtedy i tylko wtedy, eis ejs gdy NWD ps , ps | ai − aj dla i 6= j , co wynika z pierwszej cz¦±ci dowodu. Co wi¦cej, rozwi¡zanie ys tego podukªadu jest rozwi¡zaniem kongruencji o e module pss , wi¦c ukªad (8.4) jest równowa»ny ukªadowi gdzie
1 ≤ s ≤ k.
(8.7)
Oznaczmy
x ≡ y1 (mod pe11 ) x ≡ y2 (mod pe22 ) .................. x ≡ yk (mod pekk ).
(8.8)
Ostatni ukªad ma rozwi¡zanie z uwagi na chi«skie twierdzenie o resztach oraz, je±li rozwi¡zanie istnieje, to jest ono jednoznaczne modulo
pe11 pe22 . . . pekk = NWW(m1 , m2 , . . . , mr ). Poniewa» rozwi¡zanie ukªadu (8.4) przy zaªo»eniach dowodzonego twierdzenia jest równowa»ne rozwi¡zaniu ukªadu (8.8), wi¦c twierdzenie jest udowodnione.
Powy»szy dowód podaje te» sposób na rozwi¡zanie ukªadu kongruencji. Sposób ten zostaª ju» zademonstrowany w przykªadzie (8.4). Dla utrwalenia rozwi¡»my jeszcze jeden ukªad kongruencji.
8.6 Przykªad.
Ukªad kongruencji
x ≡ 5 (mod 8) x ≡ 7 (mod 14) x ≡ 21 (mod 35) 34
ma rozwi¡zanie, poniewa» zachodzi NWD(8,
(8, 14) | 5 − 7.
NWD
35) = 1,
(14, 35) | 7 − 21
NWD
oraz
Aby rozwi¡za¢ nasz ukªad zapisujemy
8 = 23 · 50 · 70 14 = 21 · 50 · 71 35 = 20 · 51 · 71 i zast¦pujemy ukªadem równowa»nym (przy czym pomijamy kongruencje o module 1)
x ≡ 5 (mod 8) x ≡ 7 (mod 2)
x ≡ 21
(mod 5)
x≡7 x ≡ 21
(mod 7) (mod 7)
Rozwi¡zaniami trzech podukªadów s¡ odpowiednio 5, 1 oraz 0. Zatem nasz ukªad kongruencji sprowadza si¦ do ukªadu
x ≡ 5 (mod 8) x ≡ 1 (mod 5) x ≡ 0 (mod 7), który rozwi¡zujemy stosuj¡c chi«skie twierdzenie o resztach i otrzymujemy rozwi¡zanie
x = 21
jednoznaczne modulo 280.
35
Wykªad 9 RSA i gra w orªa i reszk¦ przez telefon W rozdziale tym poka»emy kilka zastosowa« rozkªadu liczb na czynniki. System kryptograczny RSA (od nazwisk twórców: Rivest Shamir Adleman), który tu przedstawimy, oparty jest na problemie znalezienia rozkªadu liczby zªo»onej na czynniki pierwsze. Niejako efektem ubocznym jest tu zwi¡zana z rozwi¡zywaniem kongruencji kwadratowych gra w orªa i reszk¦ przez telefon. Na pocz¡tek, zauwa»my »e, pomno»enie dwóch dwu-cyfrowych liczb pierwszych, powiedzmy 23 i 47 nie powinno sprawi¢ nam wi¦kszego problemu. Natomiast pytanie o rozkªad liczby 2047 (wiemy, »e jest ona iloczynem dwóch dwu-cyfrowych liczb pierwszych) jest raczej trudne.
n = pq , gdzie p oraz q s¡ liczbami pierwszymi, to znajomo±¢ warto±ci funkcji Eulera ϕ(n) = n + 1 − p − q jest równowa»na znajomo±ci liczb p oraz q . Istotnie, je±li znamy n, p oraz q , bez problemu mo»emy obliczy¢ ϕ(n) = n + 1 − p − q . Je»eli natomiast znamy n oraz ϕ(n), to znamy te» n = pq oraz n + 1 − ϕ(n) = p + q i »eby obliczy¢ p oraz q , rozwi¡zujemy w Je±li
miar¦ prosty ukªad równa« stopnia drugiego. W przypadku systemu RSA, kluczem szyfruj¡cym (jawnym) jest
(n, e),
n jest iloczynem dwóch liczb pierwszych, a e jest liczb¡ wzgl¦dnie pierwsz¡ z ϕ(n). Kluczem deszyfruj¡cym (tajnym) jest natomiast (n, d), gdzie d jest liczb¡ odwrotn¡ do e modulo ϕ(n). Znajomo±¢ rozkªadu liczby n oraz liczba ϕ(n) nie s¡ potrzebne do szyfrowania ani do deszyfrowania, wi¦c lepiej gdzie
o tym zapomnie¢. Najpopularniejsz¡ metod¡ ªamania RSA jest wªa±nie znajdywanie rozkªadu liczby
n.
Je±li
n jest liczb¡ 300 bitow¡, lub krótsz¡ (tj.
ma
co najwy»ej 300 bitów w rozwini¦ciu dwójkowym - okoªo 100 cyfr dziesi¦t-
36
nych), to mo»na j¡ rozªo»y¢ w kilka godzin u»ywaj¡c domowego komputera z powszechnie dost¦pnym (darmowym) oprogramowaniem. O kluczach 512 bitowych wiadomo od roku 1999, »e s¡ one ªamalne przy u»yciu klastra zªo»onego z kilkuset komputerów pracuj¡cych nieprzerwanie kilka tygodni. Teoretyczny komputer TWIRL opisany przez A. Shamira i E. Tromera w 2003 roku zakwestionowaª bezpiecze«stwo kluczy 1024 bitowych. Obecnie rekomendowan¡ dªugo±ci¡ klucza jest przynajmniej 2048 bitów. Istotnym zagro»eniem bezpiecze«stwa szyfrów RSA s¡ obecnie komputery kwantowe. Wracaj¡c szczegóªów zwi¡zanych z RSA, przeksztaªceniem szyfruj¡cym f : Zn → Zn okre±lona wzorem f (P ) = P e mod n. Przeksztaª−1 odwrotna do f i okre±lona wzorem ceniem deszyfruj¡cym jest funkcja f −1 d f (C) = C mod n. Teksty jawne i zaszyfrowane s¡ zapisane za pomoc¡
jest funkcja
tego samego alfabetu licz¡cego N symboli. Wybieramy liczby k i l tak, aby N k < n < N l . Jako jednostki tekstu jawnego bierzemy bloki po k liter, które traktujemy jako liczby
k cyfrowe
w systemie o podstawie
nostkami zaszyfrowanymi b¦d¡ bloki po
l
N.
Podobnie, jed-
Zatem ka»dy blok tekstu l zaszyfrowanego ma przypisan¡ warto±¢ liczbow¡ mi¦dzy 0 i N − 1.
9.1 Przykªad.
Przyjmiemy
liter.
N = 26, k = 3 i l = 4.
Zatem jednostki tekstu
jawnego s¡ trigramami, a jednostki tekstu zaszyfrowanego tetragramami. Chcemy przesªa¢ wiadomo±¢ TAK do u»ytkownika j¡cy
A, który ma klucz szyfru-
(46927, 39423).
W tym celu szukamy najpierw odpowiednika liczbowego 2 sªowa TAK. Jest to 19 · 26 + 0 · 26 + 10 = 12854. Nast¦pnie obliczamy 1285439423 mod 46927 otrzymuj¡c w wyniku
14251 = 0 · 263 + 21 · 262 + 2 · 26 + 3, a to daje nam kryptotekst tekst uzyskuj¡c kryptogram
avbc. Tym samym kluczem zaszyfrowano inny bc. Czy jeste± w stanie, odtworzy¢ tekst jawny?
Adresat ma swój klucz rozszyfrowuj¡cy (46927, 26767), który pozwala mu 26767 obliczy¢ 14251 mod 46927 = 12854, a to mu daje sªowo TAK. U»ytkownik systemu RSA z powy»szego przykªadu wygenerowaª swoje klucze u»ywaj¡c liczb pierwszych 281 i 167. Oczywi±cie, u»yli±my tutaj bardziej ,,wyobra»alne liczby ni» to si¦ zwykle stosuje.
eby podnie±¢ du»¡
liczb¦ do (cz¦sto jeszcze wi¦kszej) pot¦gi stosujemy algorytm iterowanego podnoszenia do kwadratu. Dla przykªadu obliczymy
348171
mod 1019. 37
W tym celu zapisujemy 7 +25 +23 +2+1
348171 = 3482 =
2 !2 2 2 2 2 3482 · 348 · 348 · 348 · 348.
Nasze pot¦gowanie sprowadza si¦ zatem do podnoszenia do kwadratu lub mno»enia przez 348, przy czym za ka»dym razem wynik dziaªania jest redukowany modulo 1019. Po wykonaniu oblicze« otrzymujemy 127. Funkcja szyfruj¡ca w systemie RSA jest typowym przykªadem
jednokierunkowej, tj.
funkcji
takiej której warto±ci mo»na bez problemu obliczy¢, ale
znaj¡c warto±¢, nie mo»na obliczy¢ argumentu, dla którego ta warto±¢ jest przyjmowana. Dodatkowo funkcja ta jest ró»nowarto±ciowa (1-1). Podobn¡ funkcj¦, tyle »e 2-1 mo»na wykorzysta¢ przy grze w orªa i reszk¦ przez telefon. Zaªó»my, »e Alicja i Stefan s¡ krótko po rozwodzie i zdecydowali si¦ rzuci¢ monet¡ by zdecydowa¢, do kogo ma nale»e¢ samochód. Jedno nie chce widzie¢ drugiego, wi¦c spotkanie w celu dokonania rzutu nie wchodzi w rachub¦. Aby im pomóc, wykorzystamy stosunkowo maªe liczby, »eby caªy czas kontrolowa¢ przebieg gry. Niech wi¦c
n = 341 = 11 · 31.
Liczby 11 oraz 31
s¡ znane Alicji, a Stefan zna tylko ich iloczyn, tj. 341.
2 1. Stefan wybiera losowo liczb¦ 0 < x ≤ 340 i oblicza warto±¢ x . Zaªó»my, 2 »e x = 134, wi¦c x = 224. Alicja otrzymuje tylko liczb¦ 224.
y = 224 oraz wiedz¡c, »e 341 = 11 · 31, oblicza 2 cztery pierwiastki równania x = 224 modulo 341. Robi to w nast¦pu2 j¡cy sposób. Poniewa» x ≡ 224 (mod 341), wi¦c
2. Alicja po otrzymaniu
x2 ≡ 224 ≡ 4 x2 ≡ 224 ≡ 7
(mod 11) (mod 31)
st¡d mamy jedn¡ z czterech mo»liwo±ci
x ≡ ± 2 (mod 11) x ≡ ± 10 (mod 31) Stosuj¡c oznaczenia z dowodu chi«skiego twierdzenia o resztach roz-
a1 = 2, m1 = 11, a2 = 10, M1 = 31 oraz M2 = 11. Stosuj¡c
wi¡zujemy powy»szy ukªad nast¦puj¡co:
m2 = 31, M = 341.
Obliczamy teraz
38
algorytm Euklidesa lub w inny sposób obliczamy
N1 = 6
i
N2 = 17.
Teraz ju» bez trudu otrzymujemy
x = 2 · 31 · 6 + 10 · 11 · 17 = 2242, co modulo 341 daje 196. Alicja mo»e t¦ liczb¦ potraktowa¢ jako swoj¡ szcz¦±liw¡ i wysªa¢ j¡ Stefanowi, lub te» obliczy¢ trzy pozostaªe liczby rozwi¡zuj¡c nast¦puj¡ce ukªady kongruencji
x ≡ −2 (mod 11); x ≡ 2 (mod 11); x ≡ −2 x ≡ 10 (mod 31); x ≡ −10 (mod 31); x ≡ −10 Wówczas do dyspozycji b¦dzie miaªa liczby i
−134,
196
oraz
134
(mod 11); (mod 31). (tak»e
−196
ale to si¦ nie liczy) i b¦dzie w prawdziwej rozterce decyduj¡c,
czy ma wysªa¢ 3. Je±li wysªaªa
x2 = 196,
x1 = 134
czy te»
x1 = 134.
Stefan ma pecha, poniewa» nie zna on liczby
196, której Alicja natychmiast za»¡da. 4. Je»eli jednak Alicja wysªaªa
x2 = 196,
wygrywa Stefan i na dowód
wygranej przesyªa Alicji liczb¦ 134. Zauwa»my, »e mo»emy tu zastosowa¢ ka»d¡ liczb¦ dwóch liczb pierwszych
p i q,
n, która jest iloczynem
przy czym je±li gramy faktycznie o samochód
to liczby te musz¡ by¢ na tyle du»e i tak dobrane, »eby nie mo»na byªo zbyt szybko znale¹¢ rozkªadu liczby
n.
Liczby
p = 11
oraz
q = 31
z powy»-
szego przykªadu mog¡ co najwy»ej sªu»y¢ do gry o rozbite lusterko boczne. Zauwa»my te», »e w punkcie 4, Stefan mo»e udowodni¢ swoj¡ wygran¡ znajduj¡c bez problemu rozkªad liczby
n,
poniewa» NWD(x1
od 1, czyli stanowi nietrywialny dzielnik liczby
39
n.
− x2 , n)
jest wi¦kszy
Wykªad 10 Kongruencje wy»szych stopni Jak ju» zauwa»yli±my, teza twierdzenia Lagrange'a (7.1) nie zachodzi w przypadku, gdy moduªem jest liczba zªo»ona. eby rozwa»a¢ moduªy zªo»one, potrzebne jest jeszcze chi«skie twierdzenie o resztach (8.2). Zajmiemy si¦ kongruencjami typu
f (x) ≡ 0 (mod m),
gdzie
f (x)
jest wielomianem o wspóª-
czynnikach caªkowitych. Stopie« tego wielomianu jest stopniem kongruencji. Rozwa»my nast¦puj¡cy przykªad.
10.1 Przykªad.
Chcemy znale¹¢ wszystkie liczby n, których ostatnie trzy n2 . Od razu zauwa»amy, »e takimi liczbami s¡
cyfry s¡ takie same jak w 0 oraz 1.
Po chwili zauwa»amy te», »e 1000, 1001 i wszystkie liczby ko«-
cz¡ce si¦ na 000 lub 001 maj¡ wymagan¡ wªasno±¢.
Dochodzimy wi¦c do
kongruencji
n ≡ n2
(mod 1000),
(10.1)
której rozwi¡zanie da nam wszystkie szukane liczby. Jest to kongruencja 2 drugiego stopnia (f (n) = n − n ). Jej rozwi¡zaniami (modulo 1000) s¡ 0, 1, 376, 625. Gdyby w przykªadzie 10.1 moduª zaliby±my podstawiaj¡c za od
m.
n
m byª maªy, to kongruencj¦ 10.1 rozwi¡-
wszystkie nieujemne liczby caªkowite mniejsze
Metoda ta nie pracuje, je±li
m jest du»¡ liczb¡.
W rozdziale tym poka-
»emy, »e kongruencje o moduªach zªo»onych mo»na zredukowa¢ do kongruencji o moduªach pierwszych. To pozwoli nam rozwi¡za¢ niektóre kongruencje.
pierwiastkiem modulo m wielomianu f (x) o wspóªczynnikach caªkowitych nazywamy tak¡ liczb¦ r , »e f (r) ≡ 0 (mod m). Je±li r 0 jest pierwiastkiem wielomianu f (x) modulo m oraz r ≡ r (mod m), to z Przypomnijmy, »e
40
f (r) ≡ f (r0 ) (mod m), czyli r0 te» jest pierwiastkiem wielomianu f (x) modulo m. Nasze rozwa»ania na temat pierwiastków b¦dziemy ogranicza¢ do Zm i mówi¡c rozwi¡zanie, mamy na my±li rozwi¡zanie modulo m.
twierdzenia 1.7 wynika, »e
Przykªady. 10.2. Wielomian x2 + 2 podstawiaj¡c za
10.3.
x
Wielomian
nie ma pierwiastków modulo 7.
Sprawdzamy to
kolejne liczby 0, 1, 2, 3, 4, 5, 6.
x2 − 2
ma w
Z7
dokªadnie dwa pierwiastki: 3 i 4.
Zauwa»my, »e wielomiany z powy»szych przykªadów s¡ stopnia drugiego, wi¦c na mocy Twierdzenia Lagrange'a nie mog¡ mie¢ wi¦cej ni» 2 pierwiastki.
10.4.
Wielomian
x2 − 1
ma w
Z12
cztery pierwiastki: 1, 5, 7 oraz 11.
m na moduªy b¦αk α1 α2 d¡ce pot¦gami liczb pierwszych z rozkªadu m. Je±li m = p1 p2 . . . pk , to αi kongruencja f (x) ≡ 0 (mod m) implikuje k kongruencji f (x) ≡ 0 (mod pi ), gdzie 1 ≤ i ≤ k . Odwrotna implikacja tak»e zachodzi, poniewa» pot¦gi Rozwa»ymy teraz metod¦ redukcji moduªu zªo»onego
ró»nych liczb pierwszych s¡ kopierwsze.
10.5 Przykªad. Rozwa»my kongruencj¦ x2 ≡ 1 (mod 105).
Poniewa»
105 =
3 · 5 · 7, wi¦c nasza kongruencja jest równowa»na ukªadowi trzech kongruencji x2 ≡ 1 x2 ≡ 1 x2 ≡ 1
(mod 3) (mod 5) (mod 7).
Ka»d¡ z powy»szych kongruencji rozwi¡zujemy podstawiaj¡c kolejne liczby i otrzymujemy w trzech przypadkach po dwa rozwi¡zania: 1 i 2 modulo 3, 1 i 4 modulo 5 oraz 1 i 6 modulo 7. Dowolna kombinacja tych rozwi¡za« daje 2 rozwi¡zanie modulo 105. Oznaczmy przez r pierwiastek wielomianu x − 1 modulo 105. Wówczas
r
jest jednym z rozwi¡za« o±miu poni»szych ukªadów
kongruencji.
r≡1 r≡1 r≡1
(mod 3) (mod 5) (mod 7),
r≡2 r≡1 r≡1
(mod 3) (mod 5) (mod 7), 41
r ≡ 1 (mod 3) r ≡ 4 (mod 5) r ≡ 1 (mod 7),
r ≡ 2 (mod 3) r ≡ 4 (mod 5) r ≡ 1 (mod 7), r≡2 r≡1 r≡6
(mod 3) (mod 5) (mod 7),
r≡1 r≡4 r≡6
r≡1 r≡1 r≡6 (mod 3) (mod 5) (mod 7),
(mod 3) (mod 5) (mod 7), r≡2 r≡4 r≡6
(mod 3) (mod 5) (mod 7).
Rozwi¡zaniami (modulo 105) tych ukªadów kongruencji s¡, kolejno, 1, 71, 64, 29, 76, 41, 34 i 104. Wracaj¡c do przykªadu 10.1, kongruencja (10.1) jest równowa»na ukªadowi kongruencji
n ≡ n2 n ≡ n2
(mod 23 ) (mod 53 ).
(10.2)
Pierwsz¡ kongruencj¦ z (10.2) mo»emy jeszcze rozwi¡za¢ podstawiaj¡c kolejne liczby od 0 do 7. Przy drugiej kongruencji metoda ta zawodzi ze wzgl¦du na zbyt wiele (a» 125) liczb. Zastosujemy wi¦c inn¡ metod¦. Poniewa» kon2 gruencj¦ n ≡ n (mod 5) speªniaj¡ dwie liczby (modulo 5) 0 oraz 1, wi¦c kongruencj¦
n ≡ n2
(mod 52 )
(10.3)
0 + 5k1 oraz 1 + 5l1 . Podstawiamy te liczby do (10.3) 2 2 otrzymuj¡c 5k1 ≡ 0 (mod 5 ) oraz 5l1 ≡ 10l1 (mod 5 ). St¡d kongruencje k1 ≡ 0 (mod 5) i l1 ≡ 2l1 (mod 5), które daj¡ k1 = 0 oraz l1 = 0. Mamy
speªniaj¡ liczby postaci
zatem 2 rozwi¡zania modulo 25: 0 oraz 1. Rozwi¡zaniami modulo 125 drugiej 2 2 kongruencji z (10.3) s¡ liczby postaci 5 k2 oraz 1 + 5 l2 . Wykonuj¡c podobne obliczenia jak powy»ej dostajemy dwa rozwi¡zania: 0 i 1.
Aby rozwi¡za¢
zadanie postawione w przykªadzie 10.1, wystarczy rozwi¡za¢ cztery ukªady kongruencji
r ≡ e1 r ≡ e2 gdzie za
e1
oraz
e2
(mod 2) (mod 5),
podstawiamy 0 lub 1. Cztery szukane rozwi¡zania to 0,
1, 376 i 625.
42
Nasze rozumowanie uogólnimy, podaj¡c je w formie twierdzenia. Zdeniujemy przedtem poj¦cie pochodna wielomianu. Przypu±¢my, »e dany jest wielomian
f (x) = an xn + an−1 xn−1 + · · · + a1 x + a0 . Pochodn¡ wielomianu f (x)
nazywamy wielomian
f 0 (x) = nan xn + (n − 1)an−1 xn−1 + · · · + a1 . Zauwa»my teraz, »e
f (x + y) = f (x) + yf 0 (x) + y 2 g(x, y), gdzie
g(x, y)
(10.4)
jest pewn¡ wielko±ci¡, któr¡ nie jeste±my zainteresowani.
10.6 Twierdzenie. Niech f (x) b¦dzie wielomianem o wspóªczynnikach caªkowitych, a f 0 (x) jego pochodn¡. Przypu±¢my, »e element x0 speªnia kongruencj¦ f (x0 ) ≡ 0 (mod pk ) (dla k ≥ 1). Wówczas kongruencja wielomianowa f (x) ≡ 0 (mod pk+1 ) ma (a) dokªadnie jedno rozwi¡zanie x = x0 + pk t, je»eli p - f 0 (x0 ). Tutaj t jest rozwi¡zaniem kongruencji
pk tf 0 (x0 ) ≡ −f (x0 )
(mod pk+1 ).
(10.5)
(b) p nieprzystaj¡cych do siebie modulo pk+1 rozwi¡za« x = x0 + pk t, je±li p | f 0 (x0 ) oraz pk+1 | f (x0 ). Tutaj t przyjmuje warto±ci 0, 1, . . . , p − 1. (c) zero rozwi¡za« przystaj¡cych do x0 modulo pk , je»eli p | f 0 (x0 ) oraz pk+1 - f (x0 ). Dowód.
x jest rozwi¡zaniem kongruencji f (x) ≡ 0 (mod pk ), k k takim »e x ≡ x0 (mod p ). Mo»emy wi¦c zapisa¢ x = x0 + p t dla pewnej liczby caªkowitej t. Korzystaj¡c z równania (10.4) otrzymujemy Przypu±¢my, »e
f (x) ≡ f (x0 + pk t)
Ale
pk+1
2 ≡ f (x0 ) + pk tf 0 (x0 ) + pk t g(x, pk t) 2 | pk t , wi¦c f (x) ≡ f (x0 ) + pk tf 0 (x0 )
(mod pk+1 ). 43
(mod pk+1 ).
f (x) ≡ 0 (mod pk+1 ), 0 Przypu±¢my teraz, »e p - f (x0 ).
Pami¦taj¡c, »e
dostajemy (10.5). k Poniewa» p | f (x0 ), wi¦c kongruen-
cj¦ (10.5) mo»na zredukowa¢ do kongruencji liniowej (z niewiadom¡
f 0 (x0 )t ≡ −
f (x0 ) pk
która ma dokªadnie jedno rozwi¡zanie. x = x0 + tpk .
(b),
t)
(mod p), St¡d jednoznaczno±¢ rozwi¡zania
p | f 0 (x0 )
pk+1 | f (x0 ). Wówczas kongruencja (10.5) jest speªniona dla dowolnego t ∈ {0, 1, 2, . . . , p − 1}. St¡d p rozwi¡za« x = x0 + tpk . 0 k+1 Je±li p | f (x0 ) oraz p - f (x0 ), to kongruencja (10.5) przybiera sprzeczn¡ k+1 z zaªo»eniem posta¢ 0 ≡ −f (x0 ) (mod p ). Nie ma wi¦c rozwi¡za« postaci x = x0 + tpk , co pokazuje (c). Aby pokaza¢
10.7 Przykªad.
zaªó»my, »e
oraz
Rozwi¡»emy kongruencj¦
x2 + 4x + 2 ≡ 0
(mod 49).
(10.6)
f (x) = x2 +4x+2 oraz 49 = 72 . Zaczynamy wi¦c od kongruencji x + 4x + 2 ≡ 0 (mod 7), dla której znajdujemy rozwi¡zanie podstawiaj¡c po kolei wszystkie liczby od 0 do 6. Znajdujemy dwa pierwiastki x1 = 1 oraz x2 = 2. Poniewa» f 0 (x) = 2x + 4, wi¦c mamy 7 - f 0 (xi ) dla i = 1 oraz i = 2. Zastosujemy wi¦c cz¦±¢ (a) twierdzenia 10.6. Dla x1 otrzymujemy: Mamy tutaj 2
7tf 0 (1) ≡ −f (1) 7t · 6 ≡ −7 6t ≡ −1 t≡1 Zatem
x=1+7=8
72 ) 72 ) 7) 7).
jest pierwiastkiem (10.6). Podobnie,
7tf 0 (2) ≡ −f (2) 7t · 8 ≡ −14 8t ≡ −2 t≡5 wi¦c
(mod (mod (mod (mod
x = 2 + 7 · 5 = 37
(mod (mod (mod (mod
72 ) 72 ) 7) 7),
jest pierwiastkiem kongruencji (10.6).
44
10.8 Przykªad.
Rozwi¡»emy kongruencj¦
x2 + x + 7 ≡ 0 f 0 (x) = 2x + 1,
(mod 9).
(10.7)
x2 + x + 7 ≡ 0 (mod 3), otrzymu0 jemy x0 = 1. Tak si¦ jednak skªada, »e 3 | f (1) oraz 9 | f (1), wi¦c stosujemy twierdzenie 10.6(b), z którego wynika, »e x1 = 1 + 3 · 0 = 1, x2 = 1 + 3 · 1 = 4 i x3 = 1 + 3 · 2 = 7 s¡ pierwiastkami (10.7). Mamy tutaj
10.9 Przykªad.
a rozwi¡zuj¡c
Poszukamy pierwiastków z 1 modulo 16. Rozwa»ymy wi¦c
f (x) = x2 − 1. Modulo 8, ma on 4 pierwiastki: x1 = 1, x2 = 3, x3 = 5 i x4 = 7. Poniewa» f 0 (x) = 2x, wi¦c 2 | f 0 (xi ) dla i ∈ {1, 2, 3, 4}, ale 16 dzieli tylko f (x1 ) i f (x4 ). Na podstawie punktu (c) twierdzenia 10.6 wnioskujemy wi¦c, »e tylko x1 i x4 daj¡ pierwiastki modulo 16. A s¡ to, k zgodnie z punktem (b), 1, 9, 7 i 15. Ogólnie, je±li m = 2 , gdzie k ≥ 3, to k−1 wielomian f (x) ma dokªadnie 4 pierwiastki modulo m: 1, 2 − 1, 2k−1 + 1 k oraz 2 − 1, czyli −1.
wielomian
10.10 Przykªad.
Wró¢my do przykªadu 10.1.
Stosuj¡c twierdzenie 10.6, 2 otrzymujemy rozwi¡zania 0 i 1 dla obu kongruencji n ≡ n (mod 8) oraz 2 n ≡ n (mod 125). Zatem cztery rozwi¡zania kongruencji (10.1) otrzymamy po rozwi¡zaniu nast¦puj¡cych czterech ukªadów:
n1 ≡ 0 (mod 8) n1 ≡ 0 (mod 125) n3 ≡ 1 (mod 8) n3 ≡ 0 (mod 125) S¡ to:
n1 = 0, n2 = 376, n3 = 625
n2 ≡ 0 (mod 8) n2 ≡ 1 (mod 125) n4 ≡ 1 (mod 8) n4 ≡ 1 (mod 125). oraz
n4 = 1.
Zako«czymy ten rozdziaª jeszcze jednym przykªadem, który ma du»e znaczenie przy znajdywaniu rozkªadu liczb na czynniki oraz uzasadnia prawidªowo±¢ gry w orªa i reszk¦ przez telefon.
10.11 Przykªad.
p i q s¡ ró»nymi liczbami pierwszymi oraz x ≡ 1 (mod n) ma dokªadnie 4 rozwi¡zania, 2 2 poniewa» ka»da z kongruencji x ≡ 1 (mod p) oraz x ≡ 1 (mod q) ma dokªadnie dwa rozwi¡zania. Rozwi¡zania ±1 nazywamy trywialnymi. Je±li x jest nietrywialnym rozwi¡zaniem, to NWD(x − 1, n) oraz NWD(x + 1, n) s¡ liczbami p oraz q . Zatem je±li znamy nietrywialne rozwi¡zanie kongruencji x2 ≡ 1 (mod n), to znamy te» rozkªad liczby n. n = pq .
Przypu±¢my, »e 2
Wówczas kongruencja
45
Wykªad 11 Liczby pseudopierwsze Teoria liczb znalazªa najwi¦ksze zastosowanie w kryptograi, a tam potrzeba du»ych liczb pierwszych i to takich, których nikt nie zna. Pojawia si¦ zatem potrzeba szybkich algorytmów szukaj¡cych liczb pierwszych lub testuj¡cych liczby na pierwszo±¢. Warunek równowa»ny pierwszo±ci liczby, daje nam np. Twierdzenie Wilsona, które mówi, »e liczba
n
jest pierwsza wtedy i tylko
(n − 1)! ≡ −1 (mod n). Nie jest to jednak dobre kryterium ªatwiej sprawdzi¢ czy n jest liczb¡ pierwsz¡ dziel¡c j¡ przez kolejne liczby nieparzyste ni» oblicza¢ (n − 1)! (nawet modulo n). wtedy, gdy
Dobrym testem pierwszo±ci jest Maªe Twierdzenie Fermata (5.1).
Pro-
blem w tym, i» nie jest to warunek równowa»ny pierwszo±ci. Na przykªad,
2340 ≡ 1 chocia»
341
(mod 341),
(11.1)
nie jest liczb¡ pierwsz¡. Nasze rozwa»ania oprzemy jednak na
tym twierdzeniu, badaj¡c które liczby zªo»one speªniaj¡ tez¦ MTF. Liczb¦ zªo»on¡
pseudopierwsz¡ ),
n
nazywamy
pseudopierwsz¡ przy podstawie a
(lub
a-
je±li
an−1 ≡ 1 Piszemy wówczas w skrócie: dopierwsza przy podstawie
a
n
(mod n).
(11.2)
jest psp(a). Zauwa»my, »e ka»da liczba pseu-
jest wzgl¦dnie pierwsza z
a,
Jak wynika z (11.1), liczba 341 jest 2-pseudopierwsza. Jak pokazaª Sarrus w 1819 roku, jest to najmniejsza liczba pseudopierwsza przy podstawie 2. Kolejne odkrywane liczby psp(2) byªy nieparzyste. Dopiero w 1950, D.H. Lehmer odkryª pierwsz¡ parzyst¡ liczb¦ 2-pseudopierwsz¡. Najmniejsz¡ liczb¡ pseudopierwsz¡ przy podstawie 3 jest, natomiast, 91.
46
Skoro najmniejsze liczby pseudopierwsze s¡ tak du»e, to powstaje pytanie, czy jest ich niesko«czenie wiele. Odpowied¹ jest pozytywna.
11.1 Twierdzenie.
Mamy niesko«czenie wiele liczb pseudopierwszych przy
Dowód.
b¦dzie dowoln¡ liczb¡ pierwsz¡. Rozwa»my liczby
podstawie a.
Niech
p>2
n=
ap − 1 , a−1
m=
ap + 1 , a+1
N = nm.
nie jest dzielnikiem a, a − 1 ani a + 1. Wówczas z Maªego p−1 Twierdzenia Fermata mamy p | a − 1. Poniewa» a − 1 | ap−1 − 1 oraz ap−1 −1 NWD(p, a − 1) = 1, wi¦c p | . Zatem a−1 Przypu±¢my, »e
p
n−1=
ap − ap−1 + ap−1 − 1 ap−1 − 1 − 1 = ap−1 − 1 + a−1 a−1
jest podzielna przez
n−1
p.
Dodatkowo jeszcze,
n = 1 + a + a2 + · · · + ap−1 ,
wi¦c
jest sum¡ parzystej ilo±ci liczb o tej samej parzysto±ci, czyli jest liczb¡
parzyst¡. Zatem
2p | n − 1.
Dalej, mamy
m−1=
ap − a ap−1 − 1 =a . a+1 a+1
p - a + 1, wi¦c, podobnie jak poprzednio, zauwa»amy »e 2p | m − 1. N − 1 = nm − 1 = (n − 1)(m − 1) + (n − 1) + (m − 1), wi¦c 2p | N − 1.
Poniewa» Ale,
Zauwa»my teraz, »e
N = nm = czyli
N (a2 − 1) = a2p − 1
a2p − 1 ap − 1 ap + 1 · = 2 , a−1 a+1 a −1
i
a2p ≡ 1
(mod N ).
(11.3)
aN −1 − 1. Poniewa» 2p | N − 1, wi¦c istnieje liczba k , taka »e N − 1 = 2pk . Po podniesieniu obu stron kongruencji (11.3) do pot¦gi k
Rozwa»my
otrzymujemy
aN −1 ≡ 1 Zatem
N,
(mod N ).
która jest oczywi±cie liczb¡ zªo»on¡, jest psp(a).
Oczywi±cie, takich liczb
N
jest niesko«czenie wiele, poniewa» mamy nie-
sko«czenie wiele liczb pierwszych, za pomoc¡ których mo»emy zdeniowa¢ liczby
n
oraz
m. 47
Posªu»ymy si¦ algorytmem z powy»szego twierdzenia.
p = 5
Dla
a = 2
oraz
N = 341, a dla p = 7, liczb¦ 5461. Podobnie, p = 5, dostajemy liczb¦ N = 7381, pseudopierwsz¡
otrzymujemy liczb¦
podstawiaj¡c
a=3
oraz
przy podstawie 3. Ogólnie, mamy 5597 liczb psp(2) mniejszych od miliarda oraz 5804 liczby psp(3) mniejsze od miliarda. Posiadaj¡c baz¦ tych liczb mo»emy zastosowa¢ nast¦puj¡cy test pierwszo±ci dla liczb 1. sprawd¹, czy liczba
a = 2,
n
n
mniejszych od miliarda:
speªnia tez¦ Maªego Twierdzenia Fermata dla
je±li tak
n jest na li±cie n jest pierwsza.
2. sprawd¹, czy liczba stawie 2. Je±li nie,
3. Je±li tak, powtórz kroki 1 i 2 dla
liczb pseudopierwszych przy pod-
a = 3.
Jak wida¢, liczby pseudopierwsze nie s¡ tak g¦sto rozmieszczone jak liczby pierwsze. Wydaje si¦ wi¦c, »e bior¡c odpowiednio du»o pocz¡tkowych liczb pierwszych jako podstawy dojdziemy w ko«cu do sytuacji, w której nie znajdziemy liczb pseudopierwszych mniejszych od okre±lonej liczby. Jak odkryª w 1912 roku R.D. Carmichael, jest to sytuacja niemo»liwa. Liczb¦ zªo»on¡
liczb¡ Carmichaela, pierwszej z n. Jak pokazaª
n
jest psp(a) dla ka»dej liczby
a
n
nazywamy
je±li
wzgl¦d-
nie
w roku 1992 A. Granville, liczb Carmichaela
jest niesko«czenie wiele. Podamy przykªad jednej z nich.
11.2 Przykªad.
Mamy
561 = 3 · 11 · 17.
Niech
a
b¦dzie liczb¡ wzgl¦dnie
pierwsz¡ z 561. Korzystaj¡c z Maªego Twierdzenia Fermata, otrzymujemy:
a2 ≡ 1 (mod 3) a10 ≡ 1 (mod 11) a16 ≡ 1 (mod 17)
a560 ≡ (a2 )280 ≡ 1 (mod 3) a560 ≡ (a10 )56 ≡ 1 (mod 11) a560 ≡ (a16 )35 ≡ 1 (mod 17).
⇒ ⇒ ⇒
Dalej, z chi«skiego twierdzenia o resztach, dostajemy
a560 ≡ 1 (mod 561),
co oznacza, »e 561 jest liczb¡ Carmichaela. Do±¢ du»y post¦p w skuteczno±ci testów opartych na liczbach pseudopierwszych daje nast¦puj¡ca obserwacja. Je±li liczba p jest pierwsza, to kon2 gruencja x ≡ 1 (mod p) ma dokªadnie 2 rozwi¡zania: 1 i −1 (twierdzenie Lagrange'a). Z tego samego twierdzenia wynika, »e je»eli kongruencja
x2 ≡ 1
(mod n) 48
ma wi¦cej ni» dwa rozwi¡zania, to testowania liczby
n
n musi by¢ liczb¡ zªo»on¡.
na pierwszo±¢ sprowadza si¦ do szukania nietrywialnych
pierwiastków stopnia 2 z jedynki modulo by
Zatem problem
n.
Z oczywistych wzgl¦dów, b¦dziemy dalej rozwa»a¢ tylko nieparzyste liczr Skoro n jest nieparzysta, to n − 1 mo»na zapisa¢ w postaci 2 s, gdzie s
n.
r > 0. pseudopierwsza przy podstawie a. jest liczb¡ nieparzyst¡ oraz
Przypu±¢my, »e liczba n jest pierwsza lub n−1 Wówczas a ≡ 1 (mod n). Rozwa»amy
po kolei liczby
x1 = a2s mod n,
x0 = as mod n,
...
rs
x r = a2
mod n.
Zauwa»my, »e aby obliczy¢ warto±ci wszystkich wyrazów ci¡gu
X = (x0 , x1 , . . . , xr ), wystarczy obliczy¢ redukowa¢ modulo
x0 , a nast¦pnie podnosi¢ j¡ sukcesywnie do kwadratu i n otrzymuj¡c kolejne wyrazy. Ostatecznie, mamy 3 mo»-
liwo±ci: 1. istnieje 2. istnieje 3.
0 < t ≤ r, 0 < t ≤ r,
takie »e takie »e
xt = 1 oraz xt−1 = −1, xt = 1, xt−1 6= ±1,
x0 = 1.
i > t mamy xi = 1. Zatem je±li w pewnym momencie konstrukcji w ci¡gu X pojawi si¦ 1, to wszystkie nast¦pne wyrazy n−1 te» s¡ równe 1. Poniewa» xr = a , wi¦c xr = 1. Je±li speªniony jest 2 warunek 2, to oznacza to, »e kongruencja x ≡ 1 (mod n) ma wi¦cej ni» dwa pierwiastki (bo 1, −1 oraz xt−1 ), czyli n na pewno nie jest liczb¡ pierwsz¡. Oczywi±cie, je±li
xt = 1,
to dla
Pozostaªe przypadki daj¡ nast¦puj¡c¡ denicj¦.
n jest nieparzyst¡ psp(a). Mówimy, »e n jest liczb¡ silnie pseudopierwsz¡, przy podstawie a lub spsp(a), je»eli as ≡ 1 (mod n) lub 2t s istnieje 0 < t < r , takie »e a ≡ −1 (mod n), gdzie n − 1 = 2r s, s jest liczb¡ nieparzyst¡ oraz r > 0. W terminologii ci¡gu X mamy, »e n jest spsp(a), je±li jest speªniony Przypu±¢my, »e
warunek 1 lub 3.
11.3 Przykªad. 2
2 · 85
Rozwa»my najmniejsz¡ psp(2), czyli 341.
Mamy
340 =
x0 = 32, x1 =1. Oznacza to, »e 341 nie jest spsp(2). Co wi¦x0 jest nietrywialnym pierwiastkiem kwadratowym z 1 modulo 341, wi¦c mo»emy znale¹¢ rozkªad 341 obliczaj¡c NWD(32 − 1, 341) = 31 oraz NWD(32 + 1, 341) = 11. oraz
cej, poniewa»
49
11.4 Przykªad.
n = 561.
Jest to liczba Carmichaela, czyli jest ona 4 pseudopierwsza przy ka»dej podstawie. Mamy 560 = 2 · 35 i niech a = 2. Wówczas
x0 = 263, x1 = 166, x2 = 67, x3 = 1.
11.5 Przykªad. jest
We¹my
Zatem 561 nie jest spsp(2).
Najmniejsz¡ liczb¡ silnie pseudopierwsz¡ przy podstawie 2
2047 = 23 · 89. Poka»emy, »e jest to istotnie liczba silnie pseudopierwsza. 2046 = 2 · 1023 oraz x0 = 1.
Mamy
Wszystkich liczb psp(2) mniejszych od dziesi¦ciu miliardów jest 14884, ale liczb spsp(2) jest ju» tylko 3291. Najmniejsz¡ liczb¡ b¦d¡c¡ jednocze±nie spsp(2) oraz spsp(3) jest
1373653 = 829 · 1657.
Nie ma liczby mniejszej od
dziesi¦ciu miliardów, która by byªa jednocze±nie spsp(a) dla liczb dziaªu
[2, 13].
a
z prze-
Mimo to liczb silnie pseudopierwszych przy dowolnej podsta-
wie jest niesko«czenie wiele, co udowodnili C. Pomerance, J.L. Selfridge i S.S. Wagsta w 1980 roku. Trudny dowód ogólnego twierdzenia pomijamy i zadowolimy si¦ tylko dowodem w przypadku
11.6 Twierdzenie.
a = 2.
Je±li n jest nieparzyst¡ psp(2), to 2n − 1 jest spsp(2).
Dowód. Poniewa» n jest liczb¡ zªo»on¡, wi¦c tak»e 2n − 1 jest liczb¡ zªo»on¡. n−1 Dalej, n jest psp(2), wi¦c 2 ≡ 1 (mod n). n−1 Zapiszmy 2 − 1 = nk , przy czym liczba k (tak jak n) jest nieparzysta. n n Niech m = 2 −1. Wówczas m−1 = 2 −2 = 2nk . Zatem cz¦±ci¡ nieparzyst¡ m − 1 jest s = nk . n Poniewa» mamy oczywist¡ kongruencj¦ 2 − 1 ≡ 0 (mod m), wi¦c zan chodzi te» 2 ≡ 1 (mod m). Podnosz¡c strony tej kongruencji do pot¦gi k nk otrzymamy 2 ≡ 1 (mod m), czyli 2s ≡ 1 (mod m) i m jest spsp(2).
50
Wykªad 12 Pierwiastki pierwotne Rz¦dem elementu a modulo n nazywamy najmniejsz¡ liczb¦ dodatni¡ k , tak¡ »e ak ≡ 1 (mod n). Zauwa»my, »e, z uwagi na twierdzenie Eulera, k ≤ ϕ(n). B¦dziemy pisa¢ k = ordn a. Przypu±¢my, »e liczby
12.1 Przykªad.
a
oraz
n > 1
s¡ wzgl¦dnie pierwsze.
1 modulo n jest jeden, a rz¦dem −1 modulo n > 2 jest dwa, ale dla dowolnej liczby nieparzystej l (wi¦c i dla −1), zachodzi ord2 l = 1. Obliczaj¡c kolejne pot¦gi liczby 2 modulo 31, zauwa»amy, »e ord31 2 = 5. Podobnie obliczamy ord31 3 = 30. W tym ostatnim przypadku ordn a = ϕ(n). 5 Przypu±¢my, »e x ≡ 1 (mod n). Zatem ordn x ≤ 5. Je±li x 6≡ 1 (mod n), to rz¡d elementu x nie mo»e by¢ równy 1. Nie mo»e to by¢ te» 2, bo wówczas x5 ≡ (x2 )2 x ≡ x 6≡ 1 (mod n). Z podobnych przyczyn, rz¦dem elementu x modulo n nie mo»e by¢ 3 ani 4. Podobnie mo»emy pokaza¢, »e je±li dla p dowolnej liczby pierwszej p, x ≡ 1 (mod n), oraz x 6≡ 1 (mod n) to wtedy ordn x = p. Rz¦dem
Poka»emy teraz kilka podstawowych wªasno±ci rz¦du elementu. W ka»dym z nast¦puj¡cych twierdze« zakªadamy, »e
12.2 Twierdzenie. Dowód.
Oznaczmy
rz¦du.
jest wzgl¦dnie pierwsza z
Przypu±¢my, »e am ≡ 1 (mod n). Wówczas
ordn a
k = ordn a i zapiszmy m = qk +r, gdzie 0 ≤ r < k . 1 ≡ am ≡ (ak )q ar ≡ ar
r < k , wi¦c r = 0, Zatem k | m.
Poniewa»
a
n.
| m.
Mamy
(mod n).
bo inaczej mieliby±my sprzeczno±¢ z denicj¡
51
12.3 Wniosek.
1. Je±li ai ≡ aj (mod n), to i ≡ j (mod ordn a), 2. ordn a jest dzielnikiem ϕ(n). W szczególno±ci, je»eli n jest liczb¡ pierwsz¡, to ordn a | p − 1. 3. Je»eli ordn a = k , to 1, a, a2 , . . . , ak−1 s¡ ró»ne modulo n.
Dowód.
j Skoro a jest elementem odwracalnym i−j i−j modulo n, wi¦c istnieje element a oraz a ≡ 1 (mod n). Zatem i−j
i ≥ j.
1. Przypu±¢my, »e
musi by¢ wielokrotno±ci¡ rz¦du elementu
a,
czyli
i ≡ j (mod
ordn a).
2. Wynika bezpo±rednio z twierdzenia 12.2 oraz Maªego Twierdzenia Fermata lub Twierdzenia Eulera. 3. Wynika bezpo±rednio z punktu 1. Twierdzenie 12.2 oraz wniosek po nim pozwalaj¡ w istotny sposób uªatwi¢ obliczenie rz¦du liczby. Dla przykªadu, rozwa»my liczb¦
ϕ(31) = 30,
wi¦c dla liczby
a
ord31 a
wzgl¦dnie pierwszej z
31,
n = 31.
Poniewa»
mamy
∈ {1, 2, 3, 5, 6, 10, 15, 30} .
Wystarczy wi¦c sprawdzi¢ tylko 8 liczb zamiast 30. 2 n−1 Je±li ordn a = n−1, to zbiór {0, a, a , . . . , a } jest peªnym ukªadem reszt
{0, 1, 2, . . . , n − 1}, zwªaszcza je±li chcemy bada¢ wªasno±ci multyplikatywne modulo n. Je»eli jest nam znany rz¡d liczby a modulo n, to dobrze byªoby zna¢ szybk¡ metod¦ wyznaczenia rz¦du dowolnej pot¦gi liczby a. Tak¡ metod¦ modulo
n
i mo»e on by¢ u»ywany w miejscu
daje nam nast¦puj¡ce twierdzenie.
12.4 Twierdzenie. Dowód.
Oznaczmy
Je±li
l=
(a, n) = 1, to
NWD
ordn a
(
NWD ordn
a, k)
ordn a
k
k
ordn a
(
NWD ordn
a, k)
.
. Poniewa»
(ak )l ≡ akl ≡ (aordn a )(k/NWD(ordn a, k)) ≡ 1 wi¦c ordn a
=
(mod n),
| l.
m = ordn ak . Wówczas (ak )m ≡ akm ≡ 1 (mod n), wi¦c ordn a | km. Zapiszmy km = c · ordn a dla pewnej liczby c. Obie strony ostatniej równo±ci podzielmy przez NWD(ordn a, k). Otrzymamy Oznaczmy teraz
k (
NWD ordn
a, k) 52
m = cl.
Ale NWD
yk =
, l =1 NWD(ordn a, k) k
(
NWD ordn
a, k),
czyli
gdy» istniej¡ takie liczby
y NWD(ordk n a, k) + xl = 1.
wcze±niej udowodnionego daje nam
x
y,
oraz
Zatem
»e
x · ordn a +
l | m,
co wobec
l = m.
U»ywaj¡c wzoru z powy»szego twierdzenia i wiedz¡c, »e ordn a
= 12,
otrzymujemy
k ordn a
k
0
1
2
3
4
5
6
7
8
9
10
11
1
12
6
4
3
12
2
12
3
4
6
12
Niech a b¦dzie liczb¡ wzgl¦dnie pierwsz¡ z n. Liczba a jest pierwiastkiem pierwotnym modulo n, je±li ordn a = ϕ(n). Pierwiastkiem pierwotnym mo2 dulo 31 jest liczba 3, ale nie jest nim liczba 2. Poniewa» a ≡ 1 (mod 8) dla dowolnej liczby a wzgl¦dnie pierwszej z 8, wi¦c nie ma pierwiastków pierwotnych modulo 8. Ostatni fakt uogólnimy w nast¦puj¡cym twierdzeniu.
12.5 Twierdzenie. dulo 2 .
Je±li k ≥ 3, to nie ma pierwiastka pierwotnego mo-
k
Dowód. Przypu±¢my, 2 2k−1 wi¦c a, a , . . . , a
k k−1 istnieje. Poniewa» ϕ(2 ) = 2 , k s¡ ró»nymi elementami modulo 2 i wszystkie one s¡ k odwracalne. Co wi¦cej, nie ma innego elemnetu odwracalnego modulo 2 ni» k te, które znajduj¡ si¦ na li±cie. Istnieje zatem tylko jeden element modulo 2 , »e taki pierwiastek
a
który ma rz¡d 2, gdy» je±li
ord2k a
to NWD
i, 2k−1 = 2k−2 ,
czyli
i
=
2k−1 = 2, NWD(i, 2k−1 )
i = 2k−2 . x2 ≡ 1
Poka»emy teraz, »e kongruencja
(mod 2k )
ma przynajmniej 4 rozwi¡zania, wi¦c elementów odwracalnych modulo
2k
rz¦du 2 jest wi¦cej ni» 1. St¡d otrzymamy sprzeczno±¢. 2 k Rozwa»my wi¦c kongruencj¦ x ≡ 1 (mod 2 ). Jej pierwiastkami s¡ 1 k−1 oraz −1, ale tak»e liczby y1 = 2 − 1 i y2 = 2k−1 + 1 (porównaj z przykªadem 10.9), poniewa»
yi2 = (2k−1 ± 1)2 = 22(k−1) ± 2k + 1 ≡ 1 53
(mod 2k ).
Udowodnione wªa±nie twierdzenie jest rezultatem negatywnym, poniewa» mówi nam, dla jakich liczb nie nale»y szuka¢ pierwiastków pierwotnych. Za-
n=2
uwa»my, »e dla
oraz
n = 4,
pierwiastki pierwotne modulo
n
istniej¡.
Istnieje te» pierwiastek pierwotny modulo 31.
12.6 Przykªad. ϕ(16) = 8).
Nie ma elementu rz¦du 8 modulo 16 (bo
16 = 24
Mamy te» 8 elementów odwracalnych modulo 16.
nich jest element neutralny 1, który ma rz¡d 1.
oraz
Jednym z
Mamy te» trzy elementy
rz¦du 2: 7, 9 i 15. Pozostaªe 4 elementy (3, 5, 11, 13) s¡ rz¦du 4. Je±li istnieje pierwiastek pierwotny modulo
n,
to z jego pomoc¡ mo»emy
rozwi¡zywa¢ kongruencje wykªadnicze. Dla przykªadu rozwa»my
n = 17 oraz
liczb¦ 3. Mamy
k k
3
mod 17
k k
3
mod 17
1
2
3
4
5
6
7
8
3
9
10
13
5
15
11
16
9
10
11
12
13
14
15
16
14
8
7
4
12
2
6
1
x 11 Rozwi¡»emy kongruencj¦ 7 ≡ 4 (mod 17). Poniewa» 7 ≡ 3 (mod 17) 12 oraz 4 ≡ 3 (mod 17), wi¦c nasza kongruencja sprowadza si¦ do 311x ≡ 312
(mod 17).
Zatem
11x ≡ 12 czyli
x = 4 + 16k ,
gdzie
(mod 16),
k ∈ Z.
U»ywaj¡c pierwiastków pierwotnych mo»emy te» ªatwo znale¹¢ liczb¦ odwrotn¡ do danej. Na przykªad, dla
13 ≡ 34 St¡d
n = 17
oraz
a=3
mamy
(mod 17).
13−1 ≡ 316−4 ≡ 4 (mod 17).
Niestety, okazuje si¦, »e dla wi¦kszo±ci liczb zªo»onych nie ma pierwiastka pierwotnego.
54
Wykªad 13 Istnienie pierwiastków pierwotnych Pokazali±my ju», »e o ile k > 2, to nie istniej¡ pierwiastki pierwotne mo2k . Nast¦pne twierdzenie znacznie rozszerzy klas¦ liczb, dla których nie
dulo
ma pierwiastków pierwotnych.
13.1 Twierdzenie. Przypu±¢my, »e p jest nieparzyst¡ liczb¡ pierwsz¡.
Je»eli n 6= pk oraz n 6= 2pk dla pewnego k > 0, to nie istnieje pierwiastek pierwotny modulo n. Dowód.
n speªnia zaªo»enia twierdzenia, to n = rs, gdzie r > 2, s > 2 oraz NWD(r, s) = 1. Wówczas ϕ(n) = ϕ(r)ϕ(s), przy czym zarówno ϕ(r) jak i ϕ(s) jest liczb¡ parzyst¡. Z twierdzenia Eulera mamy: Je±li
a a
ϕ(r)ϕ(s) 2 ϕ(r)ϕ(s) 2
Zatem, poniewa» NWD(r,
≡ a
s) = 1, a
ϕ(s) 2
≡1
(mod r),
ϕ(r) ϕ(s) 2
≡1
(mod s).
≡ aϕ(r)
otrzymujemy
ϕ(r)ϕ(s) 2
≡1
ϕ(n) 2
(mod rs),
≡ 1 (mod n) dla dowolnej liczby a wzgl¦dnie pierwszej z n. Czyli »adna liczba a wzgl¦dnie pierwsza z n nie mo»e by¢ pierwiastkiem pierwotnym modulo n.
czyli
a
55
Poka»emy, »e dla pozostaªych liczb, tj.
dla pot¦g i podwojonych po-
t¦g nieparzystych liczb pierwszych pierwiastki pierwotne istniej¡.
Ale aby
udowodni¢ odpowiednie twierdzenie potrzebujemy pewnych wiadomo±ci na temat wykªadników uniwersalnych.
ϕ(n) mo»e by¢ poprawiona do takiej liczby w(n) < ϕ(n), »e dla dowolnej liczby a wzgl¦dnie pierwszej z n zachodzi Twierdzenie 6.6 mówi, »e liczba
kongruencja
aw(n) ≡ 1
(mod n).
(13.1)
λ(n)
i nazywamy
n, to λ(n) = ϕ(n).
W przykªa-
Najmniejsz¡ liczb¦ dodatni¡ o wªasno±ci (13.1) oznaczamy
wykªadnikiem uniwersalnym modulo n. Je±li istnieje pierwiastek pierwotny modulo
dzie 12.6 pokazali±my, »e λ(16) = 4. Rezultat ten mo»na uogólni¢ i pokaza¢, k k−2 »e λ(2 ) = 2 dla k ≥ 3. Poka»emy, »e dla ka»dego n istnieje element rz¦du
λ(n)
modulo
n.
13.2 Lemat.
element rz¦du Dowód.
Potrzebny nam b¦dzie nast¦puj¡cy lemat.
Przypu±¢my, »e ordn a = k , oraz (k, l) modulo n.
ordn b
= l. Wówczas istnieje
NWW
Zapiszmy
k = xu i l = yv ,
przy czym NWD(x, y) = 1, xy = NWW(k, l). u = x oraz ordn bv = y . Rozwa»my liczb¦
Z twierdzenia 12.4 wynika, »e ordn a c = au bv . Poniewa»
cxy ≡ (au )x (bv )y ≡ 1
(mod n),
| xy . Z drugiej strony, je±li ordn c 6= xy , to ordn c = x1 y1 , gdzie x1 | x, y1 | y i zachodzi przynajmniej jedna z nierówno±ci x1 < x, y1 < y . Mo»emy zaªo»y¢, »e y1 < y . Zapiszemy w tym wypadku x2 ordn c = xy1 , przy czym x1 x2 = x. Zatem
wi¦c ordn c
1 ≡ cxy1 ≡ (bv )xy1 Ale to oznacza, »e rz¡d wi¦c
y | y1 ,
bv
jest dzielnikiem
co jest sprzeczne z nierówno±ci¡ ordn c
Dla przykªadu rozwa»my ordn 7
(mod n).
= 30.
xy1 , a poniewa» y1 < y . Zatem
(x, y) = 1,
= xy = NWW(k, l).
n = 465.
Mo»na pokaza¢, »e ordn 2
Istnieje zatem element rz¦du 60 modulo 465.
= 20
oraz
Dowód lematu
in explicite. Mianowicie, rozpisujemy 20 = 4·5, NWW(20, 30) = 4 · 15 oraz NWD(4, 15) = 1. St¡d
pozwala wskaza¢ ten element
30 = 15 · 2 i otrzymujemy 5 2 liczba 2 · 7 ma rz¡d 60.
NWD
56
13.3 Twierdzenie. Dowód.
Dla ka»dego n istnieje liczba caªkowita a rz¦du λ(n).
M = max {ordn x : NWD(x, n) = 1}. Wówczas M ≤ λ(n). y , »e ordn y - M , to mo»emy skonstruowa¢ taki element t, »e ordn t = NWW(ordn a, M ) > M . Ale takich elementów nie ma, wi¦c rz¡d ka»dej liczby wzgl¦dnie pierwszej z n jest dzielnikiem M . M Oznacza to jednak, »e x ≡ 1 (mod n) dla ka»dej liczby x wzgl¦dnie pierwszej z n, czyli λ(n) ≤ M . Tak wi¦c λ(n) = M , a z denicji M wynika, »e istnieje liczba a rz¦du M . Zapiszmy
Je±li istnieje taka liczba caªkowita
Z powy»szego twierdzenie i twierdzenia Lagrange'a wynika twierdzenie o istnieniu pierwiastka pierwotnego modulo liczba pierwsza.
13.4 Twierdzenie. wotny modulo p.
Dla ka»dej liczby pierwszej p istnieje pierwiastek pier-
Dowód. Przypu±¢my, nie wprost, »e λ(p) < p − 1. Oznacza to, »e kongruenλ(p) cja x ≡ 1 (mod p) ma p − 1 > λ(p) pierwiastków modulo p, a to przeczy twierdzeniu Lagrange'a. Zatem λ(p) = p − 1 i element rz¦du λ(p) jest pierwiastkiem pierwotnym modulo p.
13.5 Wniosek.
Przypu±¢my, »e d | p − 1 oraz d > 0. Wówczas elementów rz¦du d modulo p jest ϕ(d).
Dowód.
Rozwa»my pierwiastek pierwotny
wynika, »e ordp g
p − 1) = p − 1 = d0 d.
St¡d NWD(i, Zapiszmy
0
i
=
g
modulo
d = NWD(i, p − 1) = NWD
Z twierdzenia 12.4
p−1 = d. NWD(i, p − 1)
p−1 , czyli istnieje liczba d Wtedy
p.
j(p − 1) , dd0 d
czyli NWD(j,
j,
taka »e
i = j(p − 1)/d.
= NWD(jd0 , dd0 ) = d0 NWD(j, d),
d) = 1, a takich liczb j modulo d i wykªadników i daj¡cych g rz¡d d jest ϕ(d).
jest dokªadnie
ϕ(d).
Zatem
Jak ju» zauwa»yli±my istniej¡ pierwiastki pierwotne modulo 4 oraz modulo dowolna liczba pierwsza.
Bior¡c pod uwag¦ przypadki liczb zªo»ok nych wykluczone przez twierdzenie 13.1, pozostaje nam rozwa»y¢ liczby p k oraz 2p , gdzie p jest nieparzyst¡ liczb¡ pierwsz¡ oraz k > 1. W trzech
57
nast¦puj¡cych twierdzeniach poka»emy istnienie pierwiastków pierwotnych modulo te liczby. Twierdzenia te poª¡czone s¡ ze sob¡ ªa«cuchem wynikania, tj. zaªo»enie nast¦pnego twierdzenia jest praktycznie tez¡ poprzedniego. Zaªo»enie pierwszego z tych twierdze« jest speªnione na mocy twierdzenia 13.4.
13.6 Twierdzenie.
Je±li g jest pierwiastkiem pierwotnym modulo p, to g lub g + p jest pierwiastkiem pierwotnym modulo p2 . Dowód.
k = ordp2 g . Skoro ϕ(p2 ) = p(p − 1), wi¦c k | p(p − 1). k 2 k Mamy zatem g ≡ 1 (mod p ), czyli tak»e g ≡ 1 (mod p). Poniewa» g jest pierwiastkiem pierwotnym modulo p, wi¦c p − 1 | k . St¡d k = p(p − 1) lub k = p − 1. W pierwszym przypadku g jest pierwiastkiem pierwotnym 2 modulo p . W drugim przypadku rozwa»my g + p. Oznaczmy l = ordp2 (g + p). Podobnie jak na pocz¡tku dowodu, mamy l | p(p − 1). Poniewa» g + p ≡ g (mod p), wi¦c g + p jest pierwiastkiem pierwotnym modulo p i p − 1 | l , czyli l = p − 1 lub l = p(p − 1). Przypu±¢my, »e zachodzi ten gorszy przypadek, czyli »e l = p − 1. Wówczas p p p (g + p) ≡ g + pg p−1 + p2 co± ≡ g p + p2 g p−1 ≡ g p (mod p2 ). 1 Niech
p−1 Ale z pierwszej cz¦±ci dowodu wynika g ≡ 1 (mod 2 (mod p ). Z drugiej strony, skoro l = p − 1, wi¦c (g + 2 2 Zatem g + p ≡ g (mod p ), co oznacza, »e p | p.
p2 ), wi¦c (g + p)p ≡ g p)p ≡ g + p (mod p2 ).
Tak wi¦c otrzymali±my sprzeczno±¢, która mówi, »e p2 .
l = p(p − 1) i g + p
jest pierwiastkiem pierwotnym modulo
13.7 Twierdzenie.
Je»eli g jest pierwiastkiem pierwotnym modulo p2 , to g jest te» pierwiastkiem pierwotnym modulo pk+1 dla k ≥ 2. Dowód.
p−1 Z Maªego Twierdzenia Fermata mamy g ≡ 1 (mod p), wi¦c istp−1 p−1 = 1 + kp. Ale g 6≡ 1 (mod p2 ), czyli nieje liczba caªkowita k , taka »e g
k
nie mo»e by¢ wielokrotno±ci¡
Zachodzi
k (p−1)
= (1 + kp)p
k
≡ 1 + pk · pk
k−1 (p−1)
= (1 + kp)p
k−1
≡ 1 + pk−1 · pk ≡ 1 + kpk (mod pk+1 ).
gp gp
p.
≡1
(mod pk+1 ), (13.2)
1 + kpk 6≡ 1 (mod p)k+1 . Przypu±¢my, »e s | p−1, r ≤ k oraz g ≡ 1 (mod pk+1 ). Wówczas tak»e spr 2 r g ≡ 1 (mod p ), wi¦c p(p − 1) | sp , czyli p − 1 | s, a zatem p − 1 = s. k+1 Tak wi¦c ordp g = pr (p − 1). Ale r nie mo»e by¢ mniejsza od k , bo to k+1 by dawaªo sprzeczno±¢ z 13.2. Zatem ordp g = pk (p − 1) = ϕ(pk+1 ).
Poniewa»
k
nie jest wielokrotno±ci¡
p,
wi¦c spr
58
13.8 Twierdzenie. Je±li g jest nieparzystym pierwiastkiem pierwotnym mo-
dulo pk (k ≥ 1), to g jest te» pierwiastkiem pierwotnym modulo 2pk . Je»eli g jest liczb¡ parzystym pierwiastkiem pierwotnym, to g + pk jest pierwiastkiem pierwotnym modulo 2pk .
Dowód. Na pocz¡tku dowodu zauwa»my, »e ϕ(2pk ) = ϕ(pk ). Przypu±¢my, s k »e g jest liczb¡ nieparzyst¡ oraz s = ord2pk g . Wówczas g ≡ 1 (mod 2p ), a s k co za tym idzie g ≡ 1 (mod p ). Poniewa» g jest pierwiastkiem pierwotnym k k k modulo p , wi¦c ϕ(p ) | s. Z drugiej strony s | ϕ(2p ) i, ostatecznie, s = k ϕ(2p ), czyli g jest pierwiastkiem pierwotnym modulo 2pk . k Przypu±¢my teraz, »e g jest liczb¡ parzyst¡ oraz t = ord2pk (g + p ). Podobnie jak do tej pory
1 ≡ (g + pk )t ≡ g t wi¦c
ϕ(pk ) | s i g + pk
(mod pk ),
jest pierwiastkiem pierwotnym modulo
2pk .
Rozwa»my dla przykªadu liczb¦ 29 oraz pierwiastek pierwotny 14 mo= 28 6= ϕ(292 ) = 29 · 28. Oznacza to, »e = 14 + 29 jest pierwiastkiem pierwotnym modulo 292 oraz modulo 29k
dulo 29. Okazuje si¦, »e ord292 14
43
k ≥ 3. Poniewa» 14 jest liczb¡ parzyst¡, wi¦c nie jest ona wzgl¦dnie pierwsza z 58 = 2 · 29 i 43 jest te» pierwiastkiem pierwotnym modulo 58 oraz k modulo 2 · 29 dla k ≥ 2. dla
59
Wykªad 14 Logarytm dyskretny jest pierwiastkiem pierwotnym modulo n. W naszym przyk k padku oznacza to, »e n = p lub n = 2p , gdzie p jest nieparzyst¡ liczb¡ y pierwsz¡. Je»eli g ≡ x (mod n), to mówimy »e y jest logarytmem dyskret-
Zaªó»my, »e
nym
lub
g
indeksem
z
x
przy podstawie
logg x ≡ y
g.
Mo»emy zapisa¢
g y ≡ x (mod n).
⇔
(mod ϕ(n))
(14.1)
Mamy tu funkcj¦
logg : Zn → Zϕ(n) ,
logg : x 7→ y,
której warto±ci s¡ trudne do obliczenia. Dla odmiany, warto±ci funkcji wykªadniczej obliczamy w miar¦ prosto. typowym przykªadem
logg jest wi¦c Tego rodzaju funkcje wyko-
Funkcja odwrotna do
funkcji jednokierunkowej.
rzystywane s¡ w kryptograi.
14.1 Przykªad. wi¦c
Niech
log3 (−1) = 8.
n = 17
oraz
g = 3.
Podobnie sprawdzamy, »e
38 ≡ −1 (mod 17), log3 4 = 12 oraz log7 4 = 4. Poniewa»
Podstawowe wªasno±ci logarytmu dyskretnego s¡ zawarte w nast¦puj¡cym twierdzeniu.
14.2 Twierdzenie.
Przypu±¢my, »e g jest pierwiastkiem pierwotnym modulo n. Zachodz¡ nast¦puj¡ce wªasno±ci. (a) logg 1 = 0, (b) logg g = 1, (c) logg (x1 x2 ) ≡ logg x1 +logg x2 (mod ϕ(n)) dla dowolnych liczb x1 , x2 ∈ Z, 60
(d) logg (xa ) ≡ a logg x (mod ϕ(n)) dla x, a ∈ Z, (e) dla dowolnych liczb x1 , x2 ∈ Z, logg x1 ≡ logg x2 (mod ϕ(n)) wtedy i tylko wtedy, gdy x1 ≡ x2 (mod n). Dowód.
g 0 = 1 oraz g 1 = g , wi¦c wªasno±ci (a) oraz (b) s¡ oczywiste. Aby udowodni¢ punkt (c), zapiszmy logg (x1 x2 ) ≡ y (mod ϕ(n)). Woy bec (14.1), oznacza to, »e g ≡ x1 x2 (mod n). Poniewa» g jest pierwiastkiem pierwotnym modulo n, istniej¡ liczby y1 oraz y2 , takie »e Poniewa»
g y1 ≡ x1
(mod n)
oraz
g y2 ≡ x2
(mod n).
y y Mno»¡c te kongruencje stronami otrzymujemy g 1 g 2 ≡ x1 x2 (mod n), czyli g y1 +y2 ≡ g y1 g y2 ≡ g y (mod n). Z Twierdzenia Eulera mamy y1 + y2 ≡ y
(mod ϕ(n)), Wªasno±¢
co nale»aªo pokaza¢.
(d)
udowadniamy najpierw dla nieujemnych
Indukcji Matematycznej. Dalej, z punktów
(a)
oraz
(c),
0 = logg 1 ≡ logg (xx−1 ) ≡ logg x + logg x−1
a
stosuj¡c Zasad¦
mamy
(mod ϕ(n)).
Z powy»szej kongruencji wynika bezpo±rednio przystawanie
logg x−1 ≡ − logg x (mod n). Dla dowolnej warto±ci ujemnej dla
a>0
i zast¡pienie
x
Aby udowodni¢ cz¦±¢ cz¦±ci
(c) i (d)
przez
(e)
a dowód wynika przez x−1 oraz a przez −a.
zastosowanie wyniku
twierdzenia, zauwa»my »e z udowodnionych ju»
wynika
0 = logg 1 ≡ logg x1 − logg x2 ≡ logg (x1 x−1 2 )
(mod ϕ(n)).
Wobec (14.1) powy»sza kongruencja jest równowa»na
g 0 = 1 ≡ x1 x−1 2 która jest równowa»na kongruencji
(mod n),
x1 ≡ x2 (mod n).
W nast¦pnych przykªadach podamy pewne zastosowania logarytmu dyskretnego.
61
14.3 Przykªad. kªadnicz¡
n = 17 oraz g = 3. 7 ≡ 4 (mod 17). Mamy kolejno Niech
7x ≡ log3 7x ≡ x log3 7 ≡ 11x ≡ x≡ Zatem
x = 4 + 16k ,
14.4 Przykªad.
gdzie
4 log3 4 log3 4 12 4
k∈Z
(mod (mod (mod (mod (mod
17) 16) 16) 16) 16).
jest rozwi¡zaniem naszej kongruencji.
n = 17 oraz g = 3, przy czym tym 8k ≡ 3 (mod 17). Przykªadaj¡c obustronnie
Ponownie rozwa»ymy 5
razem rozwa»ymy kongruencj¦
log3
Rozwi¡»emy kongruencj¦ wy-
x
mamy
log3 8k 5 log3 8 + 5 log3 k 5 log3 k log3 k k Ostatecznie
k = 10 + 17n,
gdzie
≡ ≡ ≡ ≡ ≡
log3 3 1 −9 11 311 ≡ 10
(mod (mod (mod (mod (mod
16) 16) 16) 16) 17).
n ∈ Z jest rozwi¡zaniem naszej kongruencji.
algorytm Shanksa na obliczenie logarytmu dyskretnego modulo liczba pierwsza p. Dokªadnie, liczby g oraz x s¡ znane (g jest pierwiastkiem pierwotnym), a chcemy obliczy¢ y = logg x. Zapiszmy y = mq + r dla pewnej ustalonej liczby m. Mamy Na zako«czenie tego wykªadu, podamy
g mq+r ≡ x (mod p),
czyli
g mq ≡ xg −r
(mod p).
m i odpowiadaj¡cych im g mq −r dla 0 ≤ q ≤ m − 1 oraz warto±ci r i odpowiadaj¡cych im yg dla 0 ≤ r ≤ mq −r m − 1. Teraz szukamy q oraz r, dla których g ≡ xg (mod p).
W nast¦pnym kroku tworzymy tablic¦ warto±ci
14.5√Przykªad. 6≈
37 − 1
Obliczymy
log2 22
p = 37.
Ustalamy liczb¦
m=
0
1
2
3
4
5
22
11
24
12
6
3
i tworzymy tabele.
q
0
1
2
3
4
5
6q
1
27
26
36
10
11
2
modulo
r 22 · 19r
Zauwa»amy liczb¦ 11, która jako jedyna powtarza si¦ w dolnym wierszu tabeli. Bierzemy liczby znad 11 i otrzymujemy
62
x = 6 · 5 + 1 = 31.
Wykªad 15 Pewne zastosowania pierwiastków pierwotnych Poka»emy tutaj, jaka jest posta¢ liczb Carmichaela oraz »e nie ma liczb ,,silnie Carmichaela.
Potrzebne nam b¦d¡ do tego trzy twierdzenia pomocnicze,
z których dwa b¦d¡ mówi¢ o postaci liczb Carmichaela.
15.1 Lemat. witej.
Liczba Carmichaela nie dzieli si¦ przez kwadrat liczby caªko-
Dowód. Niech n b¦dzie liczb¡ Carmichaela i niech p2 | n. Zatem dla dowolnej n−1 liczby a wzgl¦dnie pierwszej z n mamy a ≡ 1 (mod p2 ). Z Twierdzenia p(p−1) Eulera, mamy te» a ≡ 1 (mod p2 ). Zatem dla d = NWD(n − 1, p(p − 1)) d 2 zachodzi kongruencja a ≡ 1 (mod p ). Ale poniewa» p - n−1, wi¦c d | p−1, a st¡d
ap−1 ≡ 1 dla dowolnej liczby
(a, n) = 1
NWD
(mod p2 )
a wzgl¦dnie pierwszej z n.
(15.1)
Rozwa»my
oraz
(p + 1)
p−1
=
p−1 X p−1 j=0
j
pj
≡1−p 6≡ 1 (mod p2 ), co przeczy (15.1).
63
a = p+1.
Wówczas
Z powy»szego lematu wynika, »e ka»da liczba Carmichaela jest postaci
p1 p2 . . . pk ,
gdzie
p1 , p2 , . . . p k
s¡ ró»nymi liczbami pierwszymi.
15.2 Twierdzenie. Liczba n jest liczb¡ Carmichaela wtedy i tylko wtedy, gdy p − 1 | n − 1 dla ka»dego dzielnika pierwszego p liczby n. Dowód. liczby a
Zaªó»my, »e
n
jest liczb¡ Carmichaela. Oznacza to, »e dla dowolnej n zachodzi an−1 ≡ 1 (mod n). Niech p b¦dzie n−1 dzielnikiem pierwszym liczby n. Przypu±¢my, »e p | n. Wówczas a ≡1 wzgl¦dnie pierwszej z
(mod p).
g b¦dzie pierwiastkiem pierwotnym modulo p. Dobierzmy b n tak, aby b ≡ g (mod p) oraz b ≡ 1 (mod ). Taka liczba b istnieje z CTR p i jest jednoznaczna modulo n. Poniewa» p - b oraz »aden inny dzielnik n n−1 nie dzieli b, wi¦c NWD(b, n) = 1. Skoro n jest liczb¡ Carmichaela, b ≡1 (mod n). Z MTF i z faktu, »e b przystaje do g modulo p mamy ordp b = p−1, zatem p − 1 | n − 1. Odwrotnie, niech a b¦dzie liczb¡ wzgl¦dnie pierwsz¡ z n i niech p b¦dzie dzielnikiem pierwszym liczby n. Poniewa» p − 1 | n − 1, wi¦c istnieje k , taka n−1 »e (p − 1)k = n − 1. Zatem a = (ap−1 )k ≡ 1 (mod p). Bior¡c pod uwag¦ ka»d¡ liczb¦ pierwsz¡, która dzieli n oraz poprzedni lemat, otrzymujemy an−1 ≡ 1 (mod n). Niech
Niech
n
b¦dzie liczb¡ Carmichaela. Z denicji liczb Carmichaela wynika,
»e nie jest to liczba pierwsza. (ró»nych) liczb pierwszych, to
Zauwa»my, »e je±li
n
n = pq ,
dla dowolnych
nie mo»e by¢ liczb¡ Carmichaela. Istotnie,
p − 1 byªoby dzielnikiem liczby n − 1 = q(p − 1) + q − 1. p − 1 | q − 1. Podobnie zauwa»amy, »e q − 1 | p − 1. mamy p − 1 = q − 1, czyli p = q , a to ju» jest sprzeczno±¢ z
gdyby tak byªo, to
Ale to oznacza, »e Ostatecznie
lematem 15.1. Zatem ka»da liczba Carmichaela jest iloczynem przynajmniej trzech ró»nych liczb pierwszych.
15.3 Lemat.
Przypu±¢my, »e n jest nieparzyst¡ liczb¡ Carmichaela oraz n − 1 = 2 s, gdzie s jest liczb¡ nieparzyst¡ oraz r > 0. Wówczas istnieje co najwy»ej n2 liczb w modulo n, które speªniaj¡ któr¡kolwiek z kongruencji r
ws ≡ 1 w Dowód.
2i s
≡ −1
(mod n)
(15.2)
dla 0 ≤ i ≤ r.
(mod n)
n = p1 p2 . . . pk oraz pj − 1 = 2rj sj , gdzie sj -ty s¡ liczbami rj > 0 oraz 1 ≤ j ≤ k . Z twierdzenia 15.2 oraz z faktu, »e
Zapiszmy
nieparzystymi,
(15.3)
64
(p1 − 1)(p2 − 1) . . . (pk − 1) < n − 1, 2r1 +r2 +···+rk | 2r
mamy oraz
s1 s2 . . . sk < s.
ws ≡ 1 (mod pj ). Z twierdzenia 7.3, ma ona dokªadnie sj = NWD(s, pj − 1) rozwi¡za«. Z Chi«skiego Twierdzenia o Resztach s dostajemy wi¦c, »e kongruencja w ≡ 1 (mod n), która si¦ sprowadza do s ukªadu k kongruencji w ≡ 1 (mod pj ) ma dokªadnie s1 s2 . . . sk rozwi¡za«. Ustalmy teraz i i policzmy rozwi¡zania kongruencji (15.3). W tym celu Rozwa»my kongruencj¦
rozwa»ymy kongruencj¦ i
w2 s ≡ −1 Zauwa»my, »e z MTF wynika, »e
i < rj
(mod pj ).
(15.4)
dla dowolnego
j.
Oznaczmy
m = min {r1 , r2 , . . . , rk } . Mamy i < m. Z twierdzenia 7.3 dostajemy, »e kongruencja (15.4) ma dokªadi i nie 2 sj = NWD(2 s, pj − 1) rozwi¡za«. Z Chi«skiego Twierdzenia o Resztach, ki mamy, »e (15.3) ma 2 s1 s2 . . . sk rozwi¡za«.
w, które mog¡ Dla k ≥ 3 mamy:
Oszacujmy teraz liczb¦ tych z kongruencji (15.2), (15.3).
s1 s2 . . . sk +
m−1 X
speªnia¢ przynajmniej jedn¡
ki
2 s1 s2 . . . sk = s1 s2 . . . sk
i=0
2km − 1 1+ k 2 −1
2k − 2 + 2km 2k − 1 2 · 2r1 +r2 +···+rk ≤ s1 s2 . . . sk 2k − 1 n ≤ , 2
= s1 s2 . . . sk
a dla
k =2
szacujemy w (15.5)
22 − 2 ≤ 2r1 +r2 −1
(15.5)
podobnie otrzymuj¡c na
n ko«cu . 2
15.4 Twierdzenie. przy co najwy»ej
n 2
Nieparzysta liczba zªo»ona n jest silnie pseudopierwsza podstawach jednocze±nie.
Dowód.
n−1 Przypu±¢my, »e istnieje taka liczba a, »e a 6≡ 1 (mod n). Wówn−1 czas ka»dej liczbie b takiej, »e b ≡ 1 (mod n) odpowiada liczba ab, taka 65
(ab)n−1 6≡ 1 (mod n). wie a, to znajdziemy co »e
Zatem je±li n nie jest pseudopierwsza przy podstan podstaw, przy których n nie jest silnie najmniej 2
pseudopierwsza. Zaªó»my wi¦c, »e dla dowolnego pseudopierwsza przy podstawie Z lematu 15.1 wynika, »e
n
a.
a
wzgl¦dnie pierwszego z
Oznacza to, »e
n
n,
liczba
n
jest
jest liczb¡ Carmichaela.
jest iloczynem ró»nych liczb pierwszych, a z
twierdzenia 15.2 dostajemy, »e dla ka»dej z tych liczb pierwszych
p−1 | n−1.
Teza twierdzenia wynika bezpo±rednio z lematu 15.3.
n n mo»na poprawi¢ do . 2 4 Potraktujmy ten fakt jednak tylko jako ciekawostk¦ przyrodnicz¡. Jak pokazaª M.O. Rabin w 1980 roku, liczb¦
66