Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Podobne dokumenty
Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Matematyka Dyskretna. Andrzej Szepietowski. 17 marca 2003 roku

Matematyka Dyskretna. Andrzej Szepietowski. 25 marca 2004 roku

Przykładowe zadania z teorii liczb

Algorytmy i struktury danych. Wykład 4

Matematyka dyskretna

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Matematyka dyskretna

Luty 2001 Algorytmy (7) 2000/2001

Wybrane zagadnienia teorii liczb

LICZBY PIERWSZE. 14 marzec Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F.

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup.

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Podstawy systemów kryptograficznych z kluczem jawnym RSA

1. Wykład NWD, NWW i algorytm Euklidesa.

Kongruencje twierdzenie Wilsona

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zadania do samodzielnego rozwiązania

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Matematyka dyskretna

Matematyka Dyskretna Zestaw 2

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Algorytmy w teorii liczb

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze

Liczby naturalne i ca lkowite

KONGRUENCJE. 1. a a (mod m) a b (mod m) b a (mod m) a b (mod m) b c (mod m) a c (mod m) Zatem relacja kongruencji jest relacją równoważności.

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

MATEMATYKA W SZKOLE HELIANTUS LICZBY NATURALNE I CA LKOWITE

0 + 0 = 0, = 1, = 1, = 0.

Elementy teorii liczb. Matematyka dyskretna

WYRAŻENIA ALGEBRAICZNE

Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza. Oś liczbowa. Liczba 1, to nie jest liczba pierwsza

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Sumy kwadratów kolejnych liczb naturalnych

Kongruencje pierwsze kroki

Liczby rzeczywiste. Działania w zbiorze liczb rzeczywistych. Robert Malenkowski 1

MADE IN CHINA czyli SYSTEM RESZTOWY

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

Pierwiastki arytmetyczne n a

System liczbowy binarny.

Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010

Zaawansowane algorytmy i struktury danych

Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów

Odwrotne twierdzenie Fermata. Odwrotne twierdzenie Fermata

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Metody Numeryczne Wykład 4 Wykład 5. Interpolacja wielomianowa

Kryptologia przykład metody RSA

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

2. Liczby pierwsze i złożone, jednoznaczność rozkładu na czynniki pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

Jeśli lubisz matematykę

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

Pierwsze kolokwium z Matematyki I 4. listopada 2013 r. J. de Lucas

Zestaw zadań dotyczących liczb całkowitych

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Sumy kolejnych bikwadratów

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

Teoria liczb. Zajmuje się własnościami liczb, wszystkim całkowitych

Kod U2 Opracował: Andrzej Nowak

Zbiory, relacje i funkcje

Projekt AS KOMPETENCJI jest współfinansowany przez Unię Europejską w ramach środków Europejskiego Funduszu Społecznego

Podstawowe struktury algebraiczne

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Grupy. Permutacje 1. (G2) istnieje element jednostkowy (lub neutralny), tzn. taki element e G, że dla dowolnego a G zachodzi.

3. Macierze i Układy Równań Liniowych

Pierwiastki pierwotne, logarytmy dyskretne

Kongruencje. Sławomir Cynk. 24 września Nowy Sącz. Instytut Matematyki Uniwersytetu Jagiellońskiego

Programowanie w Baltie klasa VII

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Parametry systemów klucza publicznego

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

DZIAŁANIA NA UŁAMKACH DZIESIĘTNYCH.

LX Olimpiada Matematyczna

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Podstawowe struktury algebraiczne

Algorytmy i złożoności Wykład 5. Haszowanie (hashowanie, mieszanie)

6. Liczby wymierne i niewymierne. Niewymierność pierwiastków i logarytmów (c.d.).

Maciej Grzesiak. Wielomiany

1. Określenie pierścienia

do instrukcja while (wyrażenie);

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Kongruencje i ich zastosowania

Kongruencje oraz przykłady ich zastosowań

CIĄGI wiadomości podstawowe

Wrocław, Wstęp do informatyki i programowania: liczby pierwsze. Wydział Matematyki Politechniki Wrocławskiej.

Liczby zespolone. x + 2 = 0.

Matematyka dyskretna Oznaczenia

Transkrypt:

Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku

Rozdział 1 Teoria liczb 11 Dzielenie całkowitoliczbowe Zacznijmy od przypomnienia szkolnego algorytmu dzielenia liczb naturalnych Podzielmy 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śmy iloraz 145 i resztę 3 Liczby te spełniają równanie i reszta jest mniejsza od dzielnika Podobnie możemy postąpić dla dowolnych liczb naturalnych i pod warunkiem, że Twierdzenie 11 Dla dowolnych liczb naturalnych oraz para liczb naturalnych i spełniających warunki:! #"$ istnieje dokładnie jedna nazywa się ilorazem całkowitoliczbowym przez, a nazywa się reszt a z dzielenia &% Zauważmy, że iloraz jest zaokr agleniem w dół normalnego ilorazu (')+* Iloraz całkowitoliczbowy liczb i bȩdziemy oznaczać przez -, /10(2 4365178 3

4 Rozdział 1 Teoria liczb a resztę przez Przykład 12 ),! oraz ) 63 63!, ponieważ - oraz $ " W przypadku, gdy i są liczbami całkowitymi iloraz i różnice można róznie definiować Na przykład w jȩzyku Pascal iloraz dwóch liczb typu całkowitego oznacza siȩ przez a div b i jest to % 6')+* zaokr aglenie ilorazu 6') w dół, gdy 6') jest dodatnie i ('), zaokr aglenie ilorazu (' w górȩ, gdy (') jest ujemne Reszta, któr a oznacza siȩ przez jest określona wzorem: Mamy wiȩc, na przykład: a mod b, a mod b = a-(a div b)*b 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 12 Podzielność liczb dzieli liczbȩ całkowit a, jeżeli istnieje liczba całko- Mówimy, że liczba całkowita wita, taka że: Bȩdziemy to oznaczać przez Zauważmy, że zachodzi wtedy: 63 Liczbȩ nazywamy dzielnikiem liczby Przykład 13, oraz Lemat 14 Jeżeli oraz, to oraz Dowód Jeżeli i, to istniej a dwie liczby całkowite i, takie że: oraz Mamy wiȩc: oraz czyli dzieli oraz

