Matematyka Dyskretna
Andrzej Szepietowski
Rozdział 1
Teoria liczb
1.1
Dzielenie całkowitoliczbowe
Zacznijmy od przypomnienia szkolnego algorytmu dzielenia liczb naturalnych. Podziel-my 1743 przez 12. 1 4 5 1 7 4 3 : 1 2 1 2 5 4 4 8 6 3 6 0 3
W wyniku dzielenia otrzymali´smy iloraz 145 i reszt˛e 3. Liczby te spełniaj ˛a równanie
1743 = 145· 12 + 3
i reszta jest mniejsza od dzielnika. Podobnie mo˙zemy post ˛api ´c dla dowolnych liczb natu-ralnycha i b pod warunkiem, ˙ze b6= 0.
Twierdzenie 1.1 Dla dowolnych liczb naturalnycha oraz b > 0 istnieje dokładnie jedna
para liczb naturalnychq i r spełniaj ˛acych warunki:
• a = bq + r • 0 ≤ r < b
q nazywa si˛e ilorazem całkowitoliczbowym a przez b, a r nazywa si˛e reszt¸a z dzielenia
Zauwa˙zmy, ˙ze ilorazq jest zaokr¸agleniem w dół normalnego ilorazu q =ba/bc. Iloraz
całkowitoliczbowy liczba i b b¸edziemy oznacza´c przez a÷ b lub a div b.
a reszt˛e przez
a mod b.
Przykład 1.2 22÷ 4 = 5 oraz 22 mod 4 = 2, poniewa˙z 22 = 5 · 4 + 2 oraz 0 ≤ 2 < 4.
W przypadku, gdya i b s ˛a liczbami całkowitymi iloraz i ró˙znice mo˙zna róznie definiowa ´c. Na przykład w j¸ezyku Pascal iloraz dwóch liczb typu całkowitego oznacza si¸e przez
a div b
i jest to ba/bc — zaokr¸aglenie ilorazu a/b w dół, gdy a/b jest dodatnie i da/be, — zaokr¸aglenie ilorazua/b w gór¸e, gdy a/b jest ujemne. Reszta, któr¸a oznacza si¸e przez
a mod b,
jest okre´slona wzorem:
a mod b = a-(a div b)*b.
Mamy wi¸ec, na przykład:
22 div 4 = 5; (-22)div 4 = -5; 22 div(-4)= -5; (-22)div(-4)= 5; 22 mod 4 = 2; (-22)mod 4 = -2; 22 mod(-4)= 2; (-22)mod(-4)= -2.
1.2
Podzielno´s´c liczb
Mówimy, ˙ze liczba całkowitaa6= 0 dzieli liczb¸e całkowit¸a b, je˙zeli istnieje liczba
całko-witaz, taka ˙ze:
b = az.
B¸edziemy to oznacza´c przeza|b. Zauwa˙zmy, ˙ze zachodzi wtedy: b mod a = 0.
Liczb¸ea nazywamy dzielnikiem liczby b.
Przykład 1.3 3|6, 3| − 6 oraz 3|0.
Lemat 1.4 Je˙zeli a|b oraz a|c , to a|(b + c) oraz a|(b − c)
Dowód. Je˙zelia|b i a|c, to istniej¸a dwie liczby całkowite k i m, takie ˙ze: b = ak oraz c = am.
Mamy wi¸ec:
b + c = ak + am = a(k + m)
oraz
b− c = ak − am = a(k − m)
1.3. Relacja kongruencji 5
1.3
Relacja kongruencji
Niechm b¸edzie dowoln¸a liczb¸a naturaln¸a m6= 0. Powiemy, ˙ze dwie liczby całkowite a i b s¸a równowa˙zne (lub przystaj¸a) modulo m, je˙zeli
m|(a − b).
B¸edziemy wtedy pisa´c:
a = b (mod m).
Przykład 1.5 1 = 4 (mod 3), 3 = 0 (mod 3), −1 = 2 (mod 3), −1 = −7 (mod 3).
Je˙zelia i b s ˛a dodatnie, toa = b (mod m) wtedy i tylko wtedy, gdy a i b maj ˛a takie same reszty z dzielenia przezm.
Lemat 1.6 Relacja przystawania modulo jest relacj¸a równowa˙zno´sci, czyli spełnia nast¸epuj¸ace trzy warunki:
• zwrotno´s´c, dla ka˙zdegoa zachodzi a = a (mod m),
• symetri¸e, dla ka˙zdego a i b, je˙zeli a = b (mod m), to b = a (mod m), • przechodnio´s´c, dla ka˙zdegoa, b i c,
je˙zeli a = b (mod m) i b = c (mod m), to a = c (mod m).
Dowód. Udowodnimy tylko przechodnio´s´c relacji. Je˙zeli m|(a − b) oraz m|(b − c),
to m|((a − b) + (b − c)), czyli m|(a − c). 2
Ponadto relacja modulo jest zgodna z dodawaniem, odejmowaniem i mno˙zeniem.
Twierdzenie 1.7 Je˙zeli a = b (mod m) oraz c = d (mod m), to:
a + c = b + d (mod m), a− c = b − d (mod m), ac = bd (mod m).
Dowód. Z zało˙zenia mamy:
m|(a − b) oraz m|(c − d),
z tego za´s łatwo wynika, ˙zem dzieli:
(a + c)− (b + d), (a − c) − (b − d) oraz ac − bd = a(c − d) + d(a − b),
czyli zachodzi teza twierdzenia. 2
Przykład 1.8 Twierdzenie 1.7 mo˙ze by´c u˙zyte do obliczania reszty z dzielenia Je˙zeli chce-my policzy´c na przykład
to pytamy, która z trzech liczb{0, 1, 2} przystaje do 1999 modulo 3. Zróbmy najpierw kilka prostych obserwacji. Po pierwsze:
10 = 1 (mod 3),
bo3|(10 − 1). Z twierdzenia 1.7 wynika, ˙ze ka˙zda pot¸ega liczby dziesi¸e´c przystaje do 1
modulo 3, czyli:
10k= 1 (mod 3)
dla ka˙zdegok. Mamy teraz:
1999 = 1000 + 9· 100 + 9 · 10 + 9 = 1 + 9 + 9 + 9 = 1 (mod 3).
Podobnie, dla dowolnej liczbyx, je˙zeli zapiszemy x w postaci dziesi¸etnej: x =Xdi· 10i,
to
x =Xdi (mod 3),
czylix ma takie same reszty modulo 3 co suma cyfr w zapisie dziesi¸etnym.
Przykład 1.9 Aby przekona´c si˛e, ˙ze
2002· 1999 6= 4001999
wystarczy zauwa˙zy´c, ˙ze liczba2002 jest parzysta, wi˛ec tak˙ze wynik mno˙zenia powinien
by˙z parzysty. Mówi ˛ac inaczej2002 = 0 (mod 2) oraz 1999 = 1 (mod 2), wi˛ec na
podstawie twierdzenia 1.7 mamy2002· 1999 = 0 (mod 2), a liczba 4001999 przystaje
do jedynki modulo 2. Podobnie mo˙zemy si˛e przekona´c, ˙ze
2002· 1999 6= 4001996
wystarczy zauwa˙zy´c, ˙ze w iloczynie2002· 1999 ostatni ˛a cyfr ˛a powinno by´c 8 a nie 6. Inaczej2002 = 2 (mod 10) oraz 1999 = 9 (mod 10), wi˛ec na podstawie
twierdze-nia 1.7 mamy 2002· 1999 = 8 (mod 10), a liczba 4001996 przystaje do 6 modulo
10.
1.4
Klasy abstrakcji
Dla relacji przystawania modulo m definiujemy klasy abstrakcji. Dla dowolnej liczby
całkowitejx, klas¸e abstrakcji elementu x definiujemy w nast¸epuj¸acy sposób: [x] ={y | y = x (mod m)}.
Innymi słowy, klasa abstrakcji liczbyx to zbiór wszystkich liczb z ni¸a równowa˙znych.
1.5. Pier´scie´n Zm 7
[0] ={3k | k ∈ Z} = {. . . , −9, −6, −3, 0, 3, 6, 9, . . .} [1] ={3k + 1 | k ∈ Z} = {. . . , −8, −5, −2, 1, 4, 7, 10, . . .} [2] ={3k + 2 | k ∈ Z} = {. . . , −7, −4, −1, 2, 5, 8, 11, . . .}
Zauwa˙zmy, ˙ze klasy abstrakcji elementów równowa˙znych pokrywaj¸a si¸e.
Lemat 1.11 Je˙zeli x = y (mod m), to [x] = [y].
Dowód. Je˙zeli
z∈ [x],
toz = x (mod m) i z przechodnio´sci relacji z = y (mod m), czyli: z∈ [y],
a wi¸ec pokazali´smy, ˙ze:
[x]⊂ [y].
Identycznie pokazujemy zawieranie odwrotne[y]⊂ [x]. 2
Nast¸epna wa˙zna własno´s´c klas abstrakcji to ich rozł¸aczno´s´c.
Lemat 1.12 Je˙zeli [x]∩ [y] 6= ∅, to [x] = [y],
inaczej, dwie klasy abstrakcji[x] i [y] albo s¸a identyczne, albo s¸a rozł¸aczne.
Dowód. Przypu´s´cmy, ˙ze klasy[x] i [y] maj¸a wspólny element z. Wtedy: z = x (mod m) oraz z = y (mod m).
Z przechodnio´sci mamy wtedyx = y (mod m), a z lematu 1.11 [x] = [y]. 2
1.5
Pier´scie ´n Z
mKlasy abstrakcji relacji modulom wygl¸adaj¸a nast¸epuj¸aco: [0], [1], . . . , [m− 1].
Dla dowolnegok z przedziału 0≤ k ≤ m − 1, klasa [k] jest postaci: [k] ={jm + k | j ∈ Z}
(Z oznacza zbiór liczb całkowitych). Zbiór klas abstrakcji modulom oznacza si¸e przez Zm.
Poniewa˙z relacja modulo jest zgodna z działaniami dodawania i mno˙zenia, mo˙zemy zdefiniowa´c dodawanie i mno˙zenie na klasach abstrakcji. Mówi¸ac w skrócie, aby wyko-na´c działanie na dwóch klasach abstrakcji, wybieramy dowolnych przedstawicieli tych
klas i wykonujemy działania na tych przedstawicielach. Dokładniej, dodawanie klas abs-trakcji definiujemy nast¸epuj¸aco:
[x] + [y] = [x + y].
Podobnie definiujemy odejmowanie i mno˙zenie:
[x]− [y] = [x − y], [x]· [y] = [x · y].
Poni˙zszy lemat pokazuje, ˙ze działania te s¸a dobrze zdefiniowane; ˙ze wynik działania na dwóch klasach nie zale˙zy od wyboru reprezentantów.
Lemat 1.13 Je˙zeli [x] = [y] oraz [u] = [w], to:
[x + u] = [y + w], [xu] = [yw] oraz [x− u] = [y − w].
Dowód. Z zało˙zenia mamy:
x = y (mod m) oraz u = w (mod m).
a z twierdzenia 1.7:
[x + u] = [y + w], [x− u] = [y − w] oraz [xu] = [yw].
2
Przykład 1.14 Niechm = 3. Dla dowolnych dwóch liczb x ∈ [0] i y ∈ [1] ich suma x + y nale˙zy do [0 + 1] = [1] a iloczyn do [0· 1] = [0].
Lemat 1.15 Działania na klasach abstrakcji
[0], [1], . . . , [n− 1]
spełniaj¸a nast¸epuj¸ace warunki:
• dodawanie oraz mno˙zenie s¸a przemienne i ł¸aczne,
• klasa [0] jest elementem neutralnym dodawania, to znaczy dla ka˙zdego a mamy [a] + [0] = [a],
• dla ka˙zdej klasy [a] istnieje klasa do niej przeciwna [−a], taka ˙ze [a] + [−a] = [0], • klasa [1] jest elementem neutralnym mno˙zenia, to znaczy dla dowolnego [x] mamy
[x]· [1] = [x],
• mno˙zenie jest rozdzielne wzgl¸edem dodawania, czyli dla ka˙zdych trzech klas [x], [y], [z] mamy [x]([y] + [z]) = [x][y] + [x][z].
Zbiór z dwoma działaniami spełniaj¸acymi powy˙zsze warunki nazywa si¸e pier´scieniem przemiennym z jedynk¸a.
Dowód: Udowodnimy tylko rozdzielno´s´c:
[x]([y] + [z]) = [x][y + z] = [x(y + z)] = [xy + xz] = [xy] + [xz] = [x][y] + [x][z].
Skorzystali´smy w tym dowodzie z rozdzielno´sci mno˙zenia wzgl¸edem dodawania dla liczb
1.5. Pier´scie´n Zm 9
1.5.1
Pier´
scie ´
n Z
5Rozwa˙zmy zbiór reszt modulo 5. Składa si¸e on z pi¸eciu klas:
[0], [1], [2], [3], [4],
dla prostoty b¸edziemy dalej opuszcza´c nawiasy. Mamy wi¸ec zbiór:
Z5={0, 1, 2, 3, 4}
z dodawaniem i mno˙zeniem okre´slonym nast¸epuj¸acymi tabelami: + 0 1 2 3 4 0 0 1 2 3 4 1 1 2 3 4 0 2 2 3 4 0 1 3 3 4 0 1 2 4 4 0 1 2 3 · 0 1 2 3 4 0 0 0 0 0 0 1 0 1 2 3 4 2 0 2 4 1 3 3 0 3 1 4 2 4 0 4 3 2 1
Zauwa˙zmy, ˙ze ka˙zdy element oprócz zera ma w Z5element odwrotny wzgl¸edem
mno˙ze-nia, czyli dla ka˙zdegox∈ Z5− {0} istnieje x−1, taki ˙ze xx−1= 1:
1−1= 1, 2−1= 3, 3−1= 2, 4−1= 4.
Dlatego Z5 jest ciałem, czyli pier´scieniem przemiennym z jedynk¸a i z odwrotno´sci¸a
wzgl¸edem mno˙zenia.
1.5.2
Pier´
scie ´
n Z
4Rozwa˙zmy teraz pier´scie´n reszt modulo 4:
Z4={0, 1, 2, 3},
gdzie dodawanie i mno˙zenie jest okre´slone nast¸epuj¸acymi tabelami: + 0 1 2 3 0 0 1 2 3 1 1 2 3 0 2 2 3 0 1 3 3 0 1 2 · 0 1 2 3 0 0 0 0 0 x 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1
Z4nie jest ciałem, poniewa˙z nie ma w nim elementu odwrotnego do 2. Ponadto w Z4
mamy:
2· 2 = 0,
czyli zero mo˙zna przedstawi´c jako iloczyn dwóch liczb ró˙znych od zera.
Łatwo zauwa˙zy´c, ˙ze je˙zeli liczbam jest zło˙zona, m = pq dla 1 < p, q < m, to w
pier´scieniu Zmmamypq = 0 i ani p, ani q nie maj¸a elementów odwrotnych. Przypu´s´cmy
bowiem, ˙ze istniejep−1. Mamy wtedy:
czyli q = 0, sprzeczno´s´c. Tak wi¸ec Zm nie jest ciałem, je˙zelim jest liczb¸a zło˙zon¸a.
W dalszej cz¸e´sci tego rozdziału zobaczymy, ˙ze je˙zelim jest liczb¸a pierwsz¸a, to Zmjest
ciałem.
1.6
Najwi¸ekszy wspólny dzielnik
Dla dwóch liczb całkowitycha i b, ich najwi¸ekszy wspólny dzielnik to po prostu najwi¸eksza
liczba całkowitan, która dzieli a i b. Najwi¸ekszy wspólny dzielnik liczb a i b b¸edziemy
oznacza´c przezN W D(a, b). Na przykład: N W D(4, 6) = 2, N W D(4, 0) = 4.
Najwi¸ekszy wspólny dzielnik dwóch liczb dodatnich mo˙zna obliczy ´c za pomoc¸a al-gorytmu Euklidesa, którego najprostsza wersja wygl ˛ada nast˛epuj ˛aco:
Aby obliczy´c najwi¸ekszy wspólny dzielnik dwóch dodatnich liczb naturalnycha, b,
powtarzamy a˙z do skutku:
• je˙zeli a = b, to koniec, NW D(a, b) = a, • je˙zeli a > b, to a := a − b,
• je˙zeli a < b, to b := b − a.
Powy˙zszy algorytm odejmuje od wi¸ekszej liczby mniejsz¸a tak długo, a˙z liczby b¸ed¸a rów-ne. Wtedy wynikiem działania algorytmu jest wspólna warto´s´c tych liczb.
W poni˙zszej tabeli pokazano kolejne kroki działania algorytmu Euklidesa na parze liczb 36 i 15: p q 36 15 21 15 6 15 6 9 6 3 3 3
Tak wi¸ec 3 jest najwi¸ekszym wspólnym dzielnikiem liczb 15 i 36.
Poprawno´s´c powy˙zszego algorytmu wynika z prostego faktu, ˙ze paraa, b ma taki sam
zbiór wspólnych dzielników jak paraa−b, b. Rzeczywi´scie, je˙zeli liczba r jest wspólnym
dzielnikiem parya, b, to r dzieli tak˙ze a− b, czyli r jest wspólnym dzielnikiem pary (a− b), b. Na odwrót, je˙zeli liczba r jest wspólnym dzielnikiem pary (a − b), b, to r dzieli
tak˙ze(a− b) + b = a, czyli r jest wspólnym dzielnikiem pary a, b.
Je˙zeli zechcemy według tego uproszczonego algorytmu policzy ´c najwi˛ekszy wspólny dzielnik dla parya = 2000001 i b = 2, to algorytm b˛edzie milion razy obliczał a = a− b
i po tym wszystkima b˛edzie równe reszcie z dzielenia a przez b, czyli 1. Dlatego
cz˛e-´sciej stosuje si˛e algorytm, w którym zamiast odejmowania oblicza si˛e reszt˛e z dzielenia wi˛ekszej liczby przez mniejsz ˛a i robi si˛e to tak długo, a˙z otrzymamy zero.
1.7. Algorytm Euklidesa 11
1.7
Algorytm Euklidesa
Algorytm Euklidesa Aby obliczy´c najwi¸ekszy wspólny dzielnik dwóch dodatnich liczb
naturalnycha, b, powtarzamy a˙z do skutku:
• je˙zeli a = 0 lub b = 0 to koniec, NW D(a, b) = a + b, • je˙zeli a > b, to a := a mod b,
• je˙zeli a < b, to b := b mod a.
Powy˙zszy algorytm oblicza reszt˛e z dzielenia wi¸ekszej liczby przez mniejsz¸a tak długo, a˙z otrzyma zero. Wtedy wynikiem działania algorytmu jest ta druga liczba (je˙zelia = 0,
toa + b = b, a je˙zeli b = 0, to a + b = a).
W poni˙zszej tabeli pokazano kolejne kroki działania algorytmu Euklidesa na parze liczb 36 i 15: p q 36 15 6 15 6 3 0 3
Tak wi¸ec 3 jest najwi¸ekszym wspólnym dzielnikiem liczb 15 i 36.
W uproszczonej wersji j¸ezyka Pascal algorytm Euklidesa mo˙zna zapisa ´c w nast¸epuj¸acy sposób: p:=a;q:=b; while p*q<>0 do if p>q then p:=p mod q else q:=q mod p; NWD(a,b):=p+q
Poprawno´s´c algorytmu Euklidesa wynika z poni˙zszego lematu.
Lemat 1.16 Niechp i q b¸ed¸a dwoma liczbami naturalnymi i niech 0 < q < p. Wtedy
parap, q ma taki sam zbiór wspólnych dzielników jak para p mod q, q.
Dowód. Z definicji ilorazu i reszty mamy
p = (p÷ q) · q + p mod q
Je˙zeli liczbar jest wspólnym dzielnikiem pary p, q, to r dzieli tak˙ze reszt˛e p mod q, czyli r jest wspólnym dzielnikiem pary (p mod q), q. Na odwrót, je˙zeli liczba r jest wspólnym
dzielnikiem pary(p mod q), q, to r dzieli tak˙ze p, czyli r jest wspólnym dzielnikiem pary
Tak wi¸ec po ka˙zdej iteracji p¸etliwhileparap, q ma taki sam zbiór wspólnych
dziel-ników, a wi¸ec tak˙ze taki sam najwi¸ekszy wspólny dzielnik. Na ko ´ncu, gdyp = 0 lub q = 0, N W D(p, q) = p + q, czyli jest równy tej drugiej liczbie.
Nale˙zy jeszcze pokaza´c, ˙ze dla ka˙zdej pary dodatnich liczb naturalnycha i b algorytm
zatrzyma si¸e. Ale to wynika z faktu, ˙ze po ka˙zdej iteracji p¸etliwhileliczba
max{p, q}
jest coraz mniejsza, a poniewa˙z jest to zawsze liczba naturalna dodatnia, wi¸ec nie mo˙ze zmniejsza´c si¸e w niesko ´nczono´s´c.
Twierdzenie 1.17 Niecha i b b¸ed¸a dwoma dodatnimi liczbami naturalnymi i niech d = N W D(a, b). Wtedy istniej¸a liczby całkowite x i y, takie ˙ze:
xa + yb = d,
lub mówi¸ac inaczej,d jest kombinacj¸a całkowitoliczbow¸a liczb a i b.
Dowód. Poka˙zmy, ˙ze wszystkie warto´sci, jakie przyjmuj¸a zmiennep i q w trakcie
wy-konywania algorytmu Euklidesa, s¸a całkowitoliczbowymi kombinacjami liczba i b. Na
pocz¸atku, gdyp = a i q = b, mamy:
p = 1a + 0b, q = 0a + 1b.
Załó˙zmy teraz, ˙ze poi-tej iteracji p¸etli p > q oraz ˙ze zachodzi: p = xpa + ypb, q = xqa + yqb.
Wtedy w (i + 1) iteracji p b¸edzie pomniejszone o q· (p ÷ q) i b¸edziemy mieli: p = (xp− xq· (p ÷ q))a + (yp− yq· (p ÷ q))b
oraz
q = xqa + yqb.
Z tego wynika, ˙ze tak˙ze ostateczna warto´s´cd jest całkowitoliczbow¸a kombinacj¸a liczb a
ib. 2
Algorytm Euklidesa mo˙zna tak zmodyfikowa´c, aby oprócz najwi¸ekszego wspólnego dzielnikaN W D(a, b), wyliczał tak˙ze liczby x i y, takie ˙ze:
xa + yb = N W D(a, b).
Oto ten algorytm w j¸ezyku Pascal:
p:=a;q:=b; xp:=1;yp:=0; xq:=0;yq:=1; while p<>q do
1.7. Algorytm Euklidesa 13 if p>q then begin p:=p-q; xp:=xp-xq*(p div q); yp:=yp-yq*(p div q) end else begin q:=q-p; xq:=xq-xp*(q div p); yq:=yq-yp*(q div p) end; NWD(a,b):=p; x:=xp,y:=yp
W poni˙zszej tabeli pokazano kolejne kroki działania rozszerzonego algorytmu Eukli-desa na parze liczb 36 i 15:
p q xp yp xq yq
36 15 1 0 0 1
6 15 1 -2 0 1
6 3 1 -2 -2 5
0 3 5 -12 -2 5
Tak wi¸ec liczb¸e 3 mo˙zna przedstawi´c jako kombinacj¸e liczb 15 i 36 w nast¸epuj¸acy sposób:
3 = (−2) · 36 + (5) · 15.
Zauwa˙zmy, ˙ze je˙zeli jaka´s liczbar dzieli liczby a i b, to dzieli tak˙ze ka˙zd¸a ich kombinacj¸e
całkowit¸a
xa + yb,
a wi¸ec dzieli tak˙ze najwi¸ekszy wspólny dzielnikN W D(a, b). Udowodnili´smy poni˙zszy
lemat.
Lemat 1.18 N W D(a, b) jest podzielny przez ka˙zdy wspólny dzielnik liczb a i b.
Z lematu 1.18 wynika, ˙ze najwi¸ekszy wspólny dzielnikN W D(a, b) mo˙ze by´c
rów-nowa˙znie zdefiniowany jako taki wspólny dzielnik liczba i b, który jest podzielny przez
ka˙zdy wspólny dzielnika i b.
Lemat 1.19 Liczbad jest najwi¸ekszym wspólnym dzielnikiem liczb a i b wtedy i tylko
wtedy gdyd b¸edzie wspólnym dzielnikiem a i b oraz istniej¸a liczby całkowite x i y, takie
Dowód Je˙zeliN W D(a, b) = d to d|a, d|b oraz (z twierdzenia 1.17) istniej¸a liczby
cał-kowitex i y, takie ˙ze: d = xa + yb. Na odwrót, je˙zeli d dzieli a i b oraz xa + yb = d, to
ka˙zdy wspólny dzielnika i b dzieli d, a wi¸ec d jest najwi¸ekszym wspólnym dzielnikiem
a i b. 2
Wniosek 1.20 Je˙zeli istniej¸a liczby całkowitex i y, takie, ˙ze xa+yb = 1, to N W D(a, b) = 1.
Przykład 1.21 Zastanówmy si¸e, ile wynosiN W D(1998, 2000). Poniewa˙z: 2000− 1998 = 2
oraz 2 jest wspólnym dzielnikiem 1998 i 2000, wi¸ecN W D(1998, 2000) = 2.
Zastanówmy si¸e teraz, ile wynosiN W D(1999, 2001). Poniewa˙z: 2001− 1999 = 2,
wi¸ec N W D(1999, 2001) dzieli 2, a poniewa˙z 2 nie dzieli ani 1999, ani 2001, wi¸ec N W D(1999, 2001) = 1.
1.8
Liczby pierwsze i wzgl¸ednie pierwsze
Dwie liczby naturalne a i b s ˛a wzgl¸ednie pierwsze, je˙zeli N W D(a, b) = 1, a liczba
naturalnap jest pierwsza, je˙zeli p > 1 i jedynymi dzielnikami naturalnymi p s¸a jedynka i
samop.
Oto wszystkie liczby pierwsze mniejsze od 50:
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47.
Liczban > 1, która nie jest pierwsza jest zło˙zona. Istniej ˛a wtedy dwie liczbyk, m < n,
takie, ˙zen = k· m.
1.9
Rozkład liczb na czynniki pierwsze
W tym rozdziale zobaczymy, ˙ze ka˙zd¸a liczb¸e naturaln¸an > 1 mo˙zna rozło˙zy ´c na czynniki
pierwsze i ˙ze taki rozkład jest jednoznaczny z dokładno´sci¸a do kolejno´sci czynników. Na przykład:
12 = 22· 3 i 180 = 22· 32· 5.
Twierdzenie 1.22 Ka˙zd¸a liczb¸e naturaln¸an > 1 mo˙zna przedstawi´c jako iloczyn liczb
pierwszych (niekoniecznie ró˙znych):
1.9. Rozkład liczb na czynniki pierwsze 15
Dowód nie wprost. Przypu´s´cmy, ˙ze istnieje liczba naturalnan, której nie mo˙zna
przed-stawi´c jako iloczynu liczb pierwszych i ˙zen jest najmniejsz¸a tak¸a liczb¸a. n nie mo˙ze by´c
liczb¸a pierwsz¸a (bo wtedyn = q1), wi¸ecn jest liczb¸a zło˙zon¸a, czyli jest postaci:
n = km
dlak, m < n. Ale poniewa˙z k i m s¸a mniejsze od n, wi¸ec mo˙zna je rozło˙zy´c na czynniki
pierwsze
k = p1p2· · · ps oraz m = r1r2· · · rt,
ale wtedy, wbrew zało˙zeniu, mamy rozkład liczbyn na czynniki pierwsze: n = p1p2· · · psr1r2· · · rt.
2
Aby pokaza´c, ˙ze rozkład jest jednoznaczny (z dokładno´sci¸a do kolejno´sci czynników), musimy najpierw udowodni´c dwa lematy.
Lemat 1.23 Niech a i b b¸ed¸a dodatnimi wzgl¸ednie pierwszymi liczbami naturalnymi.
Wtedy dla dowolnej liczbyc, je˙zeli a|bc, to a|c.
Dowód. Z twierdzenia 1.17, istniej¸a dwie liczby całkowitex i y, takie ˙ze: xa + yb = 1.
Pomnó˙zmy teraz obie strony tego równania przezc: xac + ybc = c,
i zauwa˙zmy, ˙zea dzieli oba składniki po lewej stronie równania, a wi¸ec dzieli praw¸a
stron¸e, czylic. 2
Lemat 1.24 Je˙zeli liczba pierwszap dzieli iloczyn liczb pierwszych q1q2· · · qr
(niekoniecznie ró˙znych), to wtedyp jest równe jednej z liczb qi.
Dowód przez indukcj¸e ze wzgl¸edu nar. Dla r = 1 mamy p|q1, a poniewa˙zq1 jest
pierwsza ip > 1, wi¸ec p = q1.
Załó˙zmy teraz, ˙ze teza zachodzi dlar i przypu´s´cmy, ˙ze p dzieli q1q2· · · qrqr+1.
Mamy dwa przypadki: albop dzieli qr+1, albo nie. W pierwszym przypadkup = qr+1.
W drugim przypadku mamyN W D(p, qr+1) = 1, bo 1 i qr+1to jedyne dzielniki liczby
qr+1. Z lematu 1.23 wynika teraz, ˙zep dzieli q1q2· · · qr, a z zało˙zenia indukcyjnego, ˙ze
Udowodnimy teraz, ˙ze rozkład liczby na czynniki pierwsze jest jednoznaczny, z dokładno´sci¸a do kolejno´sci czynników.
Twierdzenie 1.25 Ka˙zd¸a liczb¸e naturaln¸an > 1 mo˙zna w dokładnie jeden sposób
przed-stawi´c w postaci iloczynu:
n = pα1
1 pα22. . . pαrr,
gdzieαi s¸a dodatnimi liczbami naturalnymi, pi s¸a liczbami pierwszymi oraz zachodzi
p1< p2< . . . < pr.
Dowód. Twierdzenie 1.22 orzeka, ˙ze liczba ma rozkład na czynniki pierwsze. Trzeba
pokaza´c, ˙ze jest to rozkład jednoznaczny.n = 2 jako liczba pierwsza ma jednoznaczny
rozkład. Przypu´s´cmy, ˙zen jest najmniejsz¸a liczb¸a z dwoma ró˙znymi rozkładami: n = pα1 1 pα22. . . pαrr = q β1 1 q β2 2 . . . qsβs. (1.1)
Wtedy z jednej stronyp1nie mo˙ze wyst¸epowa´c po prawej stronie równania (1.1), bon/p1
byłoby mniejsz¸a liczb¸a z niejednoznacznym rozkładem. Z drugiej stronyp1dzieli praw¸a
stron¸e, a wi¸ec, z lematu 1.24 wyst¸epuje po prawej stronie. Mamy wi¸ec sprzeczno´s´c. 2
Lemat 1.26 Je˙zelia i b s¸a wzgl¸ednie pierwsze, to ich rozkłady s¸a rozł¸aczne, to znaczy
maj¸a rozł¸aczny zbiór liczb pierwszych wyst¸epuj¸acych w ich rozkładach.
1.10
Elementy odwracalne
Definicja 1.27 Elementa∈ Zmjest odwracalny, je˙zeli istniejeb∈ Zm, takie, ˙ze
a· b = 1 (mod m).
b nazywamy elementem odwrotnym do a i oznaczamy przez a−1.
Przykład 1.28 3 jest odwracalna w Z8bo3· 3 = 1 (mod 8). Oprócz 3 w Z8
odwra-calne s ˛a tak˙ze1, 5 i 7.
Lemat 1.29 Liczbaa∈ Zmjest odwracalna wtedy i tylko wtedy, gdyN W D(a, m) = 1.
Dowód. Je˙zeliN W D(a, m) = 1, to istniej¸a liczby całkowite x i y, takie ˙ze: xa + ym = 1,
a wi¸ecm dzieli ax− 1, czyli:
ax = 1 (mod m).
Teraz wystarczy przyj¸a´c zaa−1 tak¸a liczb¸e z przedziału od 1 dom− 1, która przystaje
dox modulo m.
Z drugiej strony je˙zeli istnieje elementa−1odwrotny doa to
1.10. Elementy odwracalne 17
czyli
a−1a
− 1 = k · m
dla jakiego´sk. Mamy wi¸ec
a−1a + (−k)m = 1
czyliN W D(a, m) = 1 (wniosek 1.20). 2
Z powy˙zszego dowodu wynika, ˙ze element odwrotny doa mo˙zna wyliczy ´c stosuj¸ac
algorytm Euklidesa. Na przykład policzmy element odwrotny do 12 w pier´scieniu Z17.
Najpierw zastosujemy algorytm Euklidesa, aby obliczy´cx i y, takie ˙ze: 12x + 17y = 1.
Kolejne kroki algorytmu przedstawiono w tabeli:
p q xp yp xq yq 17 12 1 0 0 1 5 12 1 -1 0 1 5 2 1 -1 -2 3 1 2 5 -7 -2 3 1 0 5 -7 -12 17 Mamy wi¸ec: 5· 17 + (−7)12 = 1, czyli: (−7)12 = 1 (mod 17), ale: −7 = 10 (mod 17),
czyli 10 jest elementem odwrotnym do 12 w pier´scieniu Z17.
Definicja 1.30 Zbiór elementów odwracalnych w Znoznaczamy przez Z∗n.
Przykład 1.31 Z∗8={1, 3, 5, 7}.
Lemat 1.32 Je˙zeli liczbam jest pierwsza, to ka˙zdy element a∈ Zm,a6= 0, jest
odwra-calny, czyli pier´scie´n Zmjest ciałem.
Lemat 1.33 Je˙zelia, b∈ Z∗
ntoab∈ Z∗noraza−1∈ Z∗n.
To oznacza, ˙ze Z∗nz mno˙zeniem jest grup¸a.
Dowód: Elementem odwrotnym do iloczynuab jest b−1a−1, a elementem odrotnym do
1.11
Funkcja liniowa
Zastanówmy si¸e jak w pier´scieniu Zmdziała funkcja liniowa
f (x) = a· x (mod m).
Rozpatrzmy najpierw przypadek, gdya i m s¸a wzgl¸ednie pierwsze, czyli gdy N W D(a, m) = 1. Dla m = 8 i a = 3 warto´sci funkcji przedstawia tabela
x 0 1 2 3 4 5 6 7 3x 0 3 6 1 4 7 2 5
W takim przypadku istniejea−1 element odwrotny doa i funkcja g(x) = a−1x, która
jest odwrotna dof . Rzeczywi´scie
f (g(x)) = aa−1x = x.
Z tego wynika, ˙zef jest wzajemnie jednoznaczna i "na" oraz, ˙ze dla ka˙zdego b ∈ Zm
równanie
ax = b
ma dokładnie jedno rozwi¸azanie w pier´scieniu Zm, jest ono równex = a−1b.
Funkcjaf jest permutacj¸a w Zmi wykorzystuje si¸e j¸a, gdy trzeba wymiesza´c
(prze-permutowa´c) elementy Zm. Zauwa˙zmy, ˙zef jest tak˙ze permutacj ˛a w Z∗m. Rzeczywi´scie,
je˙zelix∈ Z∗
m, to na podstawie lematu 1.33f (x) = ax∈ Z∗m. Mamy wi¸ec
Lemat 1.34 Je˙zeli N W D(a, m) = 1, to funkcja f (x) = ax jest funkcj¸a wzajemnie
jednoznaczn¸a w Zmi w Z∗m.
Rozpatrzmy teraz przypadek, gdya i m nie s¸a wzgl¸ednie pierwsze, czyli gdy N W D(a, m) = d > 1. Dla m = 8 i a = 6 warto´sci funkcji przedstawia tabela
x 0 1 2 3 4 5 6 7 6x 0 6 4 2 0 6 4 2
Zauwa˙zmy, ˙ze je˙zelib jest warto´sci¸a funkcji f , czyli gdy ax = b (mod m)
to istnieje takiek, ˙ze
ax− b = km,
a poniewa˙zd dzieli a i m, to d dzieli b, a wi¸ec warto´sciami funkcji f mog¸a by´c tylko
liczby podzielne przezd.
Lemat 1.35 Je˙zeliN W D(a, m) = d oraz d|b, to równania ax = b (mod m)
oraz
(a/d)x = (b/d) (mod m/d)
1.11. Funkcja liniowa 19
Dowód
ax = b (mod m)
wtedy i tylko wtedy, gdy istniejek takie ˙ze
ax− b = km,
a to zachodzi wtedy i tylko wtedy, gdy istniejek takie, ˙ze (a/d)x− (b/d) = k(m/d),
czyli wtedy i tylko wtedy, gdy
(a/d)x = (b/d) (mod m/d).
2
Przypu´s´cmy teraz, ˙zed dzieli b i rozwi¸a˙zmy równanie
ax = b (1.2)
w pier´scieniu Zm, czyli szukamy takichx∈ {0, . . . , m − 1}, ˙ze
ax = b (mod m) (1.3)
Z lematu 1.35, to równanie jest równowa˙zne równaniu
(a/d)x = (b/d) (mod m/d) (1.4) Ale terazN W D(a/d, m/d) = 1 i równanie (1.4) ma dokładnie jedno rozwi¸azanie x0∈
{0, . . . , m/d − 1} takie ˙ze
(a/d)x0= (b/d) (mod m/d).
Ale równania (1.4) i (1.3) s¸a spełnione tak˙ze przez liczby
x0, x0+ m/d, x0+ 2m/d, . . . , x0+ (d− 1)m/d.
S¸a to wszystkie liczby ze zbioru{0, . . . , m − 1} spełniaj¸ace równania (1.4) i (1.3), czyli wszystkie rozwi¸azania równania (1.2) w pier´scieniu Zm.
Przykład 1.36 Rozwi¸a˙zmy równanie
6x = 9 (mod 15). (1.5)
Poniewa˙zN W D(6, 15) = 3, wi¸ec najpierw rozwi¸azujemy równanie 2x = 3 (mod 5)
W Z5mamy2−1 = 3 wi¸ec rozwi¸azaniem jest x0 = 3· 3 = 4. Tak wi¸ec rozwi¸azaniami
równaia (1.5) w Z15s¸a liczby
1.12
Szyfry liniowe
Przypu´s´cmy, ˙ze mamy tekst zapisany za pomoc¸a 26 liter alfabetu łaci ´nskiego:
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,
i chcemy ten tekst zaszyfrowa´c. W tym celu uto˙zsamiamy zbiór liter z elementami pier-´scienia Z26:
a = 0, b = 1, c = 2, . . . , z = 25,
wybieramy dwie liczbya, b ∈ Z26, takie ˙zeN W D(a, 26) = 1, i szyfrujemy litera po
literze według wzoru:
C(x) = ax + b (mod 26).
Funkcja deszyfruj¸aca jest okre´slona wzorem:
D(y) = a−1y− a−1b (mod 26).
Rzeczywi´scie:
D(C(x)) = a−1(ax + b)− a−1b = a−1ax + a−1b
− a−1b = x.
Z tego wynika, ˙ze funkcja szyfruj¸acaC(x) jest wzajemnie jednoznaczna.
Przykład 1.37 Wybierzmya = 23 i b = 20 i zaszyfrujmy słowo matematyka.
W tym celu musimy zaszyfrowa´c 6 liter:m, a, t, e, y oraz k. Obliczenia przedstawiono w
tabeli: litera x C(x) szyfr m 12 10 k a 0 20 u t 19 15 p e 4 8 i y 24 0 a k 10 16 q
Słowomatematyka po zaszyfrowaniu wygl¸ada tak: kupikupaqu.
Je˙zeli za´s zastosujemy ten sam szyfr do pocz¸atkowego zdania z wiersza Lokomotywa Ju-liana Tuwima:
stoi na stacji lokomotywa, to otrzymamy:
1.13. Chi ´nskie twierdzenie o resztach 21
Szyfry liniowe s¸a bardzo starym wynalazkiem. W prostszej wersji z a = 1
sto-sował je ju˙z Juliusz Cezar. Ich wad¸a jest to, ˙ze bardzo łatwo daj¸a si¸e łama ´c. Czasami wystarcza odgadn¸a´c, jak zaszyfrowano dwie litery. Mo˙zna to zrobi´c analizuj¸ac cz¸esto´sci wyst¸epowania liter w zaszyfrowanym tek´scie.
Przykład 1.38 (kontynuacja przykładu 1.37) W naszym drugim zaszyfrowanym tek´scie literae wyst¸epuje cztery razy, a litery p i u po trzy razy. Mo˙ze to nam pomóc w odgadni¸eciu,
˙ze literae koduje liter¸e o, a litera p koduje liter¸e t. Mamy wi¸ec dwa równania: 15 = 19a + b (mod 26),
4 = 14a + b (mod 26).
Po odj¸eciu tych równa´n stronami mamy:
11 = 5a (mod 26).
Korzystaj¸ac z algorytmu Euklidesa, mo˙zemy teraz wyliczy´c element odwrotny do 5 w pier-´scieniu Z26. Jest to 21, poniewa˙z:
(−5)5 + 26 = 1 oraz − 5 = 21 (mod 26),
tak wi¸ec:
a = 21· 11 = 231 = 23 (mod 26).
Teraz z drugiego równania mo˙zemy wyliczy´cb:
b = 15− 19 · 23 = 20 (mod 26).
1.13
Chi ´nskie twierdzenie o resztach
W staro˙zytnych Chinach generałowie u˙zywali pewnego ciekawego sposobu liczenia swo-ich ˙zołnierzy. Dla kilku niewielkswo-ich liczb parami wzgl¸ednie pierwszych, na przykład dla:
m1= 3, m2= 5, m3= 7,
obliczano i zapami¸etywano reszty z dzielenia liczby ˙zołnierzy przez te liczby. W celu obliczenia reszt kazano ˙zołnierzom ustawi´c si¸e trójkami, pi¸atkami i siódemkami. Je˙zeli przy nast¸epnym apelu wszystkie trzy reszty były takie same, to znaczyło, ˙ze nie brakuje ˙zadnego ˙zołnierza.
Zobaczmy, jak ten sposób działa. We´zmy najpierw dwie liczby:
m1= 2 m2= 3.
a a (mod 2) a (mod 3) 0 0 0 1 1 1 2 0 2 3 1 0 4 0 1 5 1 2
Ka˙zda z liczb od 0 do5 = 2· 3 − 1 ma inny zestaw reszt oraz dla ka˙zdej pary reszt (a1, a2), spełniaj¸acych warunek 0≤ a1< 2, 0≤ a2< 3, istnieje liczba a, taka ˙ze:
a1 = a (mod 2),
a2 = a (mod 3).
Oczywi´scie 6 ma takie same reszty jak 0:
0 = 6 (mod 2), 0 = 6 (mod 3),
i ogólnie, je˙zeli dwie liczbya i b ró˙zni¸a si¸e o wielokrotno´s´c liczby 6 = 2· 3, czyli: a = b + k· 6
dla jakiego´s całkowitegok, to
a (mod 2) = b (mod 2), a (mod 3) = b (mod 3).
Z tego wida´c, ˙ze sposób chi ´nskich generałów, z liczbami 2 i 3, liczy ˙zołnierzy z dokładno´sci¸a do pi¸eciu.
Sytuacja jest inna, je˙zeli m1 i m2 nie s¸a wzgl¸ednie pierwsze. Je˙zeli, na przykład,
m1= 4 i m2 = 6, to w´sród liczb od 0 do 23 = 4· 6 − 1 istniej¸a takie, które maj¸a takie
same reszty, na przykład 1 i 13:
1 (mod 4) = 13 (mod 4) = 1, 1 (mod 6) = 13 (mod 6) = 1.
Ponadto nie istnieje taka liczbaa, dla której:
1 = a (mod 4), 0 = a (mod 6).
Rzeczywi´scie, z pierwszej równo´sci wynika, ˙zea powinno by´c nieparzyste, a z drugiej,
˙ze parzyste.
Je˙zeli jednakm1im2s¸a wzgl¸ednie pierwsze, to ka˙zda z liczb od 0 dom1· m2− 1 ma
inny zestaw reszt oraz dla ka˙zdej pary reszt(a1, a2), spełniaj¸acych warunek 0 ≤ a1 <
m1,0≤ a2< m2, istnieje liczbaa, taka ˙ze:
a1 = a (mod m1),
a2 = a (mod m2),
1.13. Chi ´nskie twierdzenie o resztach 23
Twierdzenie 1.39 (chi ´nskie twierdzenie o resztach) Niech
m1, m2, . . . , mr
b¸ed¸a dodatnimi liczbami wzgl¸ednie pierwszymi, to znaczy dla ka˙zdej pary1≤ i < j ≤ r
mamyN W D(mi, mj) = 1, oraz niech
a1, a2, . . . , ar
b¸ed¸a dowolnymi resztami. Wtedy istnieje liczba całkowitaa, taka ˙ze: a1 = a (mod m1),
a2 = a (mod m2), (1.6)
. . . ar = a (mod mr).
Ponadto je˙zeli liczbya i b s¸a rozwi¸azaniami układu kongruencji (1.6), to ich ró˙znica a− b dzieli si¸e przez iloczyn wszystkich liczb mi, czyli przez:
M =
r
Y
i=1
mi.
Dowód. Najpierw udowodnimy drug¸a cz¸e´s´c twierdzenia. Dla ka˙zdego1≤ i ≤ r mamy: ai= a (mod mi) oraz ai= b (mod mi).
Po odj¸eciu stronami tych dwóch równa ´n mamy:
0 = a− b (mod mi),
czyli
mi|(a − b),
wi¸ec ka˙zda spo´sród liczbmidzielia−b, a skoro liczby m1. . . mrs¸a wzgl¸ednie pierwsze,
wi¸ec tak˙ze ich iloczynM dzieli a− b. Rzeczywi´scie, przypu´s´cmy bowiem, ˙ze M ma
rozkład
M = pα1
1 pα22· · · pαss.
We´zmy teraz dowolnepαi
i . Poniewa˙z rozkłady liczbm1, . . . , mrs¸a rozł¸aczne, wi¸ecpαii
wyst˛epuje w rozkładzie jakiego´smj, czyli dzielimj oraza− b, a wi¸ec w rozkładzie
liczbya− b, liczba piwyst¸epuje z wykładnikiemβ ≥ αi. DlategoM dzieli a− b.
Zobaczymy teraz, ˙ze układ (1.6) ma rozwi¸azanie. NiechMi= M/mi, czyli:
Mi= m1· · · mi−1mi+1. . . mr.
Poniewa˙zMiimi maj¸a rozł¸aczne rozkłady, wi¸ecN W D(mi, Mi) = 1 oraz istnieje Ni,
takie ˙ze:
We´zmy teraz: a = r X i=1 aiMiNi.
Zauwa˙zmy, ˙ze je˙zelii6= j, to mi|Mj, oraz:
ajMjNj= 0 (mod mi),
co daje:
a = aiMiNi= ai (mod mi)
dla ka˙zdegoi, a wi¸ec a jest rozwi¸azaniem układu równa ´n (1.6). 2
Przykład 1.40 Ka˙zda z liczb od 0 do104 = 3· 5 · 7 − 1 ma inny zestaw reszt wzgl¸edem
liczb 3, 5 i 7. Tak wi¸ec stosuj¸ac sposób chi´nskich generałów z liczbami 3, 5, 7 mo˙zemy liczy´c ˙zołnierzy z dokładno´sci¸a do 104.
Ale sposób chi´nskich generałów pozwala tak˙ze stwierdzi´c, o ile zmieniła si¸e liczba ˙zołnierzy. Przypu´s´cmy bowiem, ˙ze na porannym apelu byłox ˙zołnierzy i uzyskano reszty:
x1= x (mod 3), x2= x (mod 5), x3= x (mod 7),
a na apelu wieczornym byłoy ˙zołnierzy i otrzymano reszty:
y1= y (mod 3), y2= y (mod 5), y3= y (mod 7),
wtedy ró˙znicax− y spełnia nast¸epuj¸acy układ kongruencji: x1− y1 = x− y (mod 3),
x2− y2 = x− y (mod 5),
x3− y3 = x− y (mod 7).
Jak wida´c, chi´nskie twierdzenie o resztach pozwala wnioskowa´c o du˙zych liczbach za pomoc¸a operacji na małych liczbach. Zobaczmy teraz inne zastosowanie tego twierdzenia.
Przykład 1.41 Zastanówmy si¸e, ile wynosi reszta z dzielenia liczby
M = 1 997 199 919
przez 15. Łatwo mo˙zna policzy´c, ˙ze:M = 4 (mod 5) oraz M = 1 (mod 3), a wi¸ec: M = 4 (mod 15),
poniewa˙z 4 jest jedyn¸a liczb¸a z przedziału0, 1, 2, . . . , 14, która posiada reszty 4 = 1 (mod 3) oraz 4 = 4 (mod 5).
1.14. Pierwiastki kwadratowe 25
1.14
Pierwiastki kwadratowe
Definicja 1.42 Liczb¸ey nazywamy pierwiastkiem kwadratowym liczby x w pier´scieniu Zm, je˙zeli
x = y2 (mod m).
Przykład 1.43 W Z5pierwiastkami 4 s¸a 2 i 3, a liczba 2 nie posiada pierwiastka.
Zauwa˙zmy, ˙ze je˙zeliy2= x (mod m) to
(m− y)2= m2− 2my + y2= y2= x (mod m),
czylim− y = −y (mod m), te˙z jest pierwiastkiem x.
Lemat 1.44 Je˙zelim jest liczb¸a pierwsz¸a i x = y2, toy i−y s¸a jedynymi pierwiastkami
zx.
Dowód Je˙zeliz2= y2 (mod m), to m dzieli z2
− y2= (z
− y)(z + y), a poniewa˙z m
jest pierwsze tom dzieli z− y lub z + y. W pierwszym przypadku z = y (mod m), w
drugimz =−y (mod m). 2
Przykład 1.45 Tak nie musi by´c, je˙zelim nie jest liczb¸a pierwsz¸a. Na przykład w Z15
mamy cztery pierwiastki z1, s¸a to 1, 4, 11 i 14.
Ogólnie rozwa˙zmy liczb¸em która jest iloczynem dwóch ró˙znych liczb pierwszych p > q > 2. We´zmy teraz dowoln¸a liczb¸e y, dla której
y mod p = 1 lub y mod p =−1
oraz
y mod q = 1 lub y mod q =−1
Wtedy
y2mod p = 1 oraz y2mod q = 1
czyli z chi´nskiego twierdzenia o resztach wynika, ˙ze
y2= 1 (mod pq).
Poniewa˙zp > q > 2, to 16= −1 (mod p) oraz 1 6= −1 (mod q) i mamy wtedy
cztery ró˙zne pierwiastki z 1,y1, y2, y3, y4. S¸a to liczby dla których
y1mod p = 1, y1mod q = 1,
y2mod p = 1, y2mod q =−1,
y3mod p =−1, y3mod q = 1,
y4mod p =−1 y4mod q =−1.
1.15
Funkcja Eulera
Definicja 1.46 Funkcja Eulera, jest to funkcja, która liczbiem przypisuje φ(m) liczb¸e
elementów odwracalnych w Zm. Z definicji przyjmujemyφ(1) = 1.
Przykład 1.47 φ(8) = 4, bo w Z8odwracalne s ˛a{1, 3, 5, 7}.
Podobnieφ(2) = 1, φ(3) = 2, φ(4) = 2, φ(6) = 2, φ(9) = 6.
Lemat 1.48 a) Je˙zeli p jest liczb¸a pierwsz¸a, to dla dowolnego α ≥ 1, φ(pα) =
pα−1(p
− 1). W szczególno´sci φ(p) = p − 1.
b) Je˙zelim i n s¸a wzgl¸ednie pierwsze, to φ(m· n) = φ(m) · φ(n)
Dowód:
a)Zauwa˙zmy ˙ze, w´sród liczb0, . . . , pαwzgl¸ednie pierwsze zpαnie s¸a te, które s¸a
po-dzielne przezp, jest ich pα/p = pα−1, czyli
φ(pα) = pα− pα−1 = pα−1(p
− 1).
b)Najpierw zauwa˙zmy, ze dla dowolnej liczbyx, 0≤ x < mn N W D(x, mn) = 1
wtedy i tylko wtedy gdy
N W D(x, m) = 1 oraz N W D(x, n) = 1
a to zachodzi wtedy i tylko wtedy gdy reszty rm = x mod m oraz rn = x mod n
spełniaj¸a warunki
N W D(rm, m) = 1 oraz N W D(rn, n) = 1 (1.7)
Par reszt(rm, rn) spełniaj¸acych warunek (1.7) jest φ(m)·φ(n), a z chi´nskiego twierdzenia
o resztach ka˙zdej liczbiex, 0 ≤ x < mn odpowiada dokładnie jedna para reszt, i na
odwrót ka˙zdej parze reszt odpowiada jedna liczba. Tak wi¸ec liczb wzgl¸ednie pierwszych
zmn jest φ(m)· φ(n). 2
1.16
Szybkie pot¸egowanie
Teraz zastanowimy si¸e jak mo˙zna pot¸egowa´c, czyli jak obliczy´cak mod n dla a ∈ Z n
orazk∈ N. Pierwszy nasuwaj¸acy si¸e algorytm pot¸egowania polega na k krotnym
mno-˙zeniu przeza:
y:=1;
1.16. Szybkie pot¸egowanie 27
W kryptografii oblicza si¸e pot¸egi z wykładnikami posiadaj¸acymi po kilkaset bitów. Do takich zastosowa ´n powy˙zszy algorytm jest nieprzydatny (wymaga onk mno˙ze ´n).
Poka˙zemy teraz jak mo˙zna pot¸egowa´c du˙zo szybciej. Zauwa˙zmy, ˙ze
a· a = a2, a2· a2= a4 i ogólnie a2i · a2i = a2i+1 .
Dlatego, aby obliczy´c pot¸eg¸e o wykładniku, który jest pot¸eg¸a dwójkik = 2j nale˙zy
wykona´c
y:=a;
for i:=1 to j do y:=y*y mod n
Przykład 1.49 Aby obliczy´c216w Z
13obliczmy 22= 2 · 2 = 4 (mod 13), 24= 4· 4 = 3 (mod 13), 28= 3· 3 = 9 (mod 13), 216= 9· 9 = 3 (mod 13).
Je˙zeli wykładnik jest sum¸a pot¸eg dwójkik = 2i+ 2j, to
ak = a2i · a2j.
Przykład 1.50 Aby obliczy´c219mod 13 trzeba wymno˙zy´c 219= 216
·22
·21= 3
·4·2 = 11 (mod 13).
Zauwa˙zmy, ˙ze ka˙zda liczba naturalnak jest sum¸a pot¸eg dwójki k =
j
X
i=1
di· 2i,
gdziedi∈ {0, 1} to cyfry rozwini¸ecia dwójkowego k.
Powy˙zsze uwagi sugeruj¸a nast¸epuj¸acy algorytm obliczania pot¸egiak.
Algorytm szybkiego pot˛egowania
Dane wej´sciowe: podstawaaoraz wykładnikk=(dj,...,d0)w postaci binarnej.
x:=a; y:=1
if d0=1 then y:=y*a mod n for i:=1 to j do
x:=x*x mod n;
if di=1 then y:=y*x mod n
Zmiennaxzawiera kolejne pot¸egia o wykładnikach b¸ed¸acych pot¸egami 2. Na pocz¸atku x = a = a20
. Poi tej iteracji p¸etli for x = a2i
. Je˙zelidi = 1 to mno˙zymy y przez x = a2i
. Na ko´ncu
y = ad0ad1·21· · · adj·2j = ak.
Przykład 1.51 Prze´sled´zmy działanie algorytmu podczas obliczania219 (mod 13). 19
w zapisie dwójkowym ma posta´c(10011)2. Poni˙zsza tabela zawiera warto´sci zmiennejx
iyprzed wej´sciem do p˛etlifor i=0) oraz po ka˙zdej iteracji.
i x y 0 2 2 1 4 8 2 3 8 3 9 8 4 3 11
Zauwa˙zmy, ˙ze wyniki po´srednie, i ostateczny, nale˙z ˛a do Zm i algorytm nie potrzebuje
zbyt du˙zej pami¸eci. Algorytmu tego nie mo˙zna stosowa´c do obliczaniaak w liczbach
całkowitych, je˙zelik jest du˙ze, to wynik ostateczny oraz po´srednie b¸ed ˛a zbyt du˙ze, ˙zeby mógł si¸e zmie´sci´c w pami¸eci komputera.
1.17
Małe twierdzenie Fermata
Twierdzenie 1.52 (Fermata) Niecha∈ Z∗ m, wtedy
aφ(m)= 1 (mod m).
Dowód Niech
a1, a2, . . . , aφ(m)
to b¸ed¸a wszystkie elementy Z∗m. Je˙zeli pomno˙zymy je przeza
aa1, aa2, . . . , aaφ(m)
to zgodnie z lematem 1.34 otrzymamy te same elementy tylko w innej kolejno´sci. Wymnó˙zmy teraz elemnty obu ci¸agów
φ(m)Y i=1 ai= φ(m)Y i=1 aai= aφ(m) φ(m)Y i=1 ai (mod m).
Po pomno˙zeniu przez odwrotno´s´cQφ(m)i=1 aiotrzymamy tez¸e twierdzenia. 2
Wniosek 1.53 Je˙zelip jest liczb¸a pierwsz¸a, to dla ka˙zdego a wzgl¸ednie pierwszego z p
mamy
1.18. Szyfry RSA 29
1.18
Szyfry RSA
W szyfrach one-pad opisanych w rozdziale o funkcjach boolowskich klucz do szyfrowa-nia jest ten sam co klucz do deszfrowaszyfrowa-nia. W szyfrach liniowych wprawdzie klucze do szyfrowania i deszyfrowania s¸a ró˙zne, ale jaden łatwo mo˙zna wyliczy ´c z drugiego. Takie szyfry nazywamy symetrycznymi.
Teraz zapoznamy si¸e ze sposobem szyfrowania, w których klucz do szyfrowania mo˙ze by´c jawny, nawet ogłaszany publicznie, a klucz do deszyfrowania jest tajny i jest praktycz-nie praktycz-niemo˙zliwe wyliczepraktycz-nie klucza tajnego z klucza jawnego. Sposób ten zaproponowali Rivest, Shamir i Adleman. Przypu´s´cmy, ˙ze Alicja chce utworzy´c swój klucz. Bierze w tym celu dwie du˙ze liczby pierwszep i q, ka˙zda mo˙ze zawiera´c po kilkaset bitów. Tworzy
ich iloczynn = pq. Funkcja Eulera φ(n) = (p− 1)(q − 1). Nast¸epnie Alicja losuje liczb¸e e, która jest wzgl¸ednie pierwsza z φ(n). Skoro N W D(e, φ(n)) = 1 to istnieje liczba d, taka, ˙ze ed = 1 (mod φ(n)). Teraz para (e, n) jest jawnym kluczem Alicji i mo˙ze
by´c publicznie ogłoszona. Para(n, d) jest kluczem prywatnym Alicji, nie powinna go ona
nikomu zdradza´c. Alicja nie powinna te˙z zdradza´c rozkładu liczbyn na czynniki. Je˙zeli
kto´s znap i q, to mo˙ze wyliczy´c φ(n) oraz d.
Przypu´s´cmy, ˙ze Bob chce przesła´c Alicji jak¸a´s zaszyfrowan¸a wiadomo´s´cx.
Traktuje-my t¸e wiadomo´s´c jako liczb¸ex < n. (Je˙zeli wiadomo´s´c jest ci¸agiem znaków, to kodujemy
ka˙zdy znak jako 8 bitów i cały ci¸ag mo˙ze by´c traktowany jako liczba w postaci dwójko-wej.) Bob szyfruje wiadomo´s´c przy pomocy funkcji szyfruj¸acej
CA(x) = xemod n
i przesyła j¸a Alicji. Alicja odszyfrowuje za pomoc¸a funkcji deszyfruj¸acej
DA(y) = ydmod n.
Poka˙zemy teraz, ˙ze je˙zeliN W D(x, n) = 1, to DA(CA(x)) = x.
Mamy
DA(CA(x)) = xedmod n.
Poniewa˙zed = 1 (mod φ(n)), wi¸ec istnieje k takie, ˙ze ed = 1 + kφ(n), czyli DA(CA(x)) = x1+kφ(n)= x· xkφ(n) (mod n)
ale je˙zeliN W D(x, n) = 1, to xkφ(n)= (xφ(n))k = 1 (mod n). Tak wi¸ec D
A(CA(x)) =
x. Do powy˙zszego potrzebne było zało˙zenie, ˙ze N W D(x, n) = 1. Ale gdy kto´s trafi na
wiadomo´s´cx, która nie jest wzgl¸ednie pierwsza z n, to Alicja ma pecha, poniewa˙z wtedy
mo˙zna dokona´c rozkładu liczbyn i złama´c jej szyfr.
Łatwo te˙z mo˙zna pokaza´c, ˙zeCA(DA(x)) = x.
Niesymetryczne szyfry daj¸a nowe mo˙zliwo´sci. Mo˙zna ich na przykład u˙zywa´c do podpisu. Aby podpisa´c jak¸a´s wiadomo´s´cm, Alicja szyfruje j¸a swoim szyfrem
prywat-nymDA(m) i jest to podpis wiadomo´sci m. Alicja wysyła Bobowi par¸e (m, DA(m)).
˙
Zeby sprawdzi´c, ˙ze wszystko si¸e zgadza Bob szyfruje podpis publicznym kluczem Alicji i sprawdza czy
1.19
Testy pierwszo´sci
W tym rozdziale zajmiemy si¸e zagadnieniem jak sprawdzi´c, czy liczban jest pierwsza.
Mo˙zemy sobie wyobrazi´c, ˙zen ma kilkaset bitów. Jak wida´c z poprzedniego rozdziału
du˙ze liczby pierwsze mog¸a by´c przydatne.
1.19.1
Test naiwny
Najprostszy sposób to, dzieli´cn przez kolejne liczby (pierwsze) a˙z do√n. Jednak ten
test jest zupełnie niepraktyczny, je˙zelin ma kilkaset bitów.
1.19.2
Test Fermata
Drugi test jest algorytmem probabilistycznym i opiera si¸e na twierdzeniu Fermata 1.52. Losujemy liczb¸ea < n i najpierw sprawdzamy, czy N W D(a, n) = 1. Je˙zeli a i n
nie s¸a wzgl¸ednie pierwsze, iN W D(a, n) = d > 1, to d jest dzielnikiem n i n nie jest
pierwsza.
Je˙zeliN W D(a, n) = 1, to obliczamy an−1 mod n. Je˙zeli an−1
6= 1 (mod n), to
mamy pewno´s´c, ˙zen nie jest liczb¸a pierwsz¸a.
Definicja 1.54 Tak¸a liczb¸ea, dla której N W D(a, n) = 1 oraz an−1
6= 1 (mod n)
b¸edziemy nazywa´c ´swiadkiem Fermata dlan, poniewa˙z za´swiadcza ona, ˙ze n jest zło˙zona.
Je˙zelian−1 = 1 (mod n), to orzekamy, ˙ze liczba n jest pierwsza. W tym przypadku
mo˙zemy si¸e pomyli´c. Liczban mo˙ze by´c zło˙zona a mimo to wylosowali´smy pechowo i an−1= 1 (mod n). Ale zachodzi nast¸epuj¸acy lemat.
Lemat 1.55 Je˙zeli istnieje takiea∈ Z∗
n, ˙zean−1 6= 1 (mod n), to przynajmniej
poło-wa elementów Z∗n jest ´swiadkiem Fermata dlan.
Dowód. Przypu´s´cmy, ˙ze
{b1, . . . , bk}
s ˛a to wszystkie elementy Z∗n, dla którychbn−1i = 1 (mod n). Wtedy po pomno˙zeniu
przeza otrzymamy k elementów
{ab1, . . . , abk}
ró˙znych mi¸edzy sob¸a (lemat 1.34), z których ka˙zdy jest ´swiadkiem Fermata. Rzeczywi-´scie
(abi)n−1= an−1bn−1i = a n−1
6= 1 (mod n).
A wi¸ec ´swiadków zło˙zono´sci jest co najmniej połowa. 2 Je˙zelin jest pierwsze, to z Twierdzenia Fermata, algorytm zawsze orzeknie dobrze.
Z lematu 1.55 wynika, ˙ze je˙zelin jest zło˙zona i istnieje ´swiadek Fermata dla n, to takich
´swiadków jest co najmniej połowa, i nasz algorytm pomyli si¸e z prawdopodobie ´nstwem
< 1/2. Prawdopodobie´nsto, to mo˙zna zmniejszy´c poprzez powtórzenie algorytmu r razy,
1.19. Testy pierwszo´sci 31
Istniej¸a jednak liczby zło˙zonen, które nie maj¸a ´swiadków zło˙zono´sci. Na przykład n = 561. Kłopot bierze si¸e st¸ad, ˙ze 561 = 3· 11 · 17, a 560 = 561 − 1 dzieli si¸e przez 2 = 3− 1, 10 = 11 − 1 oraz przez 16 = 17 − 1. Dlatego dla dowolnego a, je˙zeli N W D(a, 561) = 1, to a jest wzgl¸ednie pierwsze z 3, 11 i 17 oraz mamy
a560= (a2)280= 1 (mod 3) a560= (a10)56= 1 (mod 11)
a560= (a16)35= 1 (mod 17)
i z chi´nskiego twierdzenia o resztach wynika, ˙ze
a560= 1 (mod 561)
Takie liczby nazywaj¸a sie liczbami Carmichaela. Pierwsze trzy z nich to 561, 1105 i 1729. Wyst¸epuj¸a one bardzo rzadko, jest ich tylko 255 w´sród liczb mniejszych od 100 000 000.
1.19.3
Test Millera-Rabina
Zakładamy, ˙zen jest nieparzyste (2 jest jedyn¸a parzyst¸a liczb¸a pierwsz¸a). Najpierw
spraw-dzamy, czyn jest pot¸eg¸a jakiej´s liczby naturalnej. Dla α od 2 do log2n sprawdzamy czy
n = kα, dla jakiego´sk. W rozdziale o arytmetyce opisano jak za pomoc¸a binary search
stwierdzi´c, czy liczba jest pot¸eg¸a innej liczby. Je˙zelin jest pot¸eg¸a, to jest zło˙zona.
Poniewa˙zn jest nieparzyste, to n− 1 mo˙zemy przedstawi´c w postaci n− 1 = m · 2k.
dla jakiego´sm nieparzystego.
Losujemya < n. Sprawdzamy, czy N W D(a, n) = 1 (je˙zeli N W D(a, n) > 1, to n
jest zło˙zona).
Nast¸epnie obliczamyammod n. Je˙zeli ammod n = 1, to koniec, stwierdzamy, ˙ze n
jest pierwsza. Je˙zeliammod n
6= 1, to obliczamy po kolei am2mod n, am22mod n, . . . , am2kmod n.
Zauwa˙zmy, ˙ze w tym ci¸agu ka˙zda liczba jest kwadratem poprzedniej. Je˙zeli w´sród tych liczb nie ma jedynki, to z twierdzenia Fermata wynika, ˙zen jest zło˙zona, bo wtedy
am2k= an−1 6= 1 (mod n).
Je˙zeli w tym ci¸agu jest jedynka, na przykład
am2i= 1 (mod n)
to patrzymy na poprzedni elementx = am2i−1
. Je˙zelix6= −1, to znale˙zli´smy
nietrywial-ny pierwiastek z 1. Z twierdzenia 1.44 wynika, ˙ze jest to mo˙zliwe tylko wtedy gdyn nie
Łatwo wi¸ec wida´c, ˙ze je˙zeli n jest pierwsze, to test zawsze odpowie prawidłowo,
niezale˙znie od losowania. Wiadomo te˙z, ˙ze je˙zelin jest zło˙zona i nie jest pot¸eg¸a
licz-by pierwszej, to z prawdopodobie ´nstwem wi¸ekszym ni˙z1/2 wykryjemy to (dowód tego
faktu wybiega poza zakres tej ksi¸a˙zki i pomijamy go).
W praktyce stosujemy wszystkie trzy testy na raz. Maj¸ac nieparzyst¸a liczb¸en,
naj-pierw sprawdzamy, czy dzieli si¸e ona przez kilka kolejnych liczb naj-pierwszych
p1, p2, . . . , pd.
Dobórd zale˙zy od tego jak du˙ze liczby sprawdzamy. W ten sposób eliminujemy du˙z¸a
cz¸e´s´c liczb. Zauwa˙zmy, ˙ze obliczaj¸ac iloczyn tych liczb
x =
d
Y
i=1
pi
i sprawdzaj¸ac, czyN W D(x, n) = 1 mo˙zemy za jednym razem sprawdzi´c, czy n dzieli
si¸e przez któr¸a´s z tych liczb.
Po przej´sciu pierwszego testu stosujemy test drugi, a gdy liczban go przejdzie
stosu-jemy test trzeci.
Poniewa˙z liczby Carmichaela s¸a do´s´c rzadkie, wi¸ec drugi test wyeliminuje wi¸ekszo´s´c liczb zło˙zonych.
1.19.4
Losowanie liczb pierwszych
Je˙zeli chcemy wyklosowa´c liczb¸e pierwsz¸a to losujemy nieparzyst¸a liczb¸e, a mast¸epnie sprawdzamy, czy jest ona pierwsza. Je˙zeli nie, to sprawdzamy nast¸epne liczbyn + 2, n + 4, ....
1.20
Zadania
1. Podziel (oblicz ilorazy i reszty) liczb175 oraz 1754 przez 11.
2. Dla ka˙zdej z liczb:x = 8,−8, 120 oraz −120 znajd´z liczb˛e y ∈ {0, 1, 2, 3, 4} tak ˛a,
˙zex = y (mod 5).
3. Oblicz: a)(50· 51 + 15) mod 7, b) 15 · 36 mod 7; c) 153· (37)3mod 7.
4. Oblicz: a)1039mod 11, b) 239mod 5 c) 740mod 10.
5. Przedstaw klasy abstrakcji relacji kongruencji dlam = 6.
6. Jak wygl ˛adaj ˛a działania dodawania i mno˙zenia w pier´scieniu Z6
7. W pier´scieniu Z8wykonaj działania7 + 6 oraz 7· 6.
8. W pier´scieniu Z8rozwi ˛a˙z równania: a)1 + x = 0, b) 1 + x = 2, c) 5 + x = 0, d)
1.20. Zadania 33
9. Podaj tabliczk¸e dodawania i mno˙zenia w ciele Z7. Podaj elementy odwrotne do 5 i
6 w Z7.
10. Dla liczb a = 600 i b = 1050 oblicz N W D(a, b) oraz liczby całkowite x i y
spełniaj¸ace równaniexa + yb = N W D(a, b).
11. ObliczN W D(667, 713).
12. ObliczN W D(199816, 199819).
13. W pier´scieniu Z5rozwi ˛a˙z równania: a)4· x = 1, b) 4 · x = 2.
14. W pier´scieniu Z8rozwi ˛a˙z równania: a)3· x = 1, b) 3 · x = 2.
15. W pier´scieniu Z17rozwi ˛a˙z równania: a)8x = 2, b)9x = 4.
16. W pier´scieniu Z14rozwi ˛a˙z równania: a)6x = 2, b) 6x = 9.
17. Znajd´z całkowite rozwi¸azanie(x, y) spełniaj¸ace równanie: 17x + 40y = 1.
18. Podaj rozkład na czynniki pierwsze liczb240 oraz 111.
19. Ile dzielników ma liczba240?
20. Znajd´z elementy odwrotne do wszystkich elementów dwracalnych w Z12.
21. Przedstaw tabel˛e funkcjif (x) = 4· x + 5 w pier´scieniu Z13.
22. Przedstaw tabel˛e funkcjif (x) = 4· x + 5 w pier´scieniu Z12.
23. Rozwi ˛a˙z układ kongruencji:
3 = a (mod 5), 5 = a (mod 6).
24. Sprawd´z, czy100136 = 200146 (mod 30)
25. Dla jakich par reszt(a1, a2) istniej¸a liczby a spełniaj¸ace układ kongruencji:
a1 = a (mod 4),
a2 = a (mod 6).
26. Które elementy Z12s ˛a resztami kwadratowymi?
27. Które elementy Z13s ˛a resztami kwadratowymi?
28. Ile jest pierwiastków z1 w Z30?
29. Poka˙z,˙ze w Z105jest osiem pierwiastków z1.
30. Przy pomocy algorytmu szybkiego pot˛egowania oblicz: a)3100mod 13; b)2100mod
15.
1.21
Problemy
1.21.1
Najwi˛ekszy wspólny dzielnik
1. Udowodnij, ˙ze ka˙zda liczba postacixa+yb, dla x i y całkowitych, jest wielokrotno´sci¸a N W D(a, b), i na odwrót, ka˙zda wielokrotno´s´c N W D(a, b) jest postaci xa + yb,
dla jaki´sx i y całkowitych.
2. Udowodnij, ˙zeN W D(a, b) jest najmniejsz¸a dodatni¸a liczb¸a d, dla której istnieje x
iy całkowite, takie ˙ze xa + yb = d.
3. Zaprojektuj algorytm obliczania najwi˛ekszego wspólnego dzielnika trzech (lubk)
liczb.
4. Które z liczb całkowitych mo˙zna przedstawi´c w postacix· 10 + y · 21 (x i y ∈ Z)?
5. Które z liczb całkowitych mo˙zna przedstawi´c w postacix· 10 + y · 12 (x i y ∈ Z)?
1.21.2
Najmniejsza wspólna wielokrotno´
s´
c
NiechN W W (a, b) oznacza najmniejsz¸a wspóln¸a wielokrotno´s´c liczb a i b.
1. Udowodnij, ˙zeN W W (a, b) dzieli ka˙zd¸a inn¸a wspóln¸a wielokrotno´s´c liczb a i b.
2. Poka˙z, ˙zeN W W (a, b)· NW D(a, b) = a · b.
3. Jakie liczby całkowite dziel ˛a si˛e jednocze´snie przez24 i przez 54?
1.21.3
Liczby wzgl˛ednie pierwsze
Udowodnij, ˙ze je˙zelim jest wzgl¸ednie pierwsze z a i b, to m jest wzgl¸ednie pierwsze z
iloczynem tych liczbab.
Jako wniosek udowodnij, ˙ze je˙zelim jest wzgl¸ednie pierwsze z ka˙zd¸a z liczb m1, ..., mk,
tom jest wzgl¸ednie pierwsze z iloczynem tych liczb
k
Y
i=1
mi.
1.21.4
Liczby pierwsze
1. Udowodnij, ˙ze dla ka˙zdegok istnieje ci ˛agk kolejnych liczb zło˙zonych.
2. Udowodnij, ˙ze liczb pierwszych jest niesko ´nczenie wiele.
3. Udowodnij, ˙ze je˙zeli dwie liczbyx i y spełniaj ˛a warunki:x2= y2 (mod n) oraz
x6= y (mod n) i x 6= −y (mod n), to NW D(x+y, n) = d jest nietrywialnym
1.21. Problemy 35
1.21.5
Układ kongruencji
Istnieje inny sposób rozwi¸azywania układu kongruencji. Poka˙zemy go na przykładzie układu
a1 = a (mod 3), (1.8)
a2 = a (mod 5),
Najpierw szukamy dwóch liczba01ia10spełniaj¸acych warunki
0 = a01 (mod 3),
1 = a01 (mod 5),
1 = a10 (mod 3),
0 = a10 (mod 5),
Udowodnij, ˙ze rozwi¸azaniem układu (1.8) jest
a = a1· a10+ a2· a01 (mod 15).
Jak policzy´ca01oraza10? Poniewa˙z 3 i 5 s¸a wzgl¸ednie pierwsze, wi¸ec istniej¸ax i y takie,
˙ze
3x + 5y = 1
Poka˙z, ˙ze je˙zeli podstawimya01= 3x (mod 15) oraz a10= 5y (mod 15), to b¸edzie
dobrze.
1.21.6
Chi ´
nskie twierdzenie o resztach
Z chi´nskiego twierdzenia o resztach wynika, ˙ze je˙zeliN W D(m, n) = 1, to funkcja f (x) = (x mod m, x mod n)
stanowi wzajemnie jednoznaczne odwzorowanie pomi¸edzy Zmn a iloczynem kartezja
´n-skim Zm× Zn.
Na iloczynie kartezja ´nskim Zm× Znmo˙zemy okre´sli´c działania dodawania i
mno˙ze-nia w nast¸epuj¸acy sposób:
(a, b) + (c, d) = (a + b, c + d) (a, b)· (c, d) = (a · b, c · d).
Łatwo mo˙zna sprawdzi´c, ˙ze zbiór Zm× Znz tak okre´slonymi działaniami, jest
pier´scie-niem. Ponadto funkcjaf spełnia warunki f (x+y) = f (x)+f (y) oraz f (x·y) = f(x)·(y).
1.21.7
System one-pad
System „one-pad” (porównaj rozdział o funkcjach boolowskich) mo˙ze by ´c stosowany do ci¸agów liter alfabetu łaci ´nskiego. Wtedy uto˙zsamiamy litery z liczbami od 0 do 25 i zamiast operacji⊕ stosujemy:
czyli reszt¸e z dzielenia(x + k) przez 26. Jak wygl¸ada wtedy operacja deszyfrowania?
Poka˙z, ˙ze system one-pad z literami jest równie bezpieczny jak system z dwoma cyframi 0 i 1.
1.21.8
Przestrze ´
n liniowa
ZbiórB ={0, 1} z działaniami xor ⊕ oraz koniunkcji · jest ciałem Z2.
Udowodnij, ˙ze zbiórBn jest przestrzeni¸a liniow¸a nad ciałem{0, 1}, z ⊕ jako
doda-waniem oraz mno˙zeniem przez skalar zdefiniowanym przez:
• 0 · x = 0 (tutaj zero po lewej stronie jest zerem z ciała, a zero po prawej stronie jest
wektorem zerowym),
• 1 · x = x.
1.21.9
Uogólnienie małego twierdzenia Fermata
Udowodnij
Twierdzenie 1.56 NiechG b˛edzie dowoln ˛a grup ˛a. Wtedy dla dowolnegoa∈ G a|G|= 1