ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Podobne dokumenty
ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

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

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Rozdział 6. Pakowanie plecaka. 6.1 Postawienie problemu

x y x y x y x + y x y

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

X WARMI SKO-MAZURSKIE ZAWODY MATEMATYCZNE 18 maja 2012 (szkoªy ponadgimnazjalne)

Algebra Liniowa 2. Zadania do samodzielnych wicze«wydziaª Elektroniki, I rok Karina Olszak i Zbigniew Olszak

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

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

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

ELEMENTARNA TEORIA LICZB. 1. Podzielno±

XVII Warmi«sko-Mazurskie Zawody Matematyczne

Informacje pomocnicze

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Metody dowodzenia twierdze«

Semestr letni 2014/15

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

Ukªady równa«liniowych

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

PRZYPOMNIENIE Ka»d przestrze«wektorow V, o wymiarze dim V = n < nad ciaªem F mo»na jednoznacznie odwzorowa na przestrze«f n n-ek uporz dkowanych:

Matematyka dyskretna dla informatyków

Wybrane zagadnienia teorii liczb

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

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

Przekroje Dedekinda 1

1 Bª dy i arytmetyka zmiennopozycyjna

Liniowe zadania najmniejszych kwadratów

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

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

Zarys algorytmów kryptograficznych

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

Lab. 02: Algorytm Schrage

2 Liczby rzeczywiste - cz. 2

Równania ró»niczkowe I rz du (RRIR) Twierdzenie Picarda. Anna D browska. WFTiMS. 23 marca 2010

Spis treści. Przedmowa... 9

Interpolacja funkcjami sklejanymi

Zbiory i odwzorowania

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

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

Materiaªy do Repetytorium z matematyki

Podstawy matematyki dla informatyków

Macierze i Wyznaczniki

Algorytmy asymetryczne

Zagadnienia na wej±ciówki z matematyki Technologia Chemiczna

Funkcje, wielomiany. Informacje pomocnicze

WST P DO KRYPTOGRAFII. Grzegorz Szkibiel. Jesie«2012/13

Macierze i Wyznaczniki

Metodydowodzenia twierdzeń

det A := a 11, ( 1) 1+j a 1j det A 1j, a 11 a 12 a 21 a 22 Wn. 1 (Wyznacznik macierzy stopnia 2:). = a 11a 22 a 33 +a 12 a 23 a 31 +a 13 a 21 a 32

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Wykªad 3. Funkcje skrótu

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

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

1 Kodowanie i dekodowanie

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

ZADANIA. Maciej Zakarczemny

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

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

Liczby pierwsze na straży tajemnic

Wst p do informatyki. Systemy liczbowe. Piotr Fulma«ski. 21 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Twierdzenie Wainera. Marek Czarnecki. Warszawa, 3 lipca Wydziaª Filozoi i Socjologii Uniwersytet Warszawski

1 Metody iteracyjne rozwi zywania równania f(x)=0

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Indeksowane rodziny zbiorów

Wst p teoretyczny do wiczenia nr 3 - Elementy kombinatoryki

Liniowe równania ró»niczkowe n tego rz du o staªych wspóªczynnikach

Bash i algorytmy. Elwira Wachowicz. 20 lutego

Przeksztaªcenia liniowe

1 0 Je»eli wybierzemy baz A = ((1, 1), (2, 1)) to M(f) A A =. 0 2 Daje to znacznie lepszy opis endomorzmu f.

Oba zbiory s uporz dkowane liniowo. Badamy funkcj w pobli»u kresów dziedziny. Pewne punkty szczególne (np. zmiana denicji funkcji).

Szyfrowanie RSA (Podróż do krainy kryptografii)

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

Czy funkcja zadana wzorem f(x) = ex e x. 1 + e. = lim. e x + e x lim. lim. 2 dla x = 1 f(x) dla x (0, 1) e e 1 dla x = 1

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2015/16

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

Elementy geometrii w przestrzeni R 3

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017

Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA. W obu podpunktach zakªadamy,»e kolejno± ta«ców jest wa»na.

Lekcja 12 - POMOCNICY

Podzbiory Symbol Newtona Zasada szuadkowa Dirichleta Zasada wª czania i wyª czania. Ilo± najkrótszych dróg. Kombinatoryka. Magdalena Lema«ska

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

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

Transkrypt:

ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15

Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych 17 5 Maªe Twierdzenie Fermata 20 6 Twierdzenie Eulera 23 7 Twierdzenie Lagrange'a 27 8 Chi«skie Twierdzenie o Resztach 30 9 RSA i gra w orªa i reszk przez telefon 36 10 Kongruencje wy»szych stopni 38 11 Liczby pseudopierwsze 44 12 Pierwiastki pierwotne 49 13 Istnienie pierwiastków pierwotnych 53 14 Logarytm dyskretny 58 15 Pewne zastosowania pierwiastków pierwotnych 61 2