13 Relacja kongruencji 13 Relacja kongruencji 5 Niech bȩdzie dowoln a liczb a naturaln a Powiemy, że dwie liczby całkowite i s a równoważne (lub przystaj a) modulo, jeżeli Bȩdziemy wtedy pisać: Przykład 15 63 63 Jeżeli i są dodatnie, to same reszty z dzielenia przez, 63 63, 63 63 wtedy i tylko wtedy, gdy i mają takie, Lemat 16 Relacja przystawania modulo jest relacj a równoważności, czyli spełnia nastȩpuj ace trzy warunki: zwrotność, dla każdego zachodzi 63, symetriȩ, dla każdego i, jeżeli 63 to 63, przechodniość, dla każdego, i, jeżeli 63 i 63 to 63 Dowód Udowodnimy tylko przechodniość relacji Jeżeli oraz czyli to Ponadto relacja modulo jest zgodna z dodawaniem, odejmowaniem i mnożeniem Twierdzenie 17 Jeżeli 63 3 oraz 3 to: 3 63 Dowód Z założenia mamy: z tego zaś łatwo wynika, że dzieli: oraz! czyli zachodzi teza twierdzenia Przykład 18 Twierdzenie 17 może być użyte do obliczania reszty z dzielenia Jeżeli chcemy policzyć na przykład 63

6 Rozdział 1 Teoria liczb to pytamy, która z trzech liczb przystaje do 1 modulo 3 Zróbmy najpierw kilka prostych obserwacji Po pierwsze: 63 bo Z twierdzenia 17 wynika, że każda potȩga liczby dziesiȩć przystaje do 1 modulo 3, czyli: 3 dla każdego Mamy teraz: )8 )84 63 Podobnie, dla dowolnej liczby, jeżeli zapiszemy w postaci dziesiȩtnej: to 63 czyli ma takie same reszty modulo 3 co suma cyfr w zapisie dziesiȩtnym Przykład 1 Aby przekonać się, że )8 ( wystarczy zauważyć, że liczba jest parzysta, więc także wynik mnożenia powinien byż parzysty Mówiac inaczej ) 63 oraz 63, więc na podstawie twierdzenia 17 mamy 63, a liczba ( przystaje do jedynki modulo 2 Podobnie możemy się przekonać, że )8 ( )# wystarczy zauważyć, że w iloczynie ostatnia cyfra powinno być 8 a nie 6 Inaczej 63 oraz 3, więc na podstawie twierdzenia 17 mamy 63, a liczba ) przystaje do 6 modulo 10 14 Klasy abstrakcji Dla relacji przystawania modulo definiujemy klasy abstrakcji Dla dowolnej liczby całkowitej, klasȩ abstrakcji elementu definiujemy w nastȩpuj acy sposób: 3 Innymi słowy, klasa abstrakcji liczby to zbiór wszystkich liczb z ni a równoważnych Przykład 110 Dla mamy trzy klasy abstrakcji

15 Pierścień 7 ) Zauważmy, że klasy abstrakcji elementów równoważnych pokrywaj a siȩ Lemat 111 Jeżeli Dowód Jeżeli to 63 to 63 i z przechodniości relacji a wiȩc pokazaliśmy, że: Identycznie pokazujemy zawieranie odwrotne 63, czyli: Nastȩpna ważna własność klas abstrakcji to ich rozł aczność Lemat 112 Jeżeli to, inaczej, dwie klasy abstrakcji i albo s a identyczne, albo s a rozł aczne Dowód Przypuśćmy, że klasy i maj a wspólny element Wtedy: Z przechodniości mamy wtedy 63 63 63, a z lematu 111 15 Pierścień Klasy abstrakcji relacji modulo wygl adaj a nastȩpuj aco: Dla dowolnego z przedziału #, klasa jest postaci: ( oznacza zbiór liczb całkowitych) Zbiór klas abstrakcji modulo oznacza siȩ przez Ponieważ relacja modulo jest zgodna z działaniami dodawania i mnożenia, możemy zdefiniować dodawanie i mnożenie na klasach abstrakcji Mówi ac w skrócie, aby wykonać działanie na dwóch klasach abstrakcji, wybieramy dowolnych przedstawicieli tych

8 Rozdział 1 Teoria liczb klas i wykonujemy działania na tych przedstawicielach Dokładniej, dodawanie klas abstrakcji definiujemy nastȩpuj aco: Podobnie definiujemy odejmowanie i mnożenie: Poniższy lemat pokazuje, że działania te s a dobrze zdefiniowane; że wynik działania na dwóch klasach nie zależy od wyboru reprezentantów Lemat 113 Jeżeli oraz to: Dowód Z założenia mamy: 63 63 a z twierdzenia 17: oraz Przykład 114 Niech należy do Dla dowolnych dwóch liczb a iloczyn do ) i ich suma Lemat 115 Działania na klasach abstrakcji spełniaj a nastȩpuj ace warunki: dodawanie oraz mnożenie s a przemienne i ł aczne, klasa jest elementem neutralnym dodawania, to znaczy dla każdego mamy, dla każdej klasy istnieje klasa do niej przeciwna 8, taka że klasa jest elementem neutralnym mnożenia, to znaczy dla dowolnego mamy, mnożenie jest rozdzielne wzglȩdem dodawania, czyli dla każdych trzech klas,, mamy Zbiór z dwoma działaniami spełniaj acymi powyższe warunki nazywa siȩ pierścieniem przemiennym z jedynk a 8,

15 Pierścień Dowód: Udowodnimy tylko rozdzielność: Skorzystaliśmy w tym dowodzie z rozdzielności mnożenia wzglȩdem dodawania dla liczb całkowitych Przykład 116 Rozważmy zbiór reszt modulo 5 Składa siȩ on z piȩciu klas: dla prostoty bȩdziemy dalej opuszczać nawiasy Mamy wiȩc zbiór: z dodawaniem i mnożeniem określonym nastȩpuj 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 Zauważmy, że każdy element oprócz zera ma w czyli dla każdego istnieje 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 element odwrotny wzglȩdem mnożenia, : taki że Dlatego mnożenia jest ciałem, czyli pierścieniem przemiennym z jedynk a i z odwrotności a wzglȩdem Przykład 117 Rozważmy teraz pierścień reszt modulo 4: gdzie dodawanie i mnożenie jest określone nastȩpuj 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 1 0 1 2 3 2 0 2 0 2 3 0 3 2 1 nie jest ciałem, ponieważ nie ma w nim elementu odwrotnego do 2 Ponadto w mamy: - czyli zero można przedstawić jako iloczyn dwóch liczb różnych od zera

