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

Podobne dokumenty
Ataki na algorytm RSA

Parametry systemów klucza publicznego

Kryptografia na procesorach wielordzeniowych

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych

Podstawy systemów kryptograficznych z kluczem jawnym RSA

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

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

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

Bezpieczeństwo systemów komputerowych

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

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

2 Kryptografia: algorytmy symetryczne

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

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Liczby pierwsze na straży tajemnic

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

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

Wybrane zagadnienia teorii liczb

Algorytmy asymetryczne

Algorytmy i struktury danych. Wykład 4

Spis treści. Przedmowa... 9

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

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

Bezpieczeństwo danych, zabezpieczanie safety, security

Estymacja kosztów łamania systemu kryptograficznego

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

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

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

Matematyka dyskretna

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

Analiza kongruencji. Kongruencje Wykład 3. Analiza kongruencji

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

Sieci komputerowe. Wykład 9: Elementy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

Matematyka dyskretna

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

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

L6.1 Systemy liczenia stosowane w informatyce

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Haszowanie. dr inż. Urszula Gałązka

Próbny egzamin z matematyki dla uczniów klas II LO i III Technikum. w roku szkolnym 2012/2013

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Podstawy Informatyki Systemy sterowane przepływem argumentów

0.1 Pierścienie wielomianów

Liczby pierwsze wielomianowo - ekstremalnie trudne?

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

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

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Przykładowe zadania z teorii liczb

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

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

1 Macierz odwrotna metoda operacji elementarnych

Algorytm. a programowanie -

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

Luty 2001 Algorytmy (7) 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),

Kryptologia przykład metody RSA

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

Techniki wyszukiwania danych haszowanie

Szybka transformata Fouriera w kryptografii klucza publicznego

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Tablice z haszowaniem

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.

Zadanie 2: Kryptosystem Rabina

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

Estymacja kosztów łamania systemu kryptograficznego

koordynator modułu dr hab. Michał Baczyński rok akademicki 2012/2013

Zaawansowane algorytmy i struktury danych

Szyfrowanie informacji

Algorytm faktoryzacji Petera Shora dla komputera kwantowego

Matematyka dyskretna

Techniki multimedialne

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Klasa 1 technikum. Poniżej przedstawiony został podział wymagań na poszczególne oceny szkolne:

Informatyka na WPPT. prof. dr hab. Jacek Cichoń dr inż. Marek Klonowski

Metody Rozmyte i Algorytmy Ewolucyjne

Pracownia Komputerowa wykład V

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

Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to

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

Bezpieczeństwo w Internecie

Tablice z haszowaniem

Kod U2 Opracował: Andrzej Nowak

KRYPTOANALIZA. Opracowanie wewnętrzne Instytutu Informatyki Gliwice, 1999

Wykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym

Algorytmy w teorii liczb

Rozkład materiału a wymagania podstawy programowej dla I klasy czteroletniego liceum i pięcioletniego technikum. Zakres rozszerzony

Matematyczne Podstawy Informatyki

Ochrona poczty elektronicznej przed spamem. Olga Kobylańska praca dyplomowa magisterska opiekun pracy: prof. nzw.. dr hab.

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.

Transkrypt:

Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1

Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie Ataki na RSA p. 2

Algorytm RSA Bezpieczeństwo algorytmu RSA zostało oparte na problemie faktoryzacji liczb całkowitych. Klucze: generujemy liczby pierwsze p, q, wyznaczamy N = pq i szukamy takich liczb d (klucz prywatny) oraz e (klucz publiczny), że ed 1 mod (p 1)(q 1). Operacja prywatna: C M d mod N. Operacja publiczna: M C e M ed mod N. Ataki na RSA p. 3