Wykªad 9 RSA i gra w orªa i reszk przez telefon W rozdziale tym poka»emy kilka zastosowa«rozkªadu liczb na czynniki. System kryptograczny RSA (od nazwisk twórców: Rivest Shamir Adleman), który tu przedstawimy, oparty jest na problemie znalezienia rozkªadu liczby zªo»onej na czynniki pierwsze. Niejako efektem ubocznym jest tu zwi zana z rozwi zywaniem kongruencji kwadratowych gra w orªa i reszk przez telefon. Na pocz tek, zauwa»my»e, pomno»enie dwóch dwu-cyfrowych liczb pierwszych, powiedzmy 23 i 47 nie powinno sprawi nam wi kszego problemu. Natomiast pytanie o rozkªad liczby 2047 (wiemy,»e jest ona iloczynem dwóch dwu-cyfrowych liczb pierwszych) jest raczej trudne. Je±li n = pq, gdzie p oraz q s liczbami pierwszymi, to znajomo± warto±ci funkcji Eulera φ(n) = n + 1 p q jest równowa»na znajomo±ci liczb p oraz q. Istotnie, je±li znamy n, p oraz q, bez problemu mo»emy obliczy φ(n) = n + 1 p q. Je»eli natomiast znamy n oraz φ(n), to znamy te» n = pq oraz n + 1 φ(n) = p + q i»eby obliczy p oraz q, rozwi zujemy w miar prosty ukªad równa«stopnia drugiego. W przypadku systemu RSA, kluczem szyfruj cym (jawnym) jest (n, e), gdzie n jest iloczynem dwóch liczb pierwszych, a e jest liczb wzgl dnie pierwsz z φ(n). Kluczem deszyfruj cym (tajnym) jest natomiast (n, d), gdzie d jest liczb odwrotn do e modulo φ(n). Znajomo± rozkªadu liczby n oraz liczba φ(n) nie s potrzebne do szyfrowania ani do deszyfrowania, wi c lepiej o tym zapomnie. Najpopularniejsz metod ªamania RSA jest wªa±nie znajdywanie rozkªadu liczby n. Je±li n jest liczb 300 bitow, lub krótsz (tj. ma co najwy»ej 300 bitów w rozwini ciu dwójkowym - okoªo 100 cyfr 36

dziesi tnych), to mo»na j rozªo»y w kilka godzin u»ywaj c domowego komputera z powszechnie dost pnym (darmowym) oprogramowaniem. O kluczach 512 bitowych wiadomo od roku 1999,»e s one ªamalne przy u»yciu klastra zªo»onego z kilkuset komputerów pracuj cych nieprzerwanie kilka tygodni. Teoretyczny komputer TWIRL opisany przez A. Shamira i E. Tromera w 2003 roku zakwestionowaª bezpiecze«stwo kluczy 1024 bitowych. Obecnie rekomendowan dªugo±ci klucza jest przynajmniej 2048 bitów. Istotnym zagro»eniem bezpiecze«stwa szyfrów RSA s obecnie komputery kwantowe. Wracaj c szczegóªów zwi zanych z RSA, przeksztaªceniem szyfruj cym jest funkcja f : Z n Z n okre±lona wzorem f(p ) = P e mod n. Przeksztaªceniem deszyfruj cym jest funkcja f 1 odwrotna do f i okre±lona wzorem f 1 (C) = C d mod n. Teksty jawne i zaszyfrowane s zapisane za pomoc tego samego alfabetu licz cego N symboli. Wybieramy liczby k i l tak, aby N k < n < N l. Jako jednostki tekstu jawnego bierzemy bloki po k liter, które traktujemy jako liczby kcyfrowe w systemie o podstawie N. Podobnie, jednostkami zaszyfrowanymi b d bloki po l liter. Zatem ka»dy blok tekstu zaszyfrowanego ma przypisan warto± liczbow mi dzy 0 i N l 1. 9.1 Przykªad. Przyjmiemy N = 26, k = 3 i l = 4. Zatem jednostki tekstu jawnego s trigramami, a jednostki tekstu zaszyfrowanego tetragramami. Chcemy przesªa wiadomo± TAK do u»ytkownika A, który ma klucz szyfruj cy (46927, 39423). W tym celu szukamy najpierw odpowiednika liczbowego sªowa TAK. Jest to 19 26 2 + 0 26 + 10 = 12854. Nast pnie obliczamy 12854 39423 mod 46927 otrzymuj c w wyniku 14251 = 0 26 3 + 21 26 2 + 2 26 + 3, a to daje nam kryptotekst avbc. Tym samym kluczem zaszyfrowano inny tekst uzyskuj c kryptogram bc. Czy jeste± w stanie, odtworzy tekst jawny? Adresat ma swój klucz rozszyfrowuj cy (46927, 26767), który pozwala mu obliczy 14251 26767 mod 46927 = 12854, a to mu daje sªowo TAK. U»ytkownik systemu RSA z powy»szego przykªadu wygenerowaª swoje klucze u»ywaj c liczb pierwszych 281 i 167. Oczywi±cie, u»yli±my tutaj bardziej,,wyobra»alne liczby ni» to si zwykle stosuje. eby podnie± du» liczb do (cz sto jeszcze wi kszej) pot gi stosujemy algorytm iterowanego podnoszenia do kwadratu. Dla przykªadu obliczymy 348 171 mod 1019. 37