10 Rozdział 1 Teoria liczb " " Łatwo zauważyć, że jeżeli liczba jest złożona, dla, to w pierścieniu mamy i ani, ani nie maj a elementów odwrotnych Przypuśćmy bowiem, że istnieje Mamy wtedy: czyli, sprzeczność Tak wiȩc nie jest ciałem, jeżeli jest liczb a złożon a W dalszej czȩści tego rozdziału zobaczymy, że jeżeli jest liczb a pierwsz a, to jest ciałem 16 Najwiȩkszy wspólny dzielnik Dla dwóch liczb całkowitych i, ich najwiȩkszy wspólny dzielnik to po prostu najwiȩksza liczba całkowita, która dzieli i Najwiȩkszy wspólny dzielnik liczb i bȩdziemy oznaczać przez Na przykład:, 17 Algorytm Euklidesa Najwiȩkszy wspólny dzielnik dwóch liczb dodatnich można obliczyć za pomoc a algorytmu Euklidesa Algorytm Euklidesa Aby obliczyć najwiȩkszy wspólny dzielnik dwóch dodatnich liczb naturalnych,, powtarzamy aż do skutku: jeżeli jeżeli, to jeżeli ", to, to koniec,, Powyższy algorytm odejmuje od wiȩkszej liczby mniejsz a tak długo, aż liczby bȩd a równe Wtedy wynikiem działania algorytmu jest wspólna wartość tych liczb W uproszczonej wersji jȩzyka Pascal algorytm Euklidesa można zapisać w nastȩpuj acy sposób: p:=a;q:=b; while p<>q do if p>q then p:=p-q else q:=q-p; NWD(a,b):=p, W poniższej tabeli pokazano kolejne kroki działania algorytmu Euklidesa na parze liczb 36 i 15:

17 Algorytm Euklidesa 11 36 15 21 15 6 15 6 6 3 3 3 Tak wiȩc 3 jest najwiȩkszym wspólnym dzielnikiem liczb 15 i 36 Poprawność algorytmu Euklidesa wynika z poniższego lematu Lemat 118 Niech i bȩd a dwoma liczbami naturalnymi i niech " " Wtedy para ma taki sam zbiór wspólnych dzielników jak para, Dowód Jeżeli liczba jest wspólnym dzielnikiem pary, to dzieli także, czyli jest wspólnym dzielnikiem pary, Na odwrót, jeżeli liczba jest wspólnym dzielnikiem pary,, to dzieli także, czyli jest wspólnym dzielnikiem pary Tak wiȩc po każdej iteracji pȩtli while para ma taki sam zbiór wspólnych dzielników, a wiȩc także taki sam najwiȩkszy wspólny dzielnik Na końcu, gdy, wówczas oczywiście Należy jeszcze pokazać, że dla każdej pary dodatnich liczb naturalnych i algorytm zatrzyma siȩ Ale to wynika z faktu, że po każdej iteracji pȩtli while liczba jest coraz mniejsza, a ponieważ jest to zawsze liczba naturalna dodatnia, wiȩc nie może zmniejszać siȩ w nieskończoność Zauważmy przy okazji, że jeżeli jedna z dwóch liczb, lub, jest zerem, to algorytm nie zatrzyma siȩ Twierdzenie 11 Niech i bȩd a dwoma dodatnimi liczbami naturalnymi i niech Wtedy istniej a liczby całkowite i, takie że: ( lub mówi ac inaczej, jest kombinacj a całkowitoliczbow a liczb i Dowód Pokażmy, że wszystkie wartości, jakie przyjmuj a zmienne i w trakcie wykonywania algorytmu Euklidesa, s a całkowitoliczbowymi kombinacjami liczb i Na pocz atku, gdy i, mamy: Załóżmy teraz, że po -tej iteracji pȩtli Wtedy w iteracji ) $ oraz że zachodzi: bȩdzie pomniejszone o i bȩdziemy mieli: Z tego wynika, że także ostateczna wartość zmiennej kombinacj a liczb i (która jest równa ) jest całkowitoliczbow a

12 Rozdział 1 Teoria liczb Algorytm Euklidesa można tak zmodyfikować, aby oprócz najwiȩkszego wspólnego dzielnika, wyliczał także liczby i, takie że: Oto ten algorytm w jȩzyku Pascal: p:=a;q:=b; xp:=1;yp:=0; xq:=0;yq:=1; while p<>q do if p>q then begin p:=p-q; xp:=xp-xq; yp:=yp-yq end else begin q:=q-p; xq:=xq-xp; yq:=yq-yp end; NWD(a,b):=p; x:=xp,y:=yp ( W poniższej tabeli pokazano kolejne kroki działania rozszerzonego algorytmu Euklidesa na parze liczb 36 i 15: 6 36 15 1 0 0 1 21 15 1-1 0 1 6 15 1-2 0 1 6 1-2 -1 3 6 3 1-2 -2 5 3 3 3-7 -2 5 Tak wiȩc liczbȩ 3 można przedstawić jako kombinacjȩ liczb 15 i 36 w nastȩpuj acy sposób: ) Zauważmy, że jeżeli jakaś liczba dzieli liczby i, to dzieli także każd a ich kombinacjȩ całkowit a ( a wiȩc dzieli także najwiȩkszy wspólny dzielnik Udowodniliśmy poniższy lemat

18 Liczby pierwsze i wzglȩdnie pierwsze 13 Lemat 120 jest podzielny przez każdy wspólny dzielnik liczb i Z lematu 120 wynika, że najwiȩkszy wspólny dzielnik może być równoważnie zdefiniowany jako taki wspólny dzielnik liczb i, który jest podzielny przez każdy wspólny dzielnik i Lemat 121 Liczba jest najwiȩkszym wspólnym dzielnikiem liczb i wtedy i tylko wtedy gdy bȩdzie wspólnym dzielnikiem i oraz istniej a liczby całkowite i, takie że! ( Dowód Jeżeli to, oraz (z twierdzenia 11) istniej a liczby całkowite i, takie że:! ( Na odwrót, jeżeli dzieli i oraz (, to każdy wspólny dzielnik i dzieli, a wiȩc jest najwiȩkszym wspólnym dzielnikiem i Wniosek 122 Jeżeli istniej a liczby całkowite i, takie, że (, to ) Przykład 123 Zastanówmy siȩ, ile wynosi Ponieważ: ) ) oraz 2 jest wspólnym dzielnikiem 18 i 2000, wiȩc ))( Zastanówmy siȩ teraz, ile wynosi Ponieważ: )) wiȩc ( )) dzieli 2, a ponieważ 2 nie dzieli ani 1, ani 2001, wiȩc 18 Liczby pierwsze i wzglȩdnie pierwsze Dwie liczby naturalne i są wzglȩdnie pierwsze, jeżeli, a liczba naturalna jest pierwsza, jeżeli i jedynymi dzielnikami naturalnymi s a jedynka i samo Oto wszystkie liczby pierwsze mniejsze od 50: ) ) ( ) Liczba, która nie jest pierwsza jest złożona Istnieją wtedy dwie liczby, " takie, że 1 Rozkład liczb na czynniki pierwsze W tym rozdziale zobaczymy, że każd a liczbȩ naturaln a można rozłożyć na czynniki pierwsze i że taki rozkład jest jednoznaczny z dokładności a do kolejności czynników Na przykład: ) i,

