Problem logarytmu dyskretnego i protokół Diffiego-Hellmana. Mateusz Paluch

Podobne dokumenty
PRZEWODNIK PO PRZEDMIOCIE

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Algorytmy asymetryczne

Parametry systemów klucza publicznego

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

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

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

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

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

Spis treści. Przedmowa... 9

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

Elementy teorii liczb i kryptografii Elements of Number Theory and Cryptography. Matematyka Poziom kwalifikacji: II stopnia

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Szyfrowanie RSA (Podróż do krainy kryptografii)

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

Copyright by K. Trybicka-Francik 1

Matematyka dyskretna

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Copyright by K. Trybicka-Francik 1

Kryptologia przykład metody RSA

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

Bezpieczeństwo systemów komputerowych

Wybrane zagadnienia teorii liczb

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

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

Opis efektów kształcenia dla modułu zajęć

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

Matematyka dyskretna

Matematyka dyskretna

Matematyka dyskretna

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

0.1 Pierścienie wielomianów

Przykładowe zadania z teorii liczb

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

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Pierwiastki pierwotne, logarytmy dyskretne

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

SCHEMAT ZABEZPIECZENIA WYMIANY INFORMACJI POMIĘDZY TRZEMA UŻYTKOWNIKAMI KRYPTOGRAFICZNYM SYSTEMEM RSA

Zarys algorytmów kryptograficznych

Podstawowe struktury algebraiczne

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

Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej

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

Matematyka dyskretna

Rozszerzone protokoły Diffiego Hellmana

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Zadania do samodzielnego rozwiązania

Algorytmy w teorii liczb

Matematyka dyskretna

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Algorytmy i struktury danych. Wykład 4

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

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.

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

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

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

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

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Kongruencje pierwsze kroki

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

Paweł Gładki. Algebra. pgladki/

Skończone rozszerzenia ciał

Pierścień wielomianów jednej zmiennej

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

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.

Liczby pierwsze na straży tajemnic

Algorytm faktoryzacji Petera Shora dla komputera kwantowego

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

Projekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Liczby pierwsze wielomianowo - ekstremalnie trudne?

Krzywe Freya i Wielkie Twierdzenie Fermata

Grupy, pierścienie i ciała

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

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

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

PRACE NAUKOWE Akademii im. Jana Długosza w Częstochowie Informatyka, Inżynieria Bezpieczeństwa

Matematyka dyskretna

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

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

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);

MADE IN CHINA czyli SYSTEM RESZTOWY

Matematyka dyskretna

Uczeń: -podaje przykłady ciągów liczbowych skończonych i nieskończonych oraz rysuje wykresy ciągów

Równania wielomianowe

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

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

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.)

Estymacja kosztów łamania systemu kryptograficznego

Plan wynikowy. Klasa III Technik pojazdów samochodowych/ Technik urządzeń i systemów energetyki odnawialnej. Kształcenie ogólne w zakresie podstawowym

6. Grupowe struktury dwuliniowe

Szyfry afiniczne. hczue zfuds dlcsr

Zbiory, relacje i funkcje

POZIOMY WYMAGAŃ EDUKACYJNYCH: K ocena dopuszczająca (2) P ocena dostateczna (3) R ocena dobra (4) D ocena bardzo dobra (5) W ocena celująca (6)

. : a 1,..., a n F. . a n Wówczas (F n, F, +, ) jest przestrzenią liniową, gdzie + oraz są działaniami zdefiniowanymi wzorami:

Podstawowe struktury algebraiczne

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Macierze. Rozdział Działania na macierzach

Aproksymacja diofantyczna

Transkrypt:

Problem logarytmu dyskretnego i protokół Diffiego-Hellmana Mateusz Paluch