Optymalizacja operacji prywatnej Wykonanie operacji prywatnej może być w bardzo prosty sposób przyspieszone. Wystarczy wykorzystać twierdzenie chińskie o resztach: C p M d mod (p 1) mod p, C q M d mod (q 1) mod q, { C C p mod p, C C q mod q. Ataki na RSA p. 4

Optymalizacja operacji publicznej Aby przyspieszyć wykonywanie operacji publicznej postanowiono zastosować krótkie wykładniki publiczne. W powszechnym użyciu sa takie wartości, jak: 3, 5, 7, 65537 (najpopularniejszy). Ataki na RSA p. 5

Faktoryzacja modułu Faktoryzacja modułu jest podstawowa metoda algebraiczna, która zapewnia uzyskanie wszystkich informacji na temat klucza RSA. Problem: Majac dana liczbę całkowita N należy wyznaczyć jej czynniki pierwsze. Ataki na RSA p. 6

Algorytmy faktoryzacji Do najpopularniejszych algorytmów faktoryzacji należa MPQS (Multiple Polynomial Quadratic Sieve) - modyfikacja sita kwadratowego, ECM (Elliptic Curve Method) - metoda szczególnie skuteczna przy niewielkich czynnikach, GNFS (General Number Field Sieve) - najszybszy znany algorytm faktoryzacji. Ataki na RSA p. 7

Jakie liczby można faktoryzować Oficjalnie największym rozłożonym do tej pory modułem RSA jest RSA-200 (moduł majacy 200 cyfr dziesiętnych około 660 bitów). Liczby 500 bitowe moga być w tej chwili rozkładane na czynniki w przeciagu kilku miesięcy przy użyciu niewielkiej liczby komputerów (kilka, kilkanaście), a odpowiednie darmowe oprogramowanie można ściagn ać z internetu. Ataki na RSA p. 8

Dodatkowe warunki na czynniki modułu RSA Aby uniemożliwić zastosowanie specjalnych metod faktoryzacji (dużo szybszych niż metody ogólne) nakłada się na czynniki RSA dodatkowe warunki: p 1, q 1, p + 1 i q + 1 maja mieć duży czynnik pierwszy, p q > 2 log 2 p 100. Ataki na RSA p. 9

Ataki na krótki wykładnik prywatny Zmniejszenie długości klucza prywatnego ma korzystny wpływ na czas wykonywania operacji prywatnej. Takie podejście mogłoby być bardzo atrakcyjne zwłaszcza w przypadku urzadzeń o ograniczonych zasobach obliczeniowych. Niestety dla wszystkich kluczy prywatnych d < N 0.3 istnieje efektywna metoda złamania RSA. Ataki na RSA p. 10

Ataki na krótki wykładnik publiczny (Coppersmith) Niech N będzie liczba całkowita, a f(x) Z N [X] wielomianem stopnia d, którego współczynnik przy wyrazie X d wynosi 1. Ustalmy x = N 1 d ǫ dla pewnego ǫ 0. Wtedy istnieje efektywny sposób wyznaczenia wszystkich liczb x 0 < x takich, że f(x 0 ) = 0 mod N. Czas znalezienia pierwiastków zależy od wydajności algorytmu LLL dla kraty o wymiarze O(w), gdzie w = min(1/ǫ, log 2 N). Ataki na RSA p. 11

Atak Hastada Załóżmy, że ta sama wiadomość M wysyłana jest do trzech różnych osób, z których każda posługuje się kluczem publicznym postaci N i, 3. W takiej sytuacji wysyłane sa 3 szyfrogramy: C 1 = M 3 mod N 1, C 2 = M 3 mod N 2, C 3 = M 3 mod N 3. Powyższy układ równań pozwala na odtworzenie wartości M 3 = M 3 mod (N 1 N 2 N 3 ). Ataki na RSA p. 12

Atak Franklina-Reitera Metoda ta działa tylko w przypadku wykładnika publicznego o wartości 3. Pozwala na złamanie dwóch szyfrogramów C 1 = M 3 1 i C 2 = M 3 2, które zostały wysłane do tej samej osoby. Warunkiem koniecznym przeprowadzenia skutecznej kryptoanalizy jest znajomość liniowej zależności pomiędzy wiadomościami M 1 i M 2. Znajac funkcję f(x) = ax + b Z N [X] (b 0), dla której prawdziwa jest zależność M 2 = f(m 1 ) możemy znaleźć M 1 i M 2. Ataki na RSA p. 13

Atak Coppersmitha Gdy atakujacy przechwyci dwa szyfrogramy postaci: 1. C 1 = (2 m M + r 1 ) e, gdzie 0 r 1 < 2 m, 2. C 2 = (2 m M + r 2 ) e, gdzie 0 r 2 < 2 m, to jest w stanie odzyskać wiadomość M. W przypadku 1024-bitowego klucza i wykładnika publicznego równego 3 możliwe jest odzyskanie pierwszych 911 bitów M, o ile losowe dopełnienie jest nie dłuższe niż 113 bitów. Ataki na RSA p. 14

Atak na częściowo jawny klucz prywatny Jeżeli N = pq jest modułem RSA o długości n-bitów, a wykładnik publiczny e spełnia zależność e < N, to można: 1. znaleźć wszystkie bity d w czasie e log 2 e, o ile znamy n/4 najmłodszych bitów wykładnika prywatnego d, 2. znaleźć rozkład modułu RSA na czynniki, jeżeli znamy n/4 najmłodszych lub najstarszych bitów czynnika p. Ataki na RSA p. 15

Ataki czasowe Czas wykonania poszczególnych instrukcji procesora może być zależny od jej argumentów wejściowych. Sytuacja taka ma miejsce w większości współczesnych procesorów, które wyposażone sa w cała gamę mechanizmów optymalizujacych wykonywanie kodu. Pomiar czasu wykonania danej operacji kryptograficznej jest więc w pewnym stopniu skorelowany z przetwarzanymi danymi (w szczególności kluczami kryptograficznymi). Ataki na RSA p. 16

Atak czasowy Kochera (1) Atak pozwala na wyznaczenie wykładnika prywatnego x dla operacji y x mod N pod warunkiem, że znane sa y i N. s 0 = 1 for i = 0 to n 1 do if x i = 1 then R i = s i y mod N else R i = s i s i+1 = R 2 i mod N return R n 1 Ataki na RSA p. 17

Atak czasowy Kochera (2) Podstawowa technika zabezpieczajac a przed tym atakiem jest tak zwane maskowanie. Polega ono na pomnożeniu argumentu wejściowego x przez pewna losowa wartość r e, gdzie e jest wykładnikiem publicznym. Wykonujac operację prywatna na xr e otrzymujemy x d r ed = x d r mod N. Na końcu usuwamy maskę poprzez pomnożenie uzyskanego wyniku przez r 1 mod N. Ataki na RSA p. 18

Atak czasowy na pamięć CACHE Implementacja mnożenia Montgomery ego bez instrukcji warunkowych daje wynik modulo 2N. Aby uzyskać rezultat modulo N należy zatem dokonać redukcji warunkowej (jeżeli wynik jest w przedziale [N..2N 1]). Obecność warunkowej instrukcji redukcji umożliwia złamanie RSA. Podstawa ataku sa różnice czasu wykonania operacji prywatnej, które zależa od aktualnego stanu pamięci CACHE instrukcji. Ataki na RSA p. 19

Atak z generacja błędu podczas CRT (1) Jeżeli wykładnik prywatny ma wartość d i d p = d mod (p 1), d q = d mod (q 1) to operacja prywatna przebiega następujaco: 1. C p = M d p 2. C q = M d q mod p, mod q, 3. C = T 1 C p + T 2 C q mod N, gdzie { { 1 mod p T 1 = 0 mod q, T 2 = 0 mod p 1 mod q. Ataki na RSA p. 20

Atak z generacja błędu podczas CRT (2) Celem ataku jest spowodowanie błędu obliczeń, który zmieni na przykład wartość C q. Otrzymamy zatem podpis Ĉ, który będzie spełniał zależności: Ĉ e = M mod p i Ĉ e M mod q. ) Oznacza to, że gcd(ĉe M,N jest nietrywialnym czynnikiem N. Ataki na RSA p. 21

Podsumowanie Istnieje wiele potencjalnych ataków na algorytm RSA. Przygotowanie bezpiecznej implementacji wymaga dużej wiedzy i doświadczenia. Zła optymalizacja może znacznie pogorszyć bezpieczeństwo implementacji. Ataki na RSA p. 22