14 Rozdział 1 Teoria liczb Twierdzenie 124 Każd a liczbȩ naturaln a można przedstawić jako iloczyn liczb pierwszych (niekoniecznie różnych): Dowód nie wprost Przypuśćmy, że istnieje liczba naturalna, której nie można przedstawić jako iloczynu liczb pierwszych i że jest najmniejsz a tak a liczb a nie może być liczb a pierwsz a (bo wtedy ), wiȩc jest liczb a złożon a, czyli jest postaci: dla " pierwsze Ale ponieważ i s a mniejsze od, wiȩc można je rozłożyć na czynniki ale wtedy, wbrew założeniu, mamy rozkład liczby na czynniki pierwsze: Aby pokazać, że rozkład jest jednoznaczny (z dokładności a do kolejności czynników), musimy najpierw udowodnić dwa lematy Lemat 125 Niech i bȩd a dodatnimi wzglȩdnie pierwszymi liczbami naturalnymi Wtedy dla dowolnej liczby, jeżeli, to Dowód Z twierdzenia 11, istniej a dwie liczby całkowite i, takie że: 6 Pomnóżmy teraz obie strony tego równania przez : ( i zauważmy, że dzieli oba składniki po lewej stronie równania, a wiȩc dzieli praw a stronȩ, czyli Lemat 126 Jeżeli liczba pierwsza (niekoniecznie różnych), to wtedy dzieli iloczyn liczb pierwszych jest równe jednej z liczb Dowód przez indukcjȩ ze wzglȩdu na Dla mamy, a ponieważ jest pierwsza i, wiȩc Załóżmy teraz, że teza zachodzi dla i przypuśćmy, że dzieli Mamy dwa przypadki: albo dzieli, albo nie W pierwszym przypadku W drugim przypadku mamy, bo 1 i to jedyne dzielniki liczby Z lematu 125 wynika teraz, że dzieli a z założenia indukcyjnego, że 4 dla jakiegoś

110 Elementy odwracalne 15 Udowodnimy teraz, że rozkład liczby na czynniki pierwsze jest jednoznaczny, z dokładności a do kolejności czynników Twierdzenie 127 Każd a liczbȩ naturaln a można w dokładnie jeden sposób przedstawić w postaci iloczynu: gdzie s a dodatnimi liczbami naturalnymi, " " (" s a liczbami pierwszymi oraz zachodzi Dowód Twierdzenie 124 orzeka, że liczba ma rozkład na czynniki pierwsze Trzeba pokazać, że jest to rozkład jednoznaczny jako liczba pierwsza ma jednoznaczny rozkład Przypuśćmy, że jest najmniejsz a liczb a z dwoma różnymi rozkładami: (11) Wtedy z jednej strony nie może wystȩpować po prawej stronie równania (11), bo ' byłoby mniejsz a liczb a z niejednoznacznym rozkładem Z drugiej strony dzieli praw a stronȩ, a wiȩc, z lematu 126 wystȩpuje po prawej stronie Mamy wiȩc sprzeczność Lemat 128 Jeżeli i s a wzglȩdnie pierwsze, to ich rozkłady s a rozł aczne, to znaczy maj a rozł aczny zbiór liczb pierwszych wystȩpuj acych w ich rozkładach 110 Elementy odwracalne Definicja 12 Element jest odwracalny, jeżeli istnieje, takie, że 63 nazywamy elementem odwrotnym do i oznaczamy przez Oprócz 3 w odwra- Przykład 130 jest odwracalna w bo 3 calne sa także, i Lemat 131 Liczba jest odwracalna wtedy i tylko wtedy, gdy Dowód Jeżeli a wiȩc dzieli, czyli:, to istniej a liczby całkowite i, takie że: 63 Teraz wystarczy przyj ać za tak a liczbȩ z przedziału od 1 do, która przystaje do modulo Z drugiej strony jeżeli istnieje element odwrotny do to 63

16 Rozdział 1 Teoria liczb czyli dla jakiegoś Mamy wiȩc czyli (wniosek 122) Z powyższego dowodu wynika, że element odwrotny do można wyliczyć stosuj ac algorytm Euklidesa Na przykład policzmy element odwrotny do 12 w pierścieniu Najpierw zastosujemy algorytm Euklidesa, aby obliczyć i, takie że: Kolejne kroki algorytmu przedstawiono w tabeli: 6 17 12 1 0 0 1 5 12 1-1 0 1 5 7 1-1 -1 2 5 2 1-1 -2 3 3 2 3-4 -2 3 1 2 5-7 -2 3 Mamy wiȩc: -) czyli: ale: 63 3 czyli 10 jest elementem odwrotnym do 12 w pierścieniu Definicja 132 Zbiór elementów odwracalnych w oznaczamy przez Przykład 133 Lemat 134 Jeżeli liczba jest pierwsza, to każdy element,, jest odwracalny, czyli pierścień jest ciałem Lemat 135 Jeżeli to oraz To oznacza, że z mnożeniem jest grup a Dowód: Elementem odwrotnym do iloczynu 6 jest jest, a elementem odrotnym do