1 Logarytm dyskretny Definicja 1. Niech (G, ) będzie skończoną grupą cykliczną rzędu n 2. Niech ponadto b będzie generatorem tej grupy i niech a G. Logarytmem dyskretnym elementu a przy podstawie b (ozn.: log b a) nazywa się jedyną liczbę całkowitą x [0, n 1] spełniająca równanie a = b x. Uwaga 1. Element b jest generatorem grupy (G, ) wtedy i tylko wtedy, gdy a G m Z : a = b m. Uwaga 2. Jeśli (G, ) jest skończoną grupą cykliczną rzędu n oraz b jest generatorem tej grupy, to odwzorowanie Z n x b x G jest izomorfizmem grup. Uwaga 3. Uogólnienia. Załóżmy, że (G, ) jest dowolną grupą i że a, b G. Wówczas równanie a = b x ma rozwiązanie x Z wtedy i tylko wtedy, gdy a b. Załóżmy, że (G, ) jest nieskończoną grupą cykliczną o generatorze b. Wówczas a G! x Z : a = b x. Założenie nieskończoności komplikuje nam problem z punktu widzenia obliczeniowego. Z punktu widzenia teorii natomiast nie ma to znaczenia. (Nie tracimy jedyności rozwiązania, ale operujemy na niewygodnych dużych liczbach). Jeżeli spośród wymienionych w Definicji 1 założeń opuścimy x [0, n 1], to równanie a = b x bedzie miało nieskończenie wiele rozwiązań, ponieważ b x = b x+kn dla każdego k Z. Twierdzenie 1. Jeżeli (G, ) jest grupą cykliczną rzędu n generowaną przez element b, to b k generuje grupę (G, ) wtedy i tylko wtedy, gdy NW D(k, n) = 1. W szczególności a jest generatorem grupy (Z n, + n ) wtedy i tylko wtedy, gdy NW D(a, n) = 1. Twierdzenie 2. Jeżeli (G, ) jest nieskończoną grupą cykliczną generowaną przez element b, to jedynym różnym od b elementem grupy (G, ), który ją generuje, jest b 1. Twierdzenie 3. Jeżeli p jest liczbą pierwszą, to (Z p, ), gdzie Z p = {1, 2,..., p 1}, a mnożenie jest modulo p, jest grupą cykliczną. 1

Twierdzenie 4. Niech b będzie generatorem grupy cyklicznej (G, ) rzędu n i niech x, y G. Niech ponadto s będzie liczbą całkowitą, e natomiast elementem neutralnym grupy (G, ). Wówczas 1. log b e = 0, 2. log b b = 1, 3. log b (xy) = (log b x + log b y) mod n, 4. log b (x s ) = (s log b x) mod n. Dowód. Ad 1. b 0 = e log b e = 0 Ad 2. b 1 = b log b b = 1 Ad 3. Zauważmy najpierw, że dla dowolnej liczby k Z istnieje takie q Z, że k = k mod n + qn. Niech u = log b x, v = log b y. Wówczas x = b u oraz y = b v, więc xy = b u b v = b u+v. Korzystając z poczynionej na wstępie uwagi otrzymujemy xy = b (u+v) mod n+qn = (b n ) q b (u+v) mod n = e q b (u+v) mod n = b (u+v) mod n, skąd już log b (xy) = (u + v) mod n = (log b x + log b y) mod n (bowiem (u + v) mod n [0, n 1]). Ad 4. Niech u = log b x. Wówczas x = b u, więc x s = (b u ) s = b su. Korzystając z uwagi z poprzedniej części dowodu otrzymujemy x s = b (su) mod n, skąd log b (x s ) = (su) mod n = (s log b x) mod n. 2 Rozszerzony algorytm Euklidesa Algorytm Euklidesa służy do znajdowania największego wspólnego dzielnika liczb a, b Z. Rozszerzony algorytm Euklidesa ponadto znajduje współczynniki s, t Z takie, że as + bt = NW D(a, b). Przykład 1. Ponieważ NW D(45, 103) = 1, to 45 jest generatorem grupy (Z 103, + 103 ). Szukamy log 45 56 w grupie (Z 103, + 103 ), czyli jedynego takiego x [0, 102] Z, że 45x 103 56. Stosując rozszerzony algorytm Euklidesa do liczb 45 i 103 znajdujemy s, t Z takie, że 45s + 103t = 1. Okazuje się, że s = 16, t = 7. Następnie kongruencję 45x 103 56 mnożymy obustronnie przez 16 (co można zrobić, bo NW D( 16, 103) = 1), otrzymując 16 45x 103 16 56 (1 7 103) 45x 103 16 56 x 103 896. W takim razie log 45 56 = 31. 2

3 Klasyczny problem logarytmu dyskretnego (Discrete Logarithm Problem DLP) Szczególnie ważna (także z kryptologicznego punktu widzenia) jest sytuacja, kiedy G = Z p dla pewnej liczby pierwszej p. Klasyczny problem logarytmu dyskretnego, polegający na tym, żeby mając generator g grupy (Z p, ) znaleźć log g y dla danego y Z p, jest banalny z teoretycznego punktu widzenia, ale niebanalny obliczeniowo. Przykład 2. Znajdziemy log 5 18 w grupie (Z 23, ), czyli znajdziemy takie x [0, 21] Z, że 5 x 23 18. W tym celu obliczamy kolejno 5 1 = 5, 5 2 = 2 (mod 23), 5 3 = 10 (mod 23),..., 5 12 = 18 (mod23), z czego otrzymujemy x = 12. Zastosowany powyżej algorytm nazywany jest algorytmem siłowym lub algorytmem brute force. Opiera się on na sukcesywnym sprawdzaniu wszystkich możliwych kombinacji w poszukiwaniu rozwiązania problemu, zamiast skupiać się na jego szczegółowej analizie. Jest to najprostsza do zaimplementowania metoda i teoretycznie pozwala ona złamać każde hasło praktycznie może to potrwać tysiące lub miliony lat. Okazuje się, że jest tak dla dużej liczby p, ponieważ zwiększanie liczby p drastycznie wydłuża czas obliczeń. Powstałe trudności dostrzegalne są na poniższym wykresie. Wykres funkcji logarytmicznej (o podstawie a > 1) oraz wykres logarytmu dyskretnego w ciele reszt modulo 53. Który z nich łatwiej jest wyznaczyć dla danego argumentu? 3

