Wybrane zagadnienia teorii liczb

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

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

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

Przykładowe zadania z teorii liczb

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

Elementy teorii liczb. Matematyka dyskretna

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

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

Matematyka dyskretna

Matematyka dyskretna

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

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

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

MADE IN CHINA czyli SYSTEM RESZTOWY

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

Liczby pierwsze. Jacek Nowicki Wersja 1.0

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

Kongruencje oraz przykłady ich zastosowań

Liczby pierwsze. Jacek Nowicki Wersja 0.92

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

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

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

Zadania do samodzielnego rozwiązania

Kongruencje i ich zastosowania

Liczby całkowite. Zadania do pierwszych dwóch lekcji

Matematyka dyskretna

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Jarosław Wróblewski Matematyka Elementarna, lato 2012/13. W dniu 21 lutego 2013 r. omawiamy test kwalifikacyjny.

Kongruencje. Beata Łojan. Koło Naukowe Matematyków Uniwersytetu Śląskiego w Katowicach.

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

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

Spis treści. Przedmowa... 9

Algorytmy w teorii liczb

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

Luty 2001 Algorytmy (8) 2000/2001

Algorytm Euklidesa. ZADANIE 1. Oblicz korzystając z algorytmu Euklidesa: (a) NWD(120, 195), (b) NWD(80, 208), (c) NWD(36, 60, 90),

Kongruencje pierwsze kroki

Rozdział 1. Zadania. 1.1 Liczby pierwsze. 1. Wykorzystując sito Eratostenesa wyznaczyć wszystkie liczby pierwsze mniejsze niż 200.

Matematyka dyskretna

Algorytmy i struktury danych. Wykład 4

Największy wspólny dzielnik Algorytm Euklidesa (także rozszerzony) WZAiP1: Chińskie twierdzenie o resztach

Przypomnienie wiadomości dla trzecioklasisty C z y p a m i ę t a s z?

1. Określenie pierścienia

Zestaw 2. Definicje i oznaczenia. inne grupy V 4 grupa czwórkowa Kleina D n grupa dihedralna S n grupa symetryczna A n grupa alternująca.

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

Matematyka dyskretna

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.

Jarosław Wróblewski Matematyka Elementarna, zima 2012/13

2 Kongruencje 5. 4 Grupy 9. 5 Grupy permutacji Homomorfizmy grup Pierścienie 16

Algorytmy asymetryczne

Pierwiastki pierwotne, logarytmy dyskretne

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Zadania z arytmetyki i teorii liczb

Podzielność liczb. Podzielność liczb

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

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

Kongruencje twierdzenie Wilsona

Sumy kwadratów kolejnych liczb naturalnych

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

Daniela Spurtacz, klasa 8W, rok szkolny 2018/2019

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

Jarosław Wróblewski Matematyka Elementarna, lato 2014/15

Wykład IV. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Matematyka Dyskretna. Andrzej Szepietowski. 25 marca 2004 roku

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

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

Zadanie 2: Kryptosystem Rabina

Ciała skończone. 1. Ciała: podstawy

Jeśli lubisz matematykę

Matematyka dyskretna. Andrzej Łachwa, UJ, 2019 Zadania 1-100

Paweł Gładki. Algebra. pgladki/

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.

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Matematyka dyskretna. Andrzej Łachwa, UJ, C/10

Podzielność, cechy podzielności, liczby pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

Algebra liniowa z geometrią analityczną

Rozdział 7. Elementy teorii liczb. 7.1 Podstawowe własności liczb

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

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki

Jarosław Wróblewski Matematyka Elementarna, zima 2015/16

Szyfrowanie RSA. Liczba pierwsza jest liczbą naturalną posiadającą dokładnie dwa różne podzielniki - 1 oraz samą siebie.

Parametry systemów klucza publicznego

Zarys algorytmów kryptograficznych

Bezpieczeństwo systemów komputerowych

I) Reszta z dzielenia

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

Kryptologia przykład metody RSA

0.1 Pierścienie wielomianów

Jednoznaczność dzielenia. Jednoznaczność dzielenia

Podzielność, cechy podzielności, liczby pierwsze, największy wspólny dzielnik, najmniejsza wspólna wielokrotność.