111 Funkcja liniowa 111 Funkcja liniowa 17 Zastanówmy siȩ jak w pierścieniu działa funkcja liniowa 63 Rozpatrzmy najpierw przypadek, gdy i s a wzglȩdnie pierwsze, czyli gdy Dla i wartości funkcji przedstawia tabela x 0 1 2 3 4 5 6 7 3x 0 3 6 1 4 7 2 5 W takim przypadku istnieje element odwrotny do i funkcja jest odwrotna do Rzeczywiście, która Z tego wynika, że jest wzajemnie jednoznaczna i "na" oraz, że dla każdego równanie ma dokładnie jedno rozwi azanie w pierścieniu, jest ono równe Funkcja jest permutacj a w i wykorzystuje siȩ j a, gdy trzeba wymieszać (przepermutować) elementy Zauważmy, że jest także permutacją w Rzeczywiście, jeżeli, to na podstawie lematu 135 Mamy wiȩc Lemat 136 Jeżeli, to funkcja jest funkcj a wzajemnie jednoznaczn a w i w Rozpatrzmy teraz przypadek, gdy i nie s a wzglȩdnie pierwsze, czyli gdy Dla i Zauważmy, że jeżeli jest wartości a funkcji to istnieje takie, że wartości funkcji przedstawia tabela x 0 1 2 3 4 5 6 7 6x 0 6 4 2 0 6 4 2, czyli gdy 63 a ponieważ dzieli i, to dzieli, a wiȩc wartościami funkcji mog a być tylko liczby podzielne przez Lemat 137 Jeżeli oraz, to równania oraz (' ' 63 63 ' s a równoważne, czyli maj a ten sam zbiór rozwi azań w zbiorze liczb całkowitych

' ' ' 18 Rozdział 1 Teoria liczb Dowód wtedy i tylko wtedy, gdy istnieje takie że a to zachodzi wtedy i tylko wtedy, gdy istnieje (' 3 ' takie, że czyli wtedy i tylko wtedy, gdy (' ' 63 ' Przypuśćmy teraz, że dzieli i rozwi ażmy równanie w pierścieniu, czyli szukamy takich (12) Z lematu 137, to równanie jest równoważne równaniu Ale teraz ' (' ' takie że (' (' ', że 3 (13) 63 ' (14) i równanie (14) ma dokładnie jedno rozwi azanie ' 3 ' Ale równania (14) i (13) s a spełnione także przez liczby ' S a to wszystkie liczby ze zbioru spełniaj ace równania (14) i (13), czyli wszystkie rozwi azania równania (12) w pierścieniu Przykład 138 Rozwi ażmy równanie 63 (15) Ponieważ, wiȩc najpierw rozwi azujemy równanie 63 W mamy wiȩc rozwi azaniem jest Tak wiȩc rozwi azaniami równaia (15) w s a liczby

112 Szyfry liniowe 1 112 Szyfry liniowe Przypuśćmy, że mamy tekst zapisany za pomoc a 26 liter alfabetu łacińskiego: i chcemy ten tekst zaszyfrować W tym celu utożsamiamy zbiór liter z elementami pierścienia : wybieramy dwie liczby, takie że literze według wzoru: Funkcja deszyfruj aca jest określona wzorem: 3 63, i szyfrujemy litera po Rzeczywiście: Z tego wynika, że funkcja szyfruj aca jest wzajemnie jednoznaczna ) Przykład 13 Wybierzmy i i zaszyfrujmy słowo 6 W tym celu musimy zaszyfrować 6 liter:,,,, oraz Obliczenia przedstawiono w tabeli: litera szyfr m 12 10 k a 0 20 u t 1 15 p e 4 8 i y 24 0 a k 10 16 q Słowo 6 po zaszyfrowaniu wygl ada tak: Jeżeli zaś zastosujemy ten sam szyfr do pocz atkowego zdania z wiersza Lokomotywa Juliana Tuwima: to otrzymamy: stoi na stacji lokomotywa, spewhuspuotwneqekepagu

20 Rozdział 1 Teoria liczb A oto program w jȩzyku Pascal, który szyfruje teksty zapisane za pomoc a 26 liter alfabetu łacińskiego: var t:string; a,b,i,m:integer; begin writeln( podaj klucz ); write( a= ); readln(a); write( b= ); readln(b); writeln( podaj tekst do zaszyfrowania ); readln(t); for i:=1 to length(t) do begin m:=((ord(t[i])-7)*a+b)mod(26)+7; write(chr(m)) end end Komentarz Zmienna t jest typu string, czyli łańcuch Tak a zmienn a można traktować jak tablicȩ z indeksami od 1 do length(t) i z wartościami typu char (znak) Zmienne typu char s a przechowywane w jednym bajcie i mog a zawierać jeden znak Listȩ znaków wraz z odpowiadaj acymi im numerami (od 0 do 255) zawiera tak zwany kod ASCII Małe litery alfabetu łacińskiego maj a tam numery od 7 a, do 122 z Instrukcja readln(t) czyta z klawiatury tekst do zaszyfrowania i zapisuje go do zmiennej t Elementy tablicy t[i], dla i od 1 do length(t), zawieraj a poszczególne znaki naszego tekstu Funkcja ord przypisuje znakom ich numery w kodzie ASCII, a funkcja chr działa na odwrót, przypisuje znak numerowi Pȩtla for, dla każdego znaku tekstu t po kolei, wylicza numer tego znaku po zakodowaniu: m:=((ord(t[i])-7)*a+b)mod(26)+7, a nastȩpnie drukuje zakodowany znak na ekranie: write(chr(m)) Klucz do kodowania przechowywany jest w postaci dwóch liczb, a i b, typu integer Szyfry liniowe s a bardzo starym wynalazkiem W prostszej wersji z stosował je już Juliusz Cezar Ich wad a jest to, że bardzo łatwo daj a siȩ łamać Czasami wystarcza odgadn ać, jak zaszyfrowano dwie litery Można to zrobić analizuj ac czȩstości wystȩpowania liter w zaszyfrowanym tekście Przykład 140 (kontynuacja przykładu 13) W naszym drugim zaszyfrowanym tekście litera wystȩpuje cztery razy, a litery i po trzy razy Może to nam pomóc w odgadniȩciu,

113 Chińskie twierdzenie o resztach 21 że litera koduje literȩ, a litera koduje literȩ Mamy wiȩc dwa równania: 63 63 Po odjȩciu tych równań stronami mamy: 63 Korzystaj ac z algorytmu Euklidesa, możemy teraz wyliczyć element odwrotny do 5 w pierścieniu Jest to 21, ponieważ: ( oraz 63 tak wiȩc: ( ) (8 Teraz z drugiego równania możemy wyliczyć : - 63 63 113 Chińskie twierdzenie o resztach W starożytnych Chinach generałowie używali pewnego ciekawego sposobu liczenia swoich żołnierzy Dla kilku niewielkich liczb parami wzglȩdnie pierwszych, na przykład dla: obliczano i zapamiȩtywano reszty z dzielenia liczby żołnierzy przez te liczby W celu obliczenia reszt kazano żołnierzom ustawić siȩ trójkami, pi atkami i siódemkami Jeżeli przy nastȩpnym apelu wszystkie trzy reszty były takie same, to znaczyło, że nie brakuje żadnego żołnierza Zobaczmy, jak ten sposób działa Weźmy najpierw dwie liczby: W poniższej tabeli mamy zestawione reszty modulo 2 i 3 liczb od 0 do 5: a 63 3 0 0 0 1 1 1 2 0 2 3 1 0 4 0 1 5 1 2

22 Rozdział 1 Teoria liczb " " Każda z liczb od 0 do ma inny zestaw reszt oraz dla każdej pary reszt, spełniaj acych warunek,, istnieje liczba, taka że: 63 63 Oczywiście 6 ma takie same reszty jak 0: 63 i ogólnie, jeżeli dwie liczby i dla jakiegoś całkowitego, to 63 63 63 różni a siȩ o wielokrotność liczby 63 63 -, czyli: Z tego widać, że sposób chińskich generałów, z liczbami 2 i 3, liczy żołnierzy z dokładności a do piȩciu Sytuacja jest inna, jeżeli i nie s a wzglȩdnie pierwsze Jeżeli, na przykład, i, to wśród liczb od 0 do ) istniej a takie, które maj a takie same reszty, na przykład 1 i 13: 63 3 63 3 Ponadto nie istnieje taka liczba, dla której: 63 63 Rzeczywiście, z pierwszej równości wynika, że powinno być nieparzyste, a z drugiej, że parzyste Jeżeli jednak i s a wzglȩdnie pierwsze, to każda z liczb od 0 do ma inny zestaw reszt oraz dla każdej pary reszt, spełniaj acych warunek ", # ", istnieje liczba, taka że: 63 63 zachodzi bowiem poniższe twierdzenie Twierdzenie 141 (chińskie twierdzenie o resztach) Niech bȩd a dodatnimi liczbami wzglȩdnie pierwszymi, to znaczy dla każdej pary " mamy, oraz niech

113 Chińskie twierdzenie o resztach 23 bȩd a dowolnymi resztami Wtedy istnieje liczba całkowita, taka że: 63 63 (16) 3 Ponadto jeżeli liczby i s a rozwi azaniami układu kongruencji (16), to ich różnica, czyli przez: dzieli siȩ przez iloczyn wszystkich liczb Dowód Najpierw udowodnimy drug a czȩść twierdzenia Dla każdego 63 3 Po odjȩciu stronami tych dwóch równań mamy: 3 czyli mamy: wiȩc każda spośród liczb dzieli!, a skoro liczby s a wzglȩdnie pierwsze, wiȩc także ich iloczyn dzieli Rzeczywiście, przypuśćmy bowiem, że ma rozkład Weźmy teraz dowolne Ponieważ rozkłady liczb s a rozł aczne, wiȩc występuje w rozkładzie jakiegoś, czyli dzieli oraz, a wiȩc w rozkładzie liczby, liczba wystȩpuje z wykładnikiem Dlatego dzieli Zobaczymy teraz, że układ (16) ma rozwi azanie Niech ', czyli: Ponieważ i maj a rozł aczne rozkłady, wiȩc oraz istnieje, takie że: 63 Weźmy teraz: Zauważmy, że jeżeli co daje:, to, oraz: 63 3 dla każdego, a wiȩc jest rozwi azaniem układu równań (16)

24 Rozdział 1 Teoria liczb Przykład 142 Każda z liczb od 0 do! ma inny zestaw reszt wzglȩdem liczb 3, 5 i 7 Tak wiȩc stosuj ac sposób chińskich generałów z liczbami 3, 5, 7 możemy liczyć żołnierzy z dokładności a do 104 Ale sposób chińskich generałów pozwala także stwierdzić, o ile zmieniła siȩ liczba żołnierzy Przypuśćmy bowiem, że na porannym apelu było żołnierzy i uzyskano reszty: 63 63 63 a na apelu wieczornym było żołnierzy i otrzymano reszty: 63 63 63 wtedy różnica spełnia nastȩpuj acy układ kongruencji: 63 63 63 Jak widać, chińskie twierdzenie o resztach pozwala wnioskować o dużych liczbach za pomoc a operacji na małych liczbach Zobaczmy teraz inne zastosowanie tego twierdzenia Przykład 143 Zastanówmy siȩ, ile wynosi reszta z dzielenia liczby przez 15 Łatwo można policzyć, że: 63 oraz 63, a wiȩc: 63 ponieważ 4 jest jedyn a liczb a z przedziału, która posiada reszty 63 oraz 63 114 Pierwiastki kwadratowe Definicja 144 Liczbȩ nazywamy pierwiastkiem kwadratowym liczby w pierścieniu, jeżeli Przykład 145 W Zauważmy, że jeżeli czyli 3 pierwiastkami 4 s a 2 i 3, a liczba 2 nie posiada pierwiastka 63 to 63, też jest pierwiastkiem Lemat 146 Jeżeli jest liczb a pierwsz a i z, to i 63 s a jedynymi pierwiastkami

115 Funkcja Eulera 25 Dowód Jeżeli 3, to dzieli, a ponieważ jest pierwsze to dzieli lub W pierwszym przypadku 63, w drugim 63 Przykład 147 Tak nie musi być, jeżeli nie jest liczb a pierwsz a Na przykład w mamy cztery pierwiastki z, s a to,, i Ogólnie rozważmy liczbȩ która jest iloczynem dwóch różnych liczb pierwszych # Weźmy teraz dowoln a liczbȩ, dla której oraz Wtedy 63 3 63 lub 63 lub 63 oraz 63 czyli z chińskiego twierdzenia o resztach wynika, że 63 Ponieważ, to 3 oraz cztery różne pierwiastki z 1, Zauważmy, że 63 63 63 63 3 S a to liczby dla których oraz 63 63 63 63# 63 63 i mamy wtedy 115 Funkcja Eulera Definicja 148 Funkcja Eulera, jest to funkcja, która liczbie przypisuje liczbȩ elementów odwracalnych w Z definicji przyjmujemy Przykład 14 Podobnie, bo w odwracalne sa,,,, Lemat 150 a) Jeżeli jest liczb a pierwsz a, to dla dowolnego, W szczególności b) Jeżeli i s a wzglȩdnie pierwsze, to

' 26 Rozdział 1 Teoria liczb Dowód: a) Zauważmy że, wśród liczb wzglȩdnie pierwsze z nie s a te, które s a podzielne przez, jest ich, czyli b) Najpierw zauważmy, ze dla dowolnej liczby, # " wtedy i tylko wtedy gdy a to zachodzi wtedy i tylko wtedy gdy reszty spełniaj a warunki oraz oraz 3 oraz 3 (17) Par reszt spełniaj acych warunek (17) jest, a z chińskiego twierdzenia o resztach każdej liczbie, " odpowiada dokładnie jedna para reszt, i na odwrót każdej parze reszt odpowiada jedna liczba Tak wiȩc liczb wzglȩdnie pierwszych z jest 116 Szybkie potȩgowanie Teraz zastanowimy siȩ jak można potȩgować, czyli jak obliczyć 63 dla oraz Pierwszy nasuwaj acy siȩ algorytm potȩgowania polega na krotnym mnożeniu przez : y:=1; for i:=0 to k do y:=y*a mod n W kryptografii oblicza siȩ potȩgi z wykładnikami posiadaj acymi po kilkaset bitów Do takich zastosowań powyższy algorytm jest nieprzydatny (wymaga on mnożeń) Pokażemy teraz jak można potȩgować dużo szybciej Zauważmy, że i ogólnie Dlatego, aby obliczyć potȩgȩ o wykładniku, który jest potȩg a dwójki wykonać y:=a; for i:=1 to j do y:=y*y mod n należy

116 Szybkie potȩgowanie 27 Przykład 151 Aby obliczyć w obliczmy - 3,! 3, 3, 63 Jeżeli wykładnik jest sum a potȩg dwójki, to Przykład 152 Aby obliczyć ) 63 63 Zauważmy, że każda liczba naturalna gdzie trzeba wymnożyć jest sum a potȩg dwójki to cyfry rozwiniȩcia dwójkowego Powyższe uwagi sugeruj a nastȩpuj acy algorytm obliczania potȩgi Algorytm szybkiego potęgowania Dane wejściowe: podstawa a oraz wykładnik k=(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 Zmienna x zawiera kolejne potȩgi o wykładnikach bȩd acych potȩgami 2 Na pocz atku Po tej iteracji pȩtli for Jeżeli to mnożymy przez Na końcu 8 Przykład 153 Prześledźmy działanie algorytmu podczas obliczania 63 ) ) w zapisie dwójkowym ma postać Poniższa tabela zawiera wartości zmiennej x i y przed wejściem do pętli for i=0) oraz po każdej iteracji i x y 0 2 2 1 4 8 2 3 8 3 8 4 3 11 Zauważmy, że wyniki pośrednie, i ostateczny, należą do i algorytm nie potrzebuje zbyt dużej pamiȩci Algorytmu tego nie można stosować do obliczania w liczbach całkowitych, jeżeli jest duże, to wynik ostateczny oraz pośrednie bȩdą zbyt duże, żeby mógł siȩ zmieścić w pamiȩci komputera