W tym celu zapisujemy 348 171 = 348 27 +2 5 +2 3 +2+1 ) 2 (((348 = ( ) ) ) 2 2 2 2 348 348 348 348. 2 2 Nasze pot gowanie sprowadza si zatem do podnoszenia do kwadratu lub mno»enia przez 348, przy czym za ka»dym razem wynik dziaªania jest redukowany modulo 1019. Po wykonaniu oblicze«otrzymujemy 127. Funkcja szyfruj ca w systemie RSA jest typowym przykªadem funkcji jednokierunkowej, tj. takiej której warto±ci mo»na bez problemu obliczy, ale znaj c warto±, nie mo»na obliczy argumentu, dla którego ta warto± jest przyjmowana. Dodatkowo funkcja ta jest ró»nowarto±ciowa (1-1). Podobn funkcj, tyle»e 2-1 mo»na wykorzysta przy grze w orªa i reszk przez telefon. Zaªó»my,»e Alicja i Stefan s krótko po rozwodzie i zdecydowali si rzuci monet by zdecydowa, do kogo ma nale»e samochód. Jedno nie chce widzie drugiego, wi c spotkanie w celu dokonania rzutu nie wchodzi w rachub. Aby im pomóc, wykorzystamy stosunkowo maªe liczby,»eby caªy czas kontrolowa przebieg gry. Niech wi c n = 341 = 11 31. Liczby 11 oraz 31 s znane Alicji, a Stefan zna tylko ich iloczyn, tj. 341. 1. Stefan wybiera losowo liczb 0 < x 340 i oblicza warto± x 2. Zaªó»my,»e x = 134, wi c x 2 = 224. Alicja otrzymuje tylko liczb 224. 2. Alicja po otrzymaniu y = 224 oraz wiedz c,»e 341 = 11 31, oblicza cztery pierwiastki równania x 2 = 224 modulo 341. Robi to w nast puj cy sposób. Poniewa» x 2 224 (mod 341), wi c x 2 224 4 (mod 11) x 2 224 7 (mod 31) st d mamy jedn z czterech mo»liwo±ci x ± 2 (mod 11) x ± 10 (mod 31) Stosuj c oznaczenia z dowodu chi«skiego twierdzenia o resztach rozwi zujemy powy»szy ukªad nast puj co: a 1 = 2, m 1 = 11, a 2 = 10, m 2 = 31, M = 341. Obliczamy teraz M 1 = 31 oraz M 2 = 11. Stosuj c 38

algorytm Euklidesa lub w inny sposób obliczamy N 1 = 6 i N 2 = 17. Teraz ju» bez trudu otrzymujemy x = 2 31 6 + 10 11 17 = 2242, co modulo 341 daje 196. Alicja mo»e t liczb potraktowa jako swoj szcz ±liw i wysªa j Stefanowi, lub te» obliczy trzy pozostaªe liczby rozwi zuj c nast puj ce ukªady kongruencji x 2 (mod 11); x 2 (mod 11); x 2 (mod 11); x 10 (mod 31); x 10 (mod 31); x 10 (mod 31). Wówczas do dyspozycji b dzie miaªa liczby 196 oraz 134 (tak»e 196 i 134, ale to si nie liczy) i b dzie w prawdziwej rozterce decyduj c, czy ma wysªa x 2 = 196, czy te» x 1 = 134. 3. Je±li wysªaªa x 1 = 134 Stefan ma pecha, poniewa» nie zna on liczby 196, której Alicja natychmiast za» da. 4. Je»eli jednak Alicja wysªaªa x 2 = 196, wygrywa Stefan i na dowód wygranej przesyªa Alicji liczb 134. Zauwa»my,»e mo»emy tu zastosowa ka»d liczb n, która jest iloczynem dwóch liczb pierwszych p i q, przy czym je±li gramy faktycznie o samochód to liczby te musz by na tyle du»e i tak dobrane,»eby nie mo»na byªo zbyt szybko znale¹ rozkªadu liczby n. Liczby p = 11 oraz q = 31 z powy»szego przykªadu mog co najwy»ej sªu»y do gry o rozbite lusterko boczne. Zauwa»my te»,»e w punkcie 4, Stefan mo»e udowodni swoj wygran znajduj c bez problemu rozkªad liczby n, poniewa» NWD(x 1 x 2, n) jest wi kszy od 1, czyli stanowi nietrywialny dzielnik liczby n. 39