LISTA 1 ZADANIE 1 a) 41 x =5 podnosimy obustronnie do kwadratu i otrzymujemy: 41 x =5 x 5 x przechodzimy na system dziesiętny: 4x 1 1=25 4x =24

Funkcje arytmetyczne. Funkcje arytmetyczne

Transkrypt:

Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA

Podzielność liczb Relacja podzielności: Dane są dwie liczby całkowite a i b. Mówimy, że b dzieli a (b jest dzielnikiem a lub a jest wielokrotnością b), gdy istnieje taka liczba całkowita q, że a=b q. Zapis relacji podzielności: b a. Własności relacji podzielności (dla dowolnych całkowitych a, b, i c): Jeśli a c to a b c Jeśli a b i b c to a c Jeśli a b i a c to a (b+c) Przykładowo 3 12 i 12 36, a więc 3 36

Dzielenie z resztą Reszta z dzielenia: Dla każdej pary liczb całkowitych a i b istnieją takie q i r (0<=r<b), że a=b q+r. Liczba r to tzw. reszta z dzielenia. dla a=13 i b=5 mamy q=2 i r=3 (13=5 2+3) dla a=-17 i b=4 mamy q=-5 i r=3 Resztę z dzielenia z przez b zapisuje się jako a mod b. Reszta wynosi zero, gdy b a. 25 mod 12=1-20 mod 13=6 100 mod 10=0

Największy wspólny dzielnik Największy wspólny dzielnik dwóch liczb całkowitych a i b (inaczej NWD(a,b)) to największa liczba całkowita d, która dzieli zarówno a jak i b. Zakładamy, że przynajmniej jedna z liczb (a lub b) jest różna od zera. NWD(12,8)=4 NWD(20,10)=10 NWD(17,11)=1 NWD dla większej liczby liczb obliczamy z łączności: NWD(a, b, c)=nwd(a, NWD(b,c))=NWD(NWD(a,b), c)

Algorytm Euklidesa Dziadek wszystkich algorytmów (IV wiek p.n.e.) Szybki sposób na policzenie NWD NWD(a, b) dopóki b 0 c a mod b a b b c zwróć a Liczba iteracji potrzebna na wyznaczenie NWD rośnie w tempie logarytmicznym od sumy a+b.

Algorytm Euklidesa - przykład Policzmy NWD(129, 54) 1) a=129, b=54, c=129 mod 54=21 2) a=54, b=21, c=54 mod 21=12 3) a=21, b=12, c=9 4) a=12, b=9, c=3 5) a=9, b=3, c=0 6) a=3, b=0, czyli wynikiem jest 3

Rozszerzony algorytm Euklidesa Umożliwia policzenie takich całkowitych x i y, że a x+b y=nwd(a, b) NWD 2(a,b) x 0 1 y 0 0 x 1 0 y 1 1 n 2 dopóki b 0 c a mod b q a/b a b b c x n =x n 2 q x n 1 y n = y n 2 q y n 1 n n+1 zwróć (x n 2, y n 2 )

Przykład a=129, b=54, NWD(a,b)=3-5 129+12 54=3

Liczby pierwsze Liczba naturalna p jest pierwsza, gdy posiada dokładnie dwa różne dzielniki: 1 i p. Kolejne liczby pierwsze: 2, 3, 5, 7, 11, 13, 17 Liczba złożona to liczba naturalna posiadająca co najmniej 3 różne dzielniki Liczba liczb pierwszych z przedziału [1,n] rośnie w tempie n/ln n (np. mamy 78498 liczb pierwszych do miliona, ponad 50 milionów w przedziale [1, 10 9 ]) Liczby szczególnie istotne w kryptografii

Twierdzenie Euklidesa Jest nieskończenie wiele liczb pierwszych Załóżmy, że liczb pierwszych jest skończona liczba np. p 1, p 2,, p n. Wówczas istniałaby liczba x, która nie dzieli się przez żadną z nich: x=p 1 p 2 p n +1 Stąd musi istnieć kolejny dzielnik pierwszy liczby x inny od powyższych, co przeczy założeniu.