28 Rozdział 1 Teoria liczb 117 Małe twierdzenie Fermata Twierdzenie 154 (Fermata) Niech, wtedy 63 Dowód Niech to bȩd a wszystkie elementy Jeżeli pomnożymy je przez to zgodnie z lematem 136 otrzymamy te same elementy tylko w innej kolejności Wymnóżmy teraz elemnty obu ci agów Po pomnożeniu przez odwrotność 63 otrzymamy tezȩ twierdzenia Wniosek 155 Jeżeli mamy jest liczb a pierwsz a, to dla każdego wzglȩdnie pierwszego z 3 118 Szyfry RSA W szyfrach one-pad opisanych w rozdziale o funkcjach boolowskich klucz do szyfrowania jest ten sam co klucz do deszfrowania W szyfrach liniowych wprawdzie klucze do szyfrowania i deszyfrowania s a różne, ale jaden łatwo można wyliczyć z drugiego Takie szyfry nazywamy symetrycznymi Teraz zapoznamy siȩ ze sposobem szyfrowania, w których klucz do szyfrowania może być jawny, nawet ogłaszany publicznie, a klucz do deszyfrowania jest tajny i jest praktycznie niemożliwe wyliczenie klucza tajnego z klucza jawnego Sposób ten zaproponowali Rivest, Shamir i Adleman Przypuśćmy, że Alicja chce utworzyć swój klucz Bierze w tym celu dwie duże liczby pierwsze i, każda może zawierać po kilkaset bitów Tworzy ich iloczyn Funkcja Eulera Nastȩpnie Alicja losuje liczbȩ, która jest wzglȩdnie pierwsza z Skoro to istnieje liczba, taka, że 3 Teraz para jest jawnym kluczem Alicji i może być publicznie ogłoszona Para jest kluczem prywatnym Alicji, nie powinna go ona nikomu zdradzać Alicja nie powinna też zdradzać rozkładu liczby na czynniki Jeżeli ktoś zna i, to może wyliczyć oraz Przypuśćmy, że Bob chce przesłać Alicji jak aś zaszyfrowan a wiadomość Traktujemy tȩ wiadomość jako liczbȩ " (Jeżeli wiadomość jest ci agiem znaków, to kodujemy