4 Uogólniony problem logarytmu dyskretnego (Generalised Discrete Logarithm Problem GDLP) Mając daną skończoną grupę (G, ) oraz elementy a, b G chcemy znaleźć liczbę x Z spełniającą równanie a = b x, pod warunkiem, że taka liczba istnieje. Uwaga 4. W tym zadaniu nie jest wymagane, aby grupa (G, ) była cykliczna oraz, nawet jeśli jest, nie jest wymagane, aby b było generatorem tej grupy. Tak postawiony problem ogólnie może być trudniejszy do rozwiązania niż DLP. Jednakże w przypadku, gdy grupa (G, ) jest cykliczna (np. jest grupą multiplikatywną ciała skończonego) oraz znany jest rząd elementu b, łatwo jest rozpoznać, czy istnieje liczba całkowita x spełniająca równanie a = b x. Wynika to z następującego faktu: jeżeli (G, ) jest grupą cykliczną, b jest elementem rzędu n w tej grupie oraz a G, to ( x Z : a = b x ) a n = e, gdzie e oznacza element neutralny grupy (G, ). Stopień trudności uogólnionego problemu logarytmu dyskretnego zależy od grupy, do której należą elementy a oraz b. grupa stopień trudności złożoność czasowa (Z n, + n ) bardzo łatwe wielomianowy czas algorytmu (Z p, ) trudne subwykładniczy czas algorytmu grupa punktów bardzo trudne wykładniczy czas algorytmu krzywej eliptycznej Podamy teraz przykłady algorytmów służących do rozwiązywania problemu logarytmu dyskretnego w niektórych grupach. Dla grupy (Z n, + n ) jest to rozszerzony algorytm Euklidesa. Dla grupy (Z p, ) są to algorytm brute force (efektywny dla małej liczby p), algorytm dużych i małych kroków (baby-step giant-step algorithm), algorytm Silvera-Pohlinga-Hellmana (efektywny, gdy p 1 rozkłada się na małe liczby pierwsze), algorytm oparty na wyznaczaniu indeksu (index-calculus). 4

5 Protokół Diffiego-Hellmana (Diffie- Hellman Key Exchange) W 1976 Whitfield Diffie 1 i Martin Hellman 2 opublikowali pracę pt. New Directions in Cryptography, która zainicjowała rewolucję w kryptografii. Wymiana klucza wg protokołu Diffiego-Hellmana była pierwszym w historii kryptosystemem asymetrycznym. Jej autorzy postrzegani są jako założyciele nowoczesnej kryptografii. Bezpieczeństwo protokołu DH oparte jest na trudności obliczeniowej problemu logarytmu dyskretnego. Poniżej przedstawiamy schemat procesu wymiany klucza wg protokołu Diffiego-Hellmana w skończonej grupie cyklicznej (G, ) rzędu r, której generatorem jest element g. (Symbol a R A oznacza losowy wybór elementu a ze zbioru A). 1 Bailey Whitfield Diffie (ur. 5 czerwca 1944) - amerykański kryptograf, współtwórca kryptografii asymetrycznej. W 1976 wraz z Martinem Hellmanem opracował rewolucyjną pracę naukową New Directions in Cryptography przedstawiającą pomysł klucza publicznego. W swojej karierze był związany z Massachusetts Institute of Technology oraz Sun Microsystems. 2 Martin Hellman (ur. 2 października 1945) - amerykański kryptograf, współtwórca kryptografii asymetrycznej. Pracował dla firmy IBM, później jako profesor na Stanford University. Po przejściu na emeryturę (1996) skoncentrował się na prawdopodobieństwie i ryzyku związanym z bronią nuklearną. 5