Generowanie liczb pierwszych z przedziału Algorytm zwany sitem Eratostenesa (III wiek p.n.e.) wyznacza liczby pierwsze z przedzialu [2...n]. Sito(n) dla każdego i [2, n] pierwsza[i] true dla każdego i [2, n] jeżeli pierwsza[i] dla każdego j n i będącego wielokrotnością i pierwsza[ j] false

Rozkład liczby na czynniki pierwsze Zasadnicze twierdzenie arytmetyki każdą liczba ma jednoznaczny rozkład na iloczyn liczb pierwszych Przykład rozkładu liczby 840=2 3 3 5 7

Rozkład liczby na czynniki cd Niech liczba a ma rozkład: Niech liczba b ma rozkład: Wówczas liczba dzielników liczby a wynosi: Ponadto a=p 1 x 1 p 2 x 2... pn x n b=p 1 y 1 p2 y 2... pn y n σ (a)=(x 1 +1) (x 2 +1)... (x n +1) NWD(a,b)=p 1 min( x 1, y 1 ) p 2 min(x 2, y 2 )... p n min( x n, y n ) NWW (a,b)= p 1 max(x 1, y 1 ) p 2 max (x 2, y 2 )... p n max( x n, y n ) NWW (a, b) to największa wspólna wielkrotność, czyli najmniejsza liczba dodatnia z taka, że a z i b z

Przykłady a=48, b=36 a=2 4 3 1, b=2 2 3 2 NWD(a,b)=2 min(4,2) 3 min(1,2) =2 2 3=12 NWW(a,b)=2 max(4,2) 3 max(1,2) =2 4 3 2 =144 Własność: Liczba dzielników 48 NWW (a,b)= (a b) NWD(a,b) σ (48)=5 2=10

Liczby względnie pierwsze Liczby całkowite a i b są względnie pierwsze jeżeli NWD(a, b)=1 NWW(a, b)=a b dla liczb względnie pierwszych Przykłady par liczb względnie pierwszych: 15 i 8, 14 i 9, 13 i 7 Pewne właściwości: Dwie liczby pierwsze są zawsze względnie pierwsze Liczby n i n+1 są zawsze względnie pierwsze.

Funkcja φ Eulera φ(n) określa liczbę liczb względnie pierwszych z n i nie większych od niej Przykładowo φ(8)=4 (liczby 1, 3, 5, 7 są względnie pierwsze z 8). Pewne właściwości funkcji φ: φ(p)=p-1 (dla liczby pierwszej p) φ(p k )=p k-1 (p-1) φ(n m)=φ(n) φ(m) (dla względnie pierwszych n i m)

Kongruencje Niech dane będą liczby całkowite a, b oraz m. Mówimy, że a przystaje do b modulo m jeżeli m a-b. Zapisujemy to a b(mod m) Ponadto, a b(mod m) wtedy i tylko wtedy, gdy liczby a i b mają taką samą resztę z dzielenia przez m. 75 5(mod 10) ponieważ 5 jest resztą z dzielenia 75 przez 10. Ale również 75 25(mod 10) oraz 75 75(mod 10). Ponadto np. 12-13(mod 5) ponieważ 5 (12+13))

Własności kongruencji Jeżeli a b(mod m) i c d(mod m) to: a+b c+d(mod m) a-b c-d(mod m) a b c d(mod m) a n b n (mod m) Przykład: 16 2(mod 7) i 10 3(mod 7). Z tego wynika, że 160 6(mod 7)