11 Testy pierwszości 2 każdy znak jako 8 bitów i cały ci ag może być traktowany jako liczba w postaci dwójkowej) Bob szyfruje wiadomość przy pomocy funkcji szyfruj acej 63 i przesyła j a Alicji Alicja odszyfrowuje za pomoc a funkcji deszyfruj acej Pokażemy teraz, że jeżeli Mamy Ponieważ! 63, to, wiȩc istnieje 63 63 takie, że ale jeżeli, to 63 Do powyższego potrzebne było założenie, że 4 63, czyli Tak wiȩc Ale gdy ktoś trafi na wiadomość, która nie jest wzglȩdnie pierwsza z, to Alicja ma pecha, ponieważ wtedy można dokonać rozkładu liczby i złamać jej szyfr Łatwo też można pokazać, że Niesymetryczne szyfry daj a nowe możliwości Można ich na przykład używać do podpisu Aby podpisać jak aś wiadomość, Alicja szyfruje j a swoim szyfrem prywatnym i jest to podpis wiadomości Alicja wysyła Bobowi parȩ Żeby sprawdzić, że wszystko siȩ zgadza Bob szyfruje podpis publicznym kluczem Alicji i sprawdza czy 11 Testy pierwszości W tym rozdziale zajmiemy siȩ zagadnieniem jak sprawdzić, czy liczba jest pierwsza Możemy sobie wyobrazić, że ma kilkaset bitów Jak widać z poprzedniego rozdziału duże liczby pierwsze mog a być przydatne 111 Test naiwny Najprostszy sposób to, dzielić przez kolejne liczby (pierwsze) aż do Jednak ten test jest zupełnie niepraktyczny, jeżeli ma kilkaset bitów

30 Rozdział 1 Teoria liczb 112 Test Fermata Drugi test jest algorytmem probabilistycznym i opiera siȩ na twierdzeniu Fermata 154 Losujemy liczbȩ " i najpierw sprawdzamy, czy Jeżeli i nie s a wzglȩdnie pierwsze, i, to jest dzielnikiem i nie jest pierwsza Jeżeli, to obliczamy 63 Jeżeli 63, to mamy pewność, że nie jest liczb a pierwsz a Definicja 156 Tak a liczbȩ, dla której oraz 63 bȩdziemy nazywać świadkiem Fermata dla, ponieważ zaświadcza ona, że jest złożona Jeżeli 63, to orzekamy, że liczba jest pierwsza W tym przypadku możemy siȩ pomylić Liczba może być złożona a mimo to wylosowaliśmy pechowo i 3 Ale zachodzi nastȩpuj acy lemat Lemat 157 Jeżeli istnieje takie, że 63, to przynajmniej połowa elementów jest świadkiem Fermata dla Dowód Przypuśćmy, że są to wszystkie elementy przez otrzymamy elementów, dla których 6 6 3 Wtedy po pomnożeniu różnych miȩdzy sob a (lemat 136), z których każdy jest świadkiem Fermata Rzeczywiście 63 A wiȩc świadków złożoności jest co najmniej połowa Jeżeli jest pierwsze, to z Twierdzenia Fermata, algorytm zawsze orzeknie dobrze Z lematu 157 wynika, że jeżeli jest złożona i istnieje świadek Fermata dla, to takich świadków jest co najmniej połowa, i nasz algorytm pomyli siȩ z prawdopodobieństwem " ' Prawdopodobieństo, to można zmniejszyć poprzez powtórzenie algorytmu razy, z różnymi wylosowanymi Istniej a jednak liczby złożone, które nie maj a świadków złożoności Na przykład Kłopot bierze siȩ st ad, że! ), a dzieli siȩ przez, oraz przez Dlatego dla dowolnego, jeżeli, to jest wzglȩdnie pierwsze z, i oraz mamy 63 63 63 i z chińskiego twierdzenia o resztach wynika, że Takie liczby nazywaj a sie liczbami Carmichaela Pierwsze trzy z nich to 561, 1105 i 172 Wystȩpuj a one bardzo rzadko, jest ich tylko 255 wśród liczb mniejszych od 100 000 000 63