Przykład 3. (Protokół Diffiego-Hellmana dla grupy (Z r, + r )). Rozważmy sytuację, w której Alicja dzwoni do Boba w celu wymiany tajnej informacji. Rozmowa jest podsłuchiwana. Ogólny sposób postępowania: 1. Razem wybierają dużą liczbę r N oraz liczbę g [1,..., r 1] Z względnie pierwszą z r. 2. Alicja w sekrecie wybiera sobie liczbę całkowitą n [0,..., r 1]. 3. Bob w sekrecie wybiera sobie liczbę całkowitą m [0,..., r 1]. 4. Alicja oblicza (ng) mod r i przekazuje Bobowi rezultat. 5. Bob oblicza (mg) mod r i przekazuje Alicji rezultat. 6. Wspólny ukryty klucz, który mogą oboje obliczyć, to s = (nmg) mod r. Przypuśćmy teraz, że r = 103, g = 45, n = 31, m = 17. Wówczas (ng) mod r = 56, (mg) mod r = 44, a wartość wspólnego ukrytego klucza wynosi s = (m(ng)) mod r = (n(mg)) mod r = 25. Jest widoczne, że najdogodniej jest przyjąć za r liczbę pierwszą. Osoba podsłuchująca rozmowę otrzymuje informację o liczbach r, g, (ng) mod r oraz (mg) mod r. Na podstawie tych danych poszukuje klucza s := (nmg) mod r. Rozwiązanie postawionego problemu, jak już wspomnieliśmy, jest realne dzięki rozszerzonemu algorytmowi Euklidesa. W konsekwencji protokół Diffiego-Hellmana dla grupy (Z r, + r ) nie nadaje się do żadnych zastosowań. Przykład 4. (Protokół Diffiego-Hellmana dla grupy (Z p, )). Alicja dzwoni do Boba w celu wymienienia tajnej informacji. Telefon jest na podsłuchu. Wówczas: 1. Razem wybierają liczbę pierwszą p. 2. Razem wybierają liczbę g mniejszą od p i będącą generatorem grupy (Z p, ). (Liczby g i p nie są tajne). 3. Alicja w sekrecie wybiera sobie liczbę całkowitą n [0, p 2]. 4. Bob w sekrecie wybiera sobie liczbę całkowitą m [0, p 2]. 5. Alicja oblicza a = (g n ) mod p i przekazuje Bobowi rezultat. 6. Bob oblicza b = (g m ) mod p i przekazuje Alicji rezultat. 6

7. Wspólny ukryty klucz, który mogą oboje obliczyć, to s = ((g n ) m ) mod p = ((g m ) n ) mod p = (g nm ) mod p. W algorytmie tym możemy dostrzec dwa klucze prywatne oraz dwa klucze publiczne, z których generowany jest jeden klucz sesji. Podsłuchiwacz ma dostęp do kluczy publicznych, z których każdy składa się z 3 znanych parametrów: g, p oraz reszty a (względnie b). Elementem nieznanym jest n (względnie m), a więc wartość logarytmu dyskretnego z a (względnie b) przy podstawie g, w grupie multiplikatywnej reszt modulo p. 6 Wady systemu Diffiego-Hellmana Wśród mankamentów procesu wymiany klucza według Diffiego-Hellmana jest fakt, że klucze sesji muszą być wymieniane parami. Jeśli zaszyfrowane wiadomości wymienia około stu osób, to metoda wymaga już sporych nakładów. Poza tym zarówno od Alicji jak i od Boba wymagana jest pewna aktywność, zanim będą się mogli ze sobą komunikować. Alicja nie może zostawić żadnej zaszyfrowanej wiadomości dla Boba, jeżeli ten jest np. na urlopie, po czym sama wyjechać w podróż. Ostatnią wadę można obejść poprzez stworzenie bazy danych. Bob przed wyjazdem na urlop wysyła swoją wartość reszty b do bazy. Alicja może wówczas wysyłać Bobowi informacje podczas jego nieobecności, wykorzystując wartość reszty b zamieszczoną przez niego w bazie oraz dobieranie dla każdej informacji innej tajnej liczby n. Nie jest to metoda doskonała, bowiem pojawia się zbiór kluczy prywatnych, którymi może zainteresować się podsłuchiwacz. Wobec powyższego metoda Diffiego- Hellmana może wydawać się nieco uciążliwa, jednak jak wiele innych protokołów kryptograficznych została zautomatyzowana i programowo, i sprzętowo. Nie jest bardziej niebezpieczna niż RSA, natomiast przez 3 lata miała nad nim przewagę, bowiem w 1997 roku przestał obowiązywać jej patent, a patent RSA wygasł dopiero w 2000 roku. 7

Literatura [1] Marcin Karbowski, Podstawy kryptografii, Wyd. Helion, 2008. [2] Neal Koblitz, Algebraiczne aspekty kryptografii, Wyd. Naukowo- Techniczne, Warszawa, 2000. [3] Neal Koblitz, Wykłady z teorii liczb i kryptografii, Wyd. Naukowo- Techniczne, Warszawa, 2006. [4] Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, Handbook of applied cryptography, CRC Press, 1996. [5] Keneth A. Ross, Charles R. B. Wright, Matematyka dyskretna, PWN, Warszawa, 2003. [6] Reinhard Wobst, Kryptologia. Budowanie i łamanie zabezpieczeń, Wyd. RM, Warszawa, 2002. 8