WSTĘP Definicja Liczba pierwsza to taka liczba n, która posiada dokładnie dwa dzielniki: 1 i n. Uwaga: W myśl powyższej definicji 1 NIE jest liczbą pierwszą ponieważ posiada jeden dzielnik naturalny (a nie dwa). W przeszłości czasem traktowano ją jako liczbę pierwszą. Pojęcie liczby pierwszej znane jest już od starożytności, np. pitagorejczycy definiowali je jako te liczby, które można mierzyć jedynie jednością, a nie żadną inną liczbą ; jeśli reprezentować liczby pierwsze jako zbiory kamieni, to liczby te można ułożyć jedynie w linię (nie można z nich ułożyć innego prostokąta, ponieważ liczba pierwsza nie jest polem prostokąta o bokach całkowitych i większych od 1) 6 = 7 =
WSTĘP Skoro mamy pojęcie liczby pierwszej, możemy zastanowić się, co wyróżnia je spośród innych liczb dlaczego te liczby są tak ważne Czy liczby te są ważne w matematyce i dlaczego?
WSTĘP Jeśli okaże się, że liczy te są ważne, warto zastanowić się nad pytaniami: Ile jest liczb pierwszych? Jak szukać liczb pierwszych? Wreszcie: czy i dlaczego liczby te mogą przydać się życiu?
Czy liczby pierwsze są ważne i dlaczego? Zauważmy: jeśli n nie jest liczbą pierwszą, to istnieje liczba pierwsza p taka, że p n. Liczbę taką nazywamy czynnikiem pierwszym liczby n. Istotnie, niech p oznacza najmniejszą liczbę większą od 1 i mniejszą od n, która dzieli n. Wtedy p musi być pierwsza, gdyby bowiem istniał dzielnik q liczby p różny od 1 i p, to q < p oraz q n sprzeczność. Stąd wywnioskować można, że każda liczba naturalna n posiada rozkład na czynniki pierwsze, tzn. n = p 1 p 2 p k, gdzie p i są liczbami pierwszymi. Liczba pierwsza dzieli iloczyn liczb wtedy i tylko wtedy, gdy dzieli przynajmniej jedną z nich. Dowodu chyba przeprowadzać tu nie warto trochę by się trzeba nagimnastykować
Czy liczby pierwsze są ważne i dlaczego? Każdą liczbę naturalną n > 1 można jednoznacznie zapisać za pomocą iloczynu liczb pierwszych (gdzie kolejność zapisu tych liczb nie ma znaczenia.) Taki zapis nazywamy rozkładem liczby n na czynniki pierwsze. To wiedział już Euklides w IV w. p.n.e. ale tego nie udowodnił; pierwszy pełny, poprawny dowód podaje dopiero C. F. Gauss w Disquisitiones Arithmeticae, 1798) : Liczby pierwsze stanowią zatem jakby budulec, z którego skonstruować można wszystkie pozostałe liczby naturalne.
Ile jest liczb pierwszych? Jest więcej liczb pierwszych, niż każda dana liczba liczb pierwszych. Euklides Dziś powiedzielibyśmy raczej: liczb pierwszych jest nieskończenie wiele. Dowód Euklidesa z jego Elementów: Przypuśćmy, że p 1 < p 2 < < p k są wszystkimi liczbami pierwszymi. Przyjmijmy N = p 1 p 2 p k + 1 i niech p będzie dzielnikiem pierwszym liczby N; wtedy p nie może być żadną z liczb p 1, p 2,, p k gdyż w przeciwnym razie dzieliłaby ona różnicę N - p 1 p 2 p k = 1, co jest niemożliwe. Zatem ta liczba pierwsza p jest jeszcze jedną liczbą pierwszą, czyli p 1, p 2,, p k nie są wszystkimi liczbami pierwszymi.
Jak szukać liczb pierwszych? O ile odpowiedź na poprzednie pytanie okazała się dość prosta, problem znajdowania kolejnych liczb pierwszych wcale prosty nie jest. Aby sprawdzić, czy liczba naturalna n jest liczbą pierwszą, można dzielić ją przez każdą taką liczbę k, gdzie k 2 n. Sposób ten nie jest najefektywniejszą metodą wyszukiwania liczb pierwszych, gdyż trzeba wykonać dużą ilość czasochłonnych dzieleń, tym większą, im większą wartość ma badana liczba. Ponownie starożytna Grecja pewne usprawnienie: Sito Eratostenesa - sposób poszukiwania liczb pierwszych. Eratostenes z Cyreny, żył w III wieku przed Chrystusem. Eratostenes zamiast sprawdzać podzielność kolejnych liczb naturalnych, zaproponował usuwanie ze zbioru liczb naturalnych wielokrotności kolejnych liczb, które nie zostały wcześniej usunięte.
Sito Eratostenesa Źródło: http://sar.informatik.hu-berlin.de
Wzór na liczby pierwsze W przypadku wielkich liczb algorytm Eratostenesa wymaga dużej ilości pamięci na tablicę wszystkich liczb. Na dodatek, chciałoby się mieć coś szybszego. Na przykład: wzór na liczby pierwsze. Wzoru takiego poszukiwano od dawna. Pierre de Fermat (1601-1665) francuski prawnik i urzędnik. Wniósł wiele do teorii liczb, w tym do zagadnień związanych z liczbami pierwszymi. Liczby Fermata liczby postaci F n = 2 2 n + 1, n 0. Dla n = 0, 1, 2, 3, 4 są pierwsze. Fermat przypuszczał, że wszystkie tej postaci są pierwsze. Euler, 1732: F 5 nie jest pierwsza. Do dziś jedynymi znanymi pierwszymi liczbami Fermata są F 0, F 1, F 2, F 3, F 4.
Związek teorii liczb z geometrią Gauss dowiódł, że n - kąt foremny można skonstruować wtedy i tylko wtedy, gdy w rozkładzie n na czynniki pierwsze każda nieparzysta liczba pierwsza występuje jeden raz i wszystkie nieparzyste dzielniki pierwsze liczby n są (różnymi) liczbami Fermata. Można taką konstrukcję wykonać np. dla n = 3, 5, 15 co wiedzieli już Grecy, ale nie można dla n = 7, 9, 11, 13. Znowu można dla n = 17, 257, 65537.
Liczby Mersenne a Marin Mersenne (1588-1648) francuski mnich (minimita); teolog, filozof, matematyk, teoretyk muzyki. Korespondował m.in. z Fermatem, Pascalem, Kartezjuszem. Znany ze względu na liczby Mersenne a, czyli liczby postaci 2 n 1. Mersenne opublikował wynik: 2 n - 1 pierwsza dla n = 2, 3, 5, 7, 13, 17, 19, 31, 67, 127, 257. Pomylił się przy 67 i 257, nie uwzględnił natomiast n = 61, 89, 107. Liczby Mersenne a dostarczały przykładów największych znanych liczb pierwszych i tak jest do dziś. Nie wiadomo, czy jest ich nieskończenie wiele.
Wzory na liczby pierwsze Dzisiaj znamy setki podobnych wzorów, które produkują pewną ilość liczb pierwszych. Niektóre z tych wzorów zwracają nawet n - tą liczbę pierwszą. Istnieją też przykłady wzorów wypisujących wszystkie liczby pierwsze w kolejności. Są jednak absolutnie bezużyteczne gdyż korzystają z wartości funkcji, którą aby obliczyć trzeba najpierw znać wszystkie liczby pierwsze mniejsze od danej liczby, i tu kółko się zamyka Praktycznego wzoru, dzięki któremu bylibyśmy w stanie łatwo wyprodukować same liczby pierwsze nie ma!
Testy pierwszości Istnieje wiele innych, mniej lub bardziej wyrafinowanych metod szukania liczb pierwszych. Testy pierwszości prosty korzystający z małego tw. Fermata. a p - 1 = 1 (mod n)
DUŻE LICZBY PIERWSZE Rok Odkrywca Liczba Liczba cyfr 1588 Cataldi 2 19-1 6 1772 Euler 2 31-1 10 1876 Lucas 2 127-1 39 ODTĄD KORZYSTAMY Z KOMPUTERÓW 1951 Miller & Wheeler (EDSAC1) 180(M 127 ) 2 +1 79 1952 (SWAC) Robinson M 2281 687 1963 (ILLIAC 2) Gillies M 9689 2,917 1971 (IBM360/91) Tuckerman M 19937 6,002 1983 (Cray X-MP) Slowinski M 132049 39,751 1994 (Cray C90) Slowinski & Gage M 859433 258,716 2003 (Pentium (2 GHz)) Shafer, Woltman, Kurowski, et al. [GIMPS, PrimeNet] 2008 (Intel Core 2 Duo E6600 CPU (2.4 GHz)) M 20996011 6,320,430 M 43112609 12,978,189 Smith, Woltman, Kurowski, et al. [GIMPS, PrimeNet]
DUŻE LICZBY PIERWSZE
PO CO NAM LICZBY PIERWSZE? Widząc, jak wiele wysiłku wkładano w poszukiwanie liczb pierwszych, można zastanowić się, czy gra jest warta świeczki. Czy są jakieś zastosowania tych poszukiwań? Dla samego szukania i znajdowania jak to w matematyce bywa. Ze względu na tradycję - wielu najsławniejszych matematyków zajmowało się wielkimi liczbami pierwszymi. Dla rzeczy, które znajduje się przy okazji nowych algorytmów, twierdzeń. Przykład z ok. 1970 roku: algorytm szybkiego mnożenia korzystający z szybkiej transformacji Fouriera potrzebny przy mnożeniu wielkich liczb. Aby dowiedzieć się więcej o ich rozkładzie, co pozwoli na lepsze zrozumienie związanych z nimi zagadnień.
G I M P S GIMPS = Great Internet Mersenne Prime Search to projekt obliczeń rozproszonych w którym biorą udział ochotnicy poszukujący liczb pierwszych Mersenne'a. Znaczy to, że użytkownicy komputerów z całego świata mogą się w projekt włączyć i na swoich komputerach dokonywać potrzebnych obliczeń. Łączna moc komputerów zaangażowanych w projekt jest niewyobrażalna: średnia tygodniowa oscyluje obecnie na poziomie 27 teraflopów (dane z sierpnia 2008). Projekt odnosi sukcesy - w jego ramach znaleziono 12 liczb pierwszych Mersenne'a, (od 1996 do teraz!) każda z nich była największą znaną liczbą pierwszą w momencie odkrycia. Dla zainteresowanych link: http://www.mersenne.org/
ROZMIESZCZENIE LICZB PIERWSZYCH Skoro tak trudno szukać liczb pierwszych zapewne są porozmieszczane chaotycznie i stanowią wśród liczb naturalnych rzadkość. Inaczej szukać byłoby łatwiej. Tzw. postulat Bertranda (udowodniony przez Czebyszewa) mówi, że dla każdego n 2 istnieje liczba pierwsza leżąca pomiędzy n i 2n. Z drugiej strony wiadomo, że istnieją dowolnie długie przedziały liczb naturalnych, które nie zawierają żadnej liczby pierwszej. Gauss interesował się zagadnieniami związanymi z rozkładem liczb pierwszych.
ROZMIESZCZENIE LICZB PIERWSZYCH Niech π(n) oznacza liczbę wszystkich liczb pierwszych mniejszych lub równych n. Chciałoby się umieć oszacować tę liczbę. Gauss i Legendre na podstawie badań empirycznych (przyglądali się tablicom liczb pierwszych) że liczba ta jest dla wielkich n w przybliżeniu równa n/ln(n). Podali oni nieco bardziej szczegółowe wzory na przybliżenia π(n), nas jednak przede wszystkim interesuje n/ln(n).
ROZMIESZCZENIE LICZB PIERWSZYCH Inne podejście do rozmieszczenia liczb pierwszych należy do polskiego matematyka Stanisława Ulama (1909-1984), znanego między innymi z/w na jego prace nad amerykańską bombą wodorową. Jak głosi anegdota, Ulam swojego odkrycia dokonał w 1963, gdy znudzony spotkaniem naukowym bazgrał na kartce. Zapisał taką oto spiralę liczb naturalnych:
SPIRALA ULAMA
PROBLEMY OTWARTE Mimo intensywnych badań, wiele problemów pozostaje otwartych. Znaczna część z nich, mimo że są niezwykle trudne, daje się wysłowić w elementarny sposób. Czy liczb pierwszych Fermata jest nieskończenie wiele? Czy liczb pierwszych Mersenne'a jest nieskończenie wiele? Czy dla dowolnego n pomiędzy liczbami n² i (n + 1)² istnieje liczba pierwsza?
LICZBY BLIŹNIACZE Hipoteza liczb pierwszych bliźniaczych została postawiona przez Euklidesa około 300 roku p.n.e., jest ona następująca: Jest nieskończenie wiele liczb pierwszych p takich, że p+2 jest również liczbą pierwszą. Taka para liczb pierwszych jest nazywana liczbami pierwszymi bliźniaczymi, przykładami takich par są 5 i 7, 11 i 13. Istnieje podobny do GIMPS projekt poszukiwania liczb pierwszych bliźniaczych: Twin Prime Search, http://primes.utm.edu/bios/page.php?id=949. Istnieje on od kwietnia 2006. W jego ramach odnaleziono dotąd jedną parę liczb bliźniaczych. Aktualnie sprawdzane są liczby posiadające w zapisie dziesiętnym ponad sto tysięcy cyfr. Istnieje ogólniejsza hipoteza, postawiona w 1849 przez de Polignaca, która mówi, że dla każdego k istnieje nieskończenie wiele par liczb pierwszych p, p takich, że p p = 2k. (Dla k = 2 takie liczby nazywają się cousin primes, a dla k = 3 sexy primes)
HIPOTEZA GOLDBACHA Każda liczba naturalna parzysta większa od 2 jest sumą dwóch liczb pierwszych. Postawiona przez pruskiego matematyka Christiana Goldbacha w liście do Eulera z 7 lipca 1742. (Każda naturalna większa od 5 jest sumą trzech liczb pierwszych, gdzie 1 uznajemy za liczbę pierwszą) Euler odpowiadając na list Goldbacha przeformułował hipotezę do podanej powyżej. Stwierdził przy tym, że jest to absolutnie pewne twierdzenie, choć nie potrafi go udowodnić. Do dziś dowodu nie znaleziono. Jest sporo wyników częściowych, ponadto udało się sprawdzić, że hipoteza Goldbacha jest prawdziwa dla liczb naturalnych mniejszych od 4 10 17, do sprawdzenia tego faktu użyto komputerów.
HIPOTEZA GOLDBACHA C. D. Hipoteza Goldbacha przedostała się do popkultury. Być może najbardziej znana jest książka Apostolosa Doxiadisa Zabójcza hipoteza, opowiadająca o matematyku próbującym udowodnić hipotezę Goldbacha. Brytyjski wydawca zaoferował milion dolarów nagrody za uzyskanie w ciągu 2 lat po publikacji książki (tzn. do 2002) dowodu hipotezy. Oczywiście nagrody nikt nie otrzymał... Dużo bliżej rozwiązania jest tzw. słaba hipoteza Goldbacha: każdą liczbę nieparzystą większą od 7 można przedstawić jako sumę trzech liczb pierwszych nieparzystych. zatem Wykazano w 2002, że jest to prawdą dla wszystkich liczb większych od e 3100, czyli około 2 * 10 1346. Wystarczy sprawdzić prawdziwość tej hipotezy dla wszystkich liczb mniejszych od e 3100.
Odrobina kryptografii Szyfrowanie asymetryczne jest możliwe dzięki rozdzieleniu kluczy na publiczny i prywatny. Klucz publiczny powstaje w łatwy sposób z klucza prywatnego, lecz otrzymanie klucza prywatnego z klucza publicznego jest bardzo trudne, choć możliwe. Osoba wysyłająca szyfruje wiadomość za pomocą ogólnodostępnego klucza publicznego osoby, do której chce wysłać wiadomość. Jednak tylko posiadacz klucza prywatnego jest w stanie ją odczytać.
Liczby pierwsze w kryptografii Dwoma najpopularniejszymi metodami szyfrowania asymetrycznego są RSA oraz ElGamal. Algorytm RSA (nazwa jest akronimem nazwisk twórców: Ronald Rivest, Adi Shamir, Leonard Adleman) opiera się na prostej obserwacji. Bardzo łatwo jest policzyć iloczyn dwóch dużych liczb pierwszych, natomiast o wiele trudniej jest wykonać czynność odwrotną, czyli znaleźć czynniki pierwsze rozkładu bardzo dużej liczby. Zatem uczyńmy naszym kluczem prywatnym parę bardzo dużych liczb pierwszych, a kluczem publicznym ich iloczyn.
Liczby pierwsze w kryptografii