' 11 Testy pierwszości 31 113 Test Millera-Rabina Zakładamy, że jest nieparzyste (2 jest jedyn a parzyst a liczb a pierwsz a) Najpierw sprawdzamy, czy jest potȩg a jakiejś liczby naturalnej Dla od 2 do / sprawdzamy czy, dla jakiegoś W rozdziale o arytmetyce opisano jak za pomoc a binary search stwierdzić, czy liczba jest potȩg a innej liczby Jeżeli jest potȩg a, to jest złożona Ponieważ jest nieparzyste, to możemy przedstawić w postaci dla jakiegoś nieparzystego Losujemy " jest złożona) Nastȩpnie obliczamy 63 jest pierwsza Jeżeli 63 Sprawdzamy, czy 3 (jeżeli 8, to Jeżeli 63, to koniec, stwierdzamy, że, to obliczamy po kolei 63 Zauważmy, że w tym ci agu każda liczba jest kwadratem poprzedniej Jeżeli wśród tych liczb nie ma jedynki, to z twierdzenia Fermata wynika, że jest złożona, bo wtedy 3 Jeżeli w tym ci agu jest jedynka, na przykład 3 to patrzymy na poprzedni element Jeżeli, to znależliśmy nietrywialny pierwiastek z 1 Z twierdzenia 146 wynika, że jest to możliwe tylko wtedy gdy nie jest pierwsze Jeżeli, to orzekamy, że jest pierwsze Łatwo wiȩc widać, że jeżeli jest pierwsze, to test zawsze odpowie prawidłowo, niezależnie od losowania Wiadomo też, że jeżeli jest złożona i nie jest potȩg a liczby pierwszej, to z prawdopodobieństwem wiȩkszym niż wykryjemy to (dowód tego faktu wybiega poza zakres tej ksi ażki i pomijamy go) W praktyce stosujemy wszystkie trzy testy na raz Maj ac nieparzyst a liczbȩ, najpierw sprawdzamy, czy dzieli siȩ ona przez kilka kolejnych liczb pierwszych Dobór zależy od tego jak duże liczby sprawdzamy W ten sposób eliminujemy duż a czȩść liczb Zauważmy, że obliczaj ac iloczyn tych liczb i sprawdzaj ac, czy siȩ przez któr aś z tych liczb & 63 możemy za jednym razem sprawdzić, czy dzieli

32 Rozdział 1 Teoria liczb Po przejściu pierwszego testu stosujemy test drugi, a gdy liczba go przejdzie stosujemy test trzeci Ponieważ liczby Carmichaela s a dość rzadkie, wiȩc drugi test wyeliminuje wiȩkszość liczb złożonych Jeżeli chcemy wyklosować liczbȩ pierwsz a to losujemy nieparzyst a liczbȩ, a mastȩpnie sprawdzamy, czy jest ona pierwsza Jeżeli nie, to sprawdzamy nastȩpne liczby 11 120 Zadania 1 Dla każdej z liczb:, że 63, oraz ) znajdź liczbę 2 W pierścieniu wykonaj działania oraz 3 W pierścieniu rozwiąż równania: a), b), c) 8 8 4 W pierścieniu rozwiąż równania: a), b) 5 W pierścieniu rozwiąż równania: a) -, b) ) 6 Dla liczb i spełniaj ace równanie 6 ( 7 Oblicz 8 W pierścieniu rozwiąż równania: a) 3 W pierścieniu rozwiąż równania: a), b) 10 Znajdź całkowite rozwi azanie spełniaj ace równanie: 11 Podaj rozkład na czynniki pierwsze liczb oraz ) 12 Ile dzielników ma liczba? taką, oblicz oraz liczby całkowite i 13 Podaj tabliczkȩ dodawania i mnożenia w ciele Podaj elementy odwrotne do 5 i 6 w 14 Znajdź elementy odwrotne do wszystkich elementów dwracalnych w 15 Dla jakich par reszt istniej a liczby spełniaj ace układ kongruencji: 63 63 16 Niech i bȩd a dowolnymi dodatnimi liczbami całkowitymi Dla jakich par reszt istniej a liczby spełniaj ace układ kongruencji: 63 63, d)

121 Problemy 33 121 Problemy 1211 Największy wspólny dzielnik Udowodnij, że jest najmniejsz a dodatni a liczb a, dla której istnieje i całkowite, takie że ( Udowodnij, że każda liczba postaci, i na odwrót, każda wielokrotność jest postaci i całkowitych (, dla i całkowitych, jest wielokrotności a (, dla jakiś Udowodnij, że poniższy algorytm poprawnie oblicza najwiȩkszy wspólny dzielnik, jeżeli $ : var a,b,p,q,r,:integer; begin readln(a,b); p:=a;q:=b; while q >0 do begin r:=p mod q; p:=q; q:=r end; writeln( NWD(,a,,,b, )=,p) end Zmodyfikuj powyższy program, tak aby oprócz, obliczał także współczynniki i, takie że 6 1212 Najmniejsza wspólna wielokrotność Niech oznacza najmniejsz a wspóln a wielokrotność liczb i Udowodnij, że dzieli każd a inn a wspóln a wielokrotność liczb i Pokaż, że 1213 Liczby względnie pierwsze Udowodnij, że jeżeli jest wzglȩdnie pierwsze z i, to jest wzglȩdnie pierwsze z iloczynem tych liczb 6 Jako wniosek udowodnij, że jeżeli jest wzglȩdnie pierwsze z każd a z liczb 1, to jest wzglȩdnie pierwsze z iloczynem tych liczb

34 Rozdział 1 Teoria liczb 1214 Układ kongruencji Istnieje inny sposób rozwi azywania układu kongruencji Pokażemy go na przykładzie układu 63 63 (18) Najpierw szukamy dwóch liczb i spełniaj acych warunki 63 63 63 63 Udowodnij, że rozwi azaniem układu (18) jest 63 Jak policzyć że oraz? Ponieważ 3 i 5 s a wzglȩdnie pierwsze, wiȩc istniej a i takie, Pokaż, że jeżeli podstawimy 63 dobrze oraz 63, to bȩdzie 1215 Chińskie twierdzenie o resztach Z chińskiego twierdzenia o resztach wynika, że jeżeli 63 63, to funkcja stanowi wzajemnie jednoznaczne odwzorowanie pomiȩdzy a iloczynem kartezjańskim Na iloczynie kartezjańskim możemy określić działania dodawania i mnożenia w nastȩpuj acy sposób: Łatwo można sprawdzić, że zbiór z tak określonymi działaniami, jest pierścieniem Ponadto funkcja spełnia warunki oraz