Liczby
Transkrypt
Liczby
Liczby Struktury algebraiczne 1. Pierścieniem przemiennym z jedynką nazywamy zbiór z dwoma działaniami spełniającymi następujące własności: • (a + b) + c = a + (b + c) • a+b=b+a • a+0=a • Dla każdego a znajdziemy b takie, że a + b = 0 • a(bc) = (ab)c • ab = ba • a1 = a • a(b + c) = ab + ac Przykładami pierścieni są liczby całkowite i wielomiany. 2. Ciało jest pierścieniem przemiennym z jednością, w którym dla każdego a 6= 0 znajdziemy b takie, że ab = 1 (zakłada się, ż 1 6= 0). Przykładami ciał są liczby wymierne, liczby rzeczywiste, liczby zespolone i funkcje wymierne. 3. Grupą nazywamy zbiór z działaniem posiadającym następujące własności • (f g)h = f (gh) • Istnieje element e taki, że ef = f e = f • Dla każdego f znajdziemy g takie, że f g = gf = e Jeśli działanie jest przemienne, mówimy o grupie przemiennej. Przykładami grup są wszelkie grupy przekształceń (zbiory przekształceń odwracalnych takie, że przekształcenie odwrotne oraz złożenie przekształceń też do należą do zbioru przekształceń). Grupę tworzą elementy pierścienia (ciała) z dodawaniem. Inną grupę uzyskujemy biorąc niezerowe elementy ciała z mnożeniem. Element przeciwny (odwrotny) do danego elementu a jest jedyny i jest oznaczany symbolem −a (odpowiednio a−1 ). 4. Definicja. Niech G będzie grupą. Podzbiór H zbioru G nazywamy podgrupą grupy G, jeśli • e∈H • g ∈ H ⇒ g −1 ∈ H 1 • g, h ∈ H ∈ H ⇒ gh ∈ H Podgrupa jest grupą. Każda grupa G posiada co najmniej dwie podgrupy G i {e}. 5. Twierdzenie Lagrange’a. Jeśli grupa jest skończona, to liczba elementów podgrupy dzieli liczbę elementów grupy. Dowód. Niech H będzie podgrupą grupy G. Zdefiniujmy relację. Powiemy, że a jest w relacji z b, jeśli a−1 b ∈ H. Tak zdefiniowana relacja jest relacją równoważności. • a−1 a = e ∈ H. • a−1 b ∈ H ⇒ b−1 a = (a−1 b)−1 ∈ H. • a−1 b ∈ H i b−1 c ∈ H ⇒ a−1 c = (a−1 b)(b−1 c) ∈ H. Klasą elementu a jest warstwa aH, czyli zbiór elementów postaci ah, gdzie h jest elementem H. Przekształcenie aH → bH określone wzorem x → ba−1 x jest odwracalne. Dlatego dowolne dwie warstwy są równoliczne. W szczególności każda warstwa jest równoliczna z warstwą eH = H. Wiemy, że relacja równoważności dzieli zbiór na rozłączne warstwy. Dlatego |G| jest wielokrotnością |H|. 6. Twierdzenie. Niech r będzie liczbą elementów grupy G. Wtedy dla każdego g ∈ G mamy g r = e. Dowód. Wypiszmy kolejne potęgi g: g, g 2 , g 3 , . . .. Ponieważ grupa jest skończona, więc dla pewnych i, j (i < j) zajdzie równość: g i = g j lub inaczej g j−i = e. Niech k będzie najmniejszą dodatnią liczbą całkowitą taką, że ak = e. Wtedy zbiór {e, g, g 2 , g 3 , . . . , g k−1 } jest podgrupą grupy G. Dlatego k|r i g r = e. Relacja podzielności 1. Definicja. Mówimy, że liczba całkowita a dzieli liczbę całkowitą b, jeśli istnieje liczba całkowita k taka, że b = ka. Piszemy a|b. Możemy też powiedzieć, że liczba a jest dzielnikiem liczby b lub jeszcze inaczej, że b jest wielokrotnością a. 2. Definicja. Dodatnią liczbę całkowitą p nazywamy liczbą pierwszą, jeśli p ma dokładnie dwa dodatnie dzielniki całkowite (tzn. 1 i p). 3. Lemat. Każda liczba całkowita większa od 1 ma dzielnik pierwszy. Dowód przez indukcję. Liczba 2 ma dzielnik pierwszy równy 2. Załóżmy, że twierdzenie jest prawdziwe dla liczb k = 2, 3, 4, ..., n − 1. 2 Pokażemy, że twierdzenie jest prawdziwe dla n. Jeśli n jest liczbą pierwszą, to n ma dzielnik pierwszy równy n. Jeśli natomiast n nie jest liczbą pierwszą, to n ma dodatni dzielnik k, przy czym 1 < k < n. Z założenia indukcyjnego wiemy, że k ma dzielnik pierwszy. Jest to równocześnie dzielnik pierwszy liczby n. 4. Twierdzenie Euklidesa. Liczb pierwszych jest nieskończenie wiele. Dowód. Załóżmy, że mamy skończoną liczbę liczb pierwszych: p1 , p2 , ..., pn . Weźmy liczbę q = p1 p2 · · · pn + 1. Zgodnie z Lematem liczba q ma dzielnik pierwszy. Może nim być tylko jedna z wymienionych liczb pierwszych. Jeśli jednak pi |q (i = 1, 2, ..., n), to pi |1 i mamy sprzeczność. Oznacza to, że liczby p1 , p2 , ..., pn nie mogą być wszystkimi liczbami pierwszymi. 5. Twierdzenie. Każdą liczbę całkowitą większą od 1 możemy zapisać w postaci iloczynu liczb pierwszych. Dwa przedstawienia różnią się co najwyżej kolejnością czynników. 6. Sito Eratostenesa • Krok 1. Wypisz wszystkie liczby od 2 do n. • Krok 2. Niech p = 2. • Krok 3. Wykreśl wszystkie wielokrotności p począwszy od p2 . • Krok 4. Znajdź najmniejszą niewykreśloną liczbę większą od p. Będzie to nowe p. • Krok 5. Jeśli p2 ≤ n, przejdź do Kroku 3. wypadku zakończ pracę. W przeciwnym Niewykreślone liczby są wszystkimi liczbami pierwszymi w rozważanym przedziale. 7. Dzielenie z resztą. Dla każdych dwóch dodatnich liczb całkowitych znajdziemy liczby całkowite k, r takie, że a = kb + r, 0 ≤ r < b. Liczby k i r są określone jednoznacznie. Liczbę r nazywamy resztą z dzielenia a przez b. 8. Największy wspólny dzielnik. Jeśli choć jedna z liczb całkowitych jest różna od 0, to istnieje największy wspólny dzielnik liczb a, b, który oznaczymy symbolem nwd(a, b). Jeśli a = kb + c i a 6= 0, to nwd(a, b) = nwd(b, c). 3 9. Największy wspólny dzielnik możemy znaleźć stosując Algorytm Euklidesa. Załóżmy, że 0 < b < a. Niech r0 = a, r1 = b. Wykonujemy kolejne dzielenia z resztą r0 = k1 r1 + r2 r1 = k2 r2 + r3 r2 = k3 r3 + r4 ...... Ciąg reszt r0 , r1 , r2 , . . . jest malejący. Dlatego dla pewnego i ri > 0 i ri+1 = 0. Mamy nwd(r0 , r1 ) = nwd(r1 , r2 ) = nwd(r2 , r3 ) = · · · = nwd(ri , 0) = ri . Ostatnia niezerowa reszta jest największym wspólnym dzielnikiem a i b. 10. Twierdzenie. Dla dowolnych liczb całkowitych a, b, z których co najmniej jedna jest różna od zera, znajdziemy liczby całkowite x, y takie, że ax + by = nwd(a, b). Dowód. Kolejne reszty w algorytmie Euklidesa mają postać rj = xj a + yj b, r0 = 1a + 0b, r1 = 0a + 1b. Jeśli rj−1 = xj−1 a + yj−1 b i rj = xj a + yj b, to rj+1 = rj−1 − kj rj = (xj−1 − kj xj )a + (yj−1 − kj yj )b. W szczególności ostatnia niezerowa reszta ma postać ax + by. Dowód pokazuje, jak rozwiązać równania ax + by = nwd(a, b). 11. Binarny algorytm nwd. • Zapamiętujemy największą potęgę liczby 2 dzielącą dwie liczby. • Dzielimy dane liczby przez 2 tak długo, aż zostaną nam liczby nieparzyste. • Jeśli otrzymane liczby są różne, to od większej liczby odejmujemy mniejszą. Parzystą różnicę dzielimy tak długo przez 2, aż zostanie nam liczba nieparzysta. Uzyskaną liczbę wstawiamy w miejsce większej liczby. • Dopóki mamy różne liczby powtarzamy ostatni krok. • Liczbę, która nam pozostanie mnożymy przez zapamiętaną na początku potęgę liczby 2. W przeciwieństwie do algorytmu Euklidesa, nie wykorzystujemy dzielenia z resztą, tylko dzielenie liczb parzystych przez 2. W układzie dwójkowym jest to usuwanie końcowych zer. Odpowiednio rozszerzony algorytm pozwala rozwiązać równanie ax + by = nwd(a, b). 4 12. Niekonstruktywny dowód istnienia rozwiązań równania ax + by = nwd(a, b), a, b > 0. Niech A będzie zbiorem wszystkich dodatnich liczb całkowitych postaci ax+by, gdzie x, y są liczbami całkowitymi. a = a1+b0, b = a0+b1 ∈ A. Niech D = ax0 + by0 będzie najmniejszą liczbą w zbiorze A. D dzieli każdą liczbę ze zbioru A. Mamy bowiem ax + by = kD + r, 0 ≤ r < D. Stąd r = a(x−kx0 )+b(y −ky0 ) i w przypadku r > 0 mamy sprzeczność z założeniem, że D jest najmniejszą liczbą w A. W szczególności D|a i D|b. Stąd D ≤ nwd(a, b). Z drugiej strony każdy wspólny dzielnik a, b dzieli każdy element ze zbioru A, w szczególności nwd(a, b)|D i nwd(a, b) ≤ D. Stąd równość D = nwd(a, b). 13. Załóżmy, że a 6= 0 lub b 6= 0. Równanie ax + by = d ma rozwiązanie wtedy i tylko wtedy, gdy nwd(a, b)|d. Ogólne rozwiązanie wyraża się wzorami x = x0 + lb/nwd(a, b), y = y0 − la/nwd(a, b), gdzie para x0 , y0 jest szczególnym rozwiązaniem, a l dowolną liczbą całkowitą. 14. Twierdzenie. d|a i d|b ⇒ d|nwd(a, b). 15. Definicja. Liczby a, b takie, że nwd(a, b) = 1, nazywamy liczbami względnie pierwszymi. 16. Twierdzenie. a|bc i nwd(a, b) = 1 ⇒ a|c. Dowód. ax + by = 1 dla pewnych x, y. Stąd acx + bcy = c i dlatego a|c. Z twierdzenia wynika jednoznaczność rozkładu na czynniki pierwsze. 17. Wniosek. Jeśli ab = ck i nwd(a, b) = 1, to a = mk i b = nk . 18. Twierdzenie. nwd(a, b) = 1 i nwd(a, c) = 1 ⇒ nwd(a, bc) = 1. Dowód. ax1 + by1 = 1, ax2 + cy2 = 1 dla pewnych x1 , y1 , x2 , y2 . Mnożąc stronami powyższe równania otrzymujemy ax + bcy = 1 (x = ax1 x2 + by1 x2 + cx1 y2 , y = y1 y2 ). Oznacza to, że nwd(a, bc) = 1. 19. Równanie Pitagorasa. Opiszemy wszystkie rozwiązania równania a2 + b 2 = c 2 w liczbach całkowitych dodatnich. Jeśli liczby a, b, c spełniają równanie, to liczby da, db, dc również spełniają równanie. Załóżmy więc, że nwd(a, b, c) = 1. Wtedy jedna z liczb a, b jest nieparzysta, a druga parzysta. Niech parzystą będzie liczba b. 5 Przy tych założeniach wszystkie rozwiązania opisane są wzorami a = m 2 − n2 , b = 2mn, c = m 2 + n2 , m > n > 0, przy czym nwd(m, n) = 1, jedna z liczb m, n jest parzysta, a druga nieparzysta. Dowód. b 2 !2 = c+a 2 c−a , 2 nwd c+a c−a = 1. , 2 2 Dlatego (c + a)/2 = m2 i (c − a)/2 = n2 , nwd(m, n) = 1. Sprawdzenie, że wzory dają rozwiązanie jest łatwe. 20. Równanie x4 + y 4 = z 2 nie ma rozwiązania w dodatnich liczbach całkowitych. Dowód. Załóżmy że równanie ma rozwiązanie w dodatnich liczbach całkowitych. Niech z będzie najmniejszą dodatnią liczbą całkowitą dla której równanie ma rozwiązanie. Liczby x, y, z są parami względnie pierwsze i jedna z liczb x, y (np. y) jest parzysta. y 4 = (z − x2 )(z + x2 ), 16|y 4 .Rozważamy 3 przypadki. • 4|z − x2 , 4|z + x2 . Wtedy jednak 2|z i mamy sprzeczność. • 2|z − x2 , 8|z + x2 . Ponieważ nwd(z − x2 , z + x2 ) = 1, więc z − x2 = 2a4 , z + x2 = 8b4 , a stąd 4b4 = a2 + x2 , 2|x i mamy sprzeczność. • 8|z−x2 , 2|z+x2 . Wtedy z−x2 = 4a4 , z+x2 = 2b4 , nwd(a, b) = 1. Stąd 4a4 = (b2 −x)(b2 +x), b2 −x = 2u4 , b2 +x = 2w4 i u4 +w4 = b4 i mamy sprzeczność z założeniem, bo 0 < b < z. 21. Wniosek. Równanie x4 + y 4 = z 4 nie ma rozwiązania w dodatnich liczbach całkowitych. Arytmetyka modularna 1. a mod b oznacza resztę z dzielenia a przez b. a≡b (mod n) oznacza, że n|a − b. Tak zdefiniowana relacja jest relacją równoważności. 2. Zbiór Zn = {1, 2, 3, . . . , n − 1} z działaniami a ⊕ b = (a + b) mod n, a ⊙ b = (ab) mod n jest pierścieniem przemiennym z jedynką. 6 3. Elementy a ∈ Zn jest odwracalny ⇔ nwd (a, n) = 1. Dowód. Jeśli nwd(a, n) = d > 1 i b = n/d, to a ⊙ b = 0, co oznacza że element a nie jest odwracalny. Jeśli natomiast nwd(a, n) = 1, to równanie ax + by = 1 ma rozwiązanie w liczbach całkowitych x, y. Wybieramy b = x mod n i mamy a ⊙ b = 1. 4. Grupę złożoną z elementów odwracalnych pierścienia Zn oznaczamy symbolem Zn∗ . 5. Funkcja Eulera φ(n) mówi ile jest liczb całkowitych a takich, że 0 ≥ a < n i nwd(a, n) = 1. Inaczej mówiąc φ(n) = |Zn∗ |. 3 Niech n = pk11 pk22 pk3 . Znajdziemy φ(n). Zbiór wielokrotności p1 mniejszych od n liczy n/p1 . Podobnie znajdujemy zbiory wielokrotności p2 , p3 oraz zbiory wielokrotności p1 p2 , p1 p3 , p2 p3 , p1 p2 p3 . Zasada włączania-wyłączania daje nam wynik φ(n) = n − n n n n n n n − − + + + − = p1 p2 p3 p1 p2 p1 p3 p2 p3 p1 p2 p3 1 =n 1− p1 ! 1 1− p2 ! ! 1 1− . p3 Nietrudno się domyślić, jak wygląda ogólny wynik. Jeśli p, q są różnymi liczbami pierwszymi, to φ(pq) = pq(1 − 1/p)(1 − 1/q) = (p − 1)(q − 1). 6. Zp jest ciałem (każdy niezerowy element jest odwracalny). 7. Twierdzenie Eulera. Jeśli nwd(a, n) = 1, to n|aφ(n) − 1. Dowód. Niech b = a mod b. Wtedy ak ≡ bk Jeśli b ∈ Zn∗ , to b φ(n) (mod n). = 1 (potęgowanie w grupie Zn∗ ). 8. Małe twierdzenie Fermata. Jeśli liczba pierwsza p nie dzieli a, to p|ap−1 − 1. Dowód. Wniosek z twierdzenia Eulera. 9. Twierdzenie Wilsona. Liczba całkowita p większa od 1 jest liczbą pierwszą wtedy i tylko wtedy, gdy p|(p − 1)! + 1. Dowód. Rozważmy wielomian f = xp−1 − 1 o współczynnikach w ciele Zp . Wiemy, że jeśli a ∈ Zp i a 6= 0, to ap−1 = 1. Dlatego każdy niezerowy element ciała Zp jest pierwiastkiem wielomianu f . Mamy więc xp−1 − 1 = (x − 1)(x − 2) · · · (x − p + 1). Podstawiając x = 0 otrzymujemy (rachunek w Zp ) −1 = (−1)(−2) · · · (−p + 1) = (p − 1)(p − 2) · · · 2 · 1 7 tzn. p|(p − 1)! + 1. Załóżmy, że d|p i d > 0 oraz p|(p − 1)! + 1. Jeśli d < p, to d|(p − 1)!. Wtedy d|1. Zatem jedynym dodatnim dzielnikiem p mniejszym od p jest liczba 1. Oznacza to, że p jest liczbą pierwszą. 10. Logarytm dyskretny. Niech a = bk z ciele Zp . Nie znamy szybkiego sposobu na znalezienie k. Fakt ten można wykorzystać do wymiany kluczy używanych do szyfrowania symetrycznego (np. szyfrowania polegającego na wzięciu bitowej alternatywy wykluczającej). • A i B uzgadniają dużą liczbę pierwszą p oraz element g, 0 < g < p. • A wymyśla sobie a, oblicza g a mod p i przesyła do B. • B wymyśla sobie b, oblicza g b mod p i przesyła do A. • A i B mogą teraz obliczyć g ab mod p i użyć jako klucza. Znajomość p, g, g a , g b nie pozwala na praktyczne znalezienie g ab mod p, chyba że poradzimy sobie z logarytmem dyskretnym. 11. Szyfrowanie RSA . A Tworzy dwa klucze, klucz publiczny i klucz prywatny. Klucz publiczny przesyła do B. Szyfrowanie jest tak pomyślane, aby odtworzenie klucza prywatnego na podstawie klucza publicznego, choć możliwe, było niewykonalne w rozsądnym czasie. Schemat zaproponowany przez Rivesta, Shamira, Adlemana jest następujący: • A wybiera dwie duże różne liczby pierwsze pq, znajduje iloczyn n = pq, oblicza w =nww(p − 1, q − 1) (najmniejsza wspólna wielokrotność). • A wymyśla liczbę s taką, że nwd(s, w) = 1. Para (s, n) jest kluczem publicznym. • A znajduje takie t, że ts = 1 + kw. W tym celu używa algorytmu Euklidesa. Parę (t, n) pozostawia sobie jako klucz prywatny. • B dzieli swoją wiadomość na bloki będące nieujemnymi liczbami całkowitymi mniejszymi od n. Każdy blok x szyfruje obliczając y = xs mod n. • A odszyfrowuje wiadomość y obliczając y t mod n = xst mod n = xkw+1 mod n = x 8 Dowód ostatniego wzoru. Małe twierdzenie Fermata mówi, że jeśli p nie dzieli a, to ap−1 ≡ 1 (mod p). Stąd akw+1 ≡ a (mod p). Ostatnia relacja jest prawdziwa dla każdego a. Podobnie dla każdego a zachodzi relacja akw+1 ≡ a (mod q). Ponieważ p, q są względnie pierwsze, więc akw+1 ≡ a (mod pq). Uwaga. nww(a, b) = ab/nwd(a, b). Wydaje się, że do znalezienia t potrzebny jest rozkład n na czynniki, a jest to zadanie wymagające dużo czasu. 12. Podpis elektroniczny tworzymy szyfrując kluczem prywatnym skrót wiadomości. Skrót wiadomości uzyskuje przy pomocy funkcji takiej, że bardzo trudno zmienić wiadomość nie zmieniając skrótu. Podpis dołącza się do wiadomości. Sprawdzenie podpisu polega na utworzeniu skrótu wiadomości i porównaniu z podpisem odszyfrowanym kluczem publicznym. Ważne jest, abyśmy mieli pewność, że klucz publiczny należy do osoby wysyłającej wiadomość. 13. Chińskie twierdzenie o resztach. Niech m1 , m2 , . . . , mk będą dodatnimi liczbami całkowitymi parami względnie pierwszymi. Wtedy dla dowolnych liczb całkowitych r1 , r2 , . . . , rk , takich, że 0 ≤ ri < m1 , i = 1, 2, . . . , k znajdziemy liczbę całkowitą n, 0 ≤ n < m1 m2 · · · mk , taką że n mod mi = ri , dla i = 1, 2, . . . , k. Dowód. Niech m = m1 m2 · · · mk . Liczby m/mj i mj są względnie pierwsze i dlatego równanie (m/mj )xj + mj yj = 1 ma rozwiązanie w liczbach całkowitych xj , yj . Liczba m m m n= x 1 r1 + x 2 r2 + · · · + xk rk mod m m1 m2 mk jest rozwiązaniem problemu. mi dzieli każdy ze składników w nawiasie, z wyjątkiem być może składnika (m/mi )xi ri . Ponieważ składnik ten spełnia równanie (m/mi )xi ri = ri − mi yi ri , więc reszta z dzielenia wyrażenia w nawiasie przez mj wynosi rj . Wzięcie reszty z dzielenia przez m daje nam pewność, że liczba n będzie spełniać nierówność 0 ≤ n < m. 14. Ciała skończone. Niech F będzie ciałem skończonym. Rozpatrzmy sumę złożoną z k składników: 1+1+· · ·+1. Dla pewnego k otrzymamy 0. Najmniejsze k dla którego otrzymany 0 nazywamy charakterystyką ciała. Można pokazać, że k musi być liczbą pierwszą. W przypadku ciał nieskończonych może nie być takiego k i wtedy mówimy, że ciało ma charakterystykę zero. Niech p będzie charakterystyką ciała F . Wtedy ciało F zawiera jako podciało ciało Zp (rozpatrujemy elementy 0, 1, 1+1, 1+1+1, . . .). Na ciało F możemy patrzeć jak na przestrzeń liniową 9 nad ciałem Zp . Ponieważ ciało F jest skończone, więc wspomniana przestrzeń ma skończony wymiar. Jeśli wymiar przestrzeni wynosi d, to ciało F ma pd elementów. Można pokazać, że dla każdego q = pd , gdzie p jest liczbą pierwszą, istnieje ciało złożone z q elementów. W konstrukcji wykorzystuję się twierdzenie, które mówi, że dla każdego d > 0 znajdziemy wielomian nierozkładalny stopnia d o współczynnikach w ciele Zp . Taki wielomian można znaleźć wypisując wszystkie wielomiany stopnia d i wykreślając wielomiany będące iloczynami wielomianów stopnia niższego. Załóżmy, że f jest wielomianem nierozkładalnym stopnia d. Zbiór wszystkich wielomianów stopnia mniejszego od d z dodawaniem i mnożeniem modulo wielomian f jest szukanym ciałem. Nierozkładalność jest potrzebna, aby każdy niezerowy element miał element odwrotny. Aby znaleźć element odwrotny do elementu h rozwiązujemy równanie gh + f u = 1 ze względu na wielomiany h, g wykorzystując algorytm Euklidesa oparty na dzieleniu z resztą. Przykład: ciało czteroelementowe. 0 1 x 1+x + 0 0 1 x 1 +x 1 1 0 1+x x x x 1+x 0 1 x 1 0 1+x 1+x × 0 1 x 1+x 0 0 0 0 0 1 x 1+x 0 0 0 1 x 1+x x 1+x 1 1+x 1 x Jerzy Cisło 10