Odwrotność modularna Multiplikatywną odwrotnością liczby całkowitej a modulo n jest taka liczba b, że a b 1(mod n) Odwrotność liczby a modulo n zapisuje sięteż jako a -1. Odwrotność modulo istnieje tylko wtedy, gdy a i n są względnie pierwsze (NWD(a, n)=1) Przykładowo odwrotnością liczby 3 modulo 11 jest 4 (ponieważ 3 4=12 1(mod 11) Nie istnieje odwrotność liczby 6 modulo 8

Rozszerzony algorytm Euklidesa wyznaczanie odwrotności Aby obliczyć odwrotność a modulo n trzeba wyznaczyć NWD(a,n) rozszerzonym algorytmem Euklidesa. Jeżeli NWD wynosi 1, to wówczas współczynnik x jest odwrotnością. Przykładowo: a=5, n=13, odwrotnością a jest -5 Istotnie 5-5=-25 1(mod 13) W zastosowaniach kryptograficznych odwrotność sprowadza się do liczb dodatnich dodając moduł (-5+13=8)

Potęgowanie modularne Celem jest obliczenie a b (mod m) Dla a>n można zastąpić a jej resztą z dzielenia przez n, co może uprościć obliczenia np.: 12 135 (mod 11)=1 135 (mod 11)=1 7 4 (mod 5)=2 4 (mod 5)=16(mod 5)=1 Naiwny algorytm b-1 krotne mnożenie wyniku przez a (i redukcja modulo m). Niewydajny. Szybszy sposób: wykorzystanie tego, że a b=(a b/2 ) 2 dla b parzystych oraz a b =a(a b/2 ) 2 dla b nieparzystych.

Szybkie potęgowanie modularne - przykład Istotne zastosowania w kryptografii Obliczmy 7 20(mod 10) 7 20(mod 10)=(7 10 ) 2 (mod 10) 7 10(mod 10)=(7 5 ) 2 (mod 10) 7 5(mod 10)=7 (7 2 ) 2 (mod 10) 7 2(mod 10)=49=9(mod 10) 7 5(mod 10)=7 (7 2 ) 2 =7 (9 2 )=7 81=7(mod 10) 7 10(mod 10)=(7 5 ) 2 =7 2 =49=9(mod 10) 7 20(mod 10)=(7 10 ) 2 =9 2 =81=1(mod 10)

Twierdzenia dotyczące potęg modulo Twierdzenie Eulera: jeżeli liczby a i m są względnie pierwsze to a φ(m) 1(mod m) Małe twierdzenie Fermata: jeżeli p jest liczbą pierwszą i a nie jest wielokrotnością p, to a p-1 1(mod p) Małe twierdzenie Fermata szczególnym przypadkiem twierdzenie Eulera (dla m będących liczbami pierwszymi) Przykład: 2 6 1(mod 9) Sprawdzenie 2 6 =64=9*7+1 1(mod 9) Inny przykład: policzyć 14 1001(mod 101) Wiemy, że 14 100 1(mod 101) 14 1001 =(14 100 ) 10 14=1 10 14(mod 101)=14(mod 101)

Kryptosystem RSA 1) Generowanie liczby n (modułu RSA) będącej iloczynem dwóch dużych liczb pierwszych p i q (są one tajne) 2) Obliczenie funkcji Eulera φ(n)=(p-1) (q-1) 3) Generowanie liczby e (klucza publicznego RSA). Liczba e jest względnie pierwsza z φ(n) 4) Obliczanie liczby d (klucza prywatnego RSA). Liczba d jest odwrotnością e w modulo φ(n). (czyli e d 1(mod φ(n)) 5) Szyfrowanie wiadomości m: s=m e (mod n) 6) Deszyfrowanie szyfru s: m=s d (mod n)

Trudność złamania RSA Klucz prywatny to odwrotność modularna klucza publicznego Aby ją obliczyć potrzebna jest wartość φ(n), która nie jest znana (gdyż p i q są tajne i znane tylko właścicielowi klucza prywatnego lub są niszczone) Nieznane szybkie algorytmy faktoryzacji (rozkładu na czynniki) dużych liczb n. Liczby w RSA mają po kilkaset cyfr w zapisie dziesiętnym

Przykład szyfrowania RSA p=7, q=11, n=pq=77 φ(n)=(p-1)(q-1)=60 e=7 d=43 (ponieważ e d=7 43=301 1(mod 60) Szyfrujemy wiadomość m=13: s=m e (mod n)=13 7 (mod 77)=62 Deszyfrujemy szyfrogram s=62: m=s d (mod n)=62 43 (mod 77)=13 Zmiana tekstu na liczby: dzielenie pliku na bloki i traktowanie każdego bloku jako liczby przy pewnej podstawie np. 256 lub 27 (liczba liter angielskich)