Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Implementacja systemu obliczeń rozproszonych w strukturach reprogramowalnych do kryptoanalizy szyfrów opartych na krzywych eliptycznych. Orkiszewski Marcin.

Podobne prezentacje


Prezentacja na temat: "Implementacja systemu obliczeń rozproszonych w strukturach reprogramowalnych do kryptoanalizy szyfrów opartych na krzywych eliptycznych. Orkiszewski Marcin."— Zapis prezentacji:

1 Implementacja systemu obliczeń rozproszonych w strukturach reprogramowalnych do kryptoanalizy szyfrów opartych na krzywych eliptycznych. Orkiszewski Marcin Warszawa

2 Koncepcja projektu Piotr Majkowski – System rozpraszania obliczeń z zastosowaniem w rozwiązywaniu zagadnienia logarytmu dyskretnego na krzywych eliptycznych [praca inżynierska 2006] Piotr Majkowski – Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych [praca magisterska 2008] 2

3 Obecnie najpoważniejszy konkurent dla RSA Mniejsza długość klucza przy tym samym poziomie bezpieczeństwa KryptosystemDługość klucza RSA ECC Dlaczego krzywe eliptyczne ?

4 Status wyzwań z list Certicom Stacja robocza 500 MHz Digital Alpha z systemem Linux Krzywa Data złamania Liczba jednostek liczących Liczba operacji na krzywych Czas łamania [dni] ECC2-79XII x ECC2-89II x ECC2-97 IX x ECC2-109IV 2004ok x Krzywa Data złamania Liczba operacji na krzywych Iteracji na sekundę Czas łamania [dni] ECC2-109IV x x10 7 ECC x x10 45 Szacunkowe wartości dla maszyny Pentium 100 4

5 Obliczenia rozproszone Możliwość zastosowania wielu układów FPGA, jak i zwykłych komputerów klasy PC Wykorzystanie Internetu – np. 5

6 1. Krzywe eliptyczne 6

7 Krzywe eliptyczne nad GF(2 n ) Krzywa eliptyczna E nad ciałem GF(2 n ) jest zdefiniowana przez następujące równanie: y 2 + xy = x 3 + ax 2 + b gdzie a, b GF(2 n ). Ciało GF( 2 n ) – elementami ciała są binarne, n wymiarowe wektory współrzędnych w ustalonej bazie. 7

8 Ciało modularne GF(2 n ) Elementy ciała – wektory m-elementowe, których reprezentacja zależy od wybranej bazy Dodawanie w ciele – operacja XOR między wektorami ciała Mnożenie w ciele – zależy od wybranej bazy 8

9 Baza wielomianowa (potęgowa) Reprezentacja wektorów: (1, a, a 2, …, a n-1 ) Wykorzystywana w implementacjach software Zależy od wielomianu ciała (wiele reprezentacji !) Operacja mnożenia – cykliczne przesuwanie i wykonywanie operacji XOR - redukcja wielomianem ciała 9

10 1. Cykliczna rotacja i operacja XOR Mnożenie w bazie potęgowej (1) 10

11 2. Redukcja wielomianem ciała Mnożenie w bazie potęgowej (2) 11

12 Baza normalna Reprezentacja wektorów Istnieje tylko jeden wielomian ciała (jedna reprezentacja !) Istnieje klasa baz normalnych zwana bazami gaussowskimi (bazy gaussowskie klasy 1 i 2 nazywane są optymalnymi bazami normalnymi) 12

13 Operacje w bazie normalnej 13 Dla baz normalnych można wyznaczyć macierz mnożenia, która jest niezależna od mnożonych elementów. Dla optymalnych baz normalnych macierz mnożenia ma dwie jedynki w każdym wierszu (w pierwszym wierszu jest jedna jedynka) Operacja potęgowania (x 2n ) – rotacja wektora o n pozycji

14 Wykorzystanie baz normalnych Istnienie macierzy mnożenia umożliwia szybkie wyznaczenie wyniku mnożenia w środowisku sprzętowym (zrównoleglenie obliczeń) Potęgowanie jako operacja rotacji w środowisku sprzętowym realizowana jest w jednym cyklu Problem – nie dla wszystkich ciał istnieją optymalne bazy normalne 14

15 Operacje na krzywych eliptycznych Ciało GF(2 n ) – dodawanie Baza – mnożenie, potęgowanie Reprezentacja punktów - operacje na krzywej 15

16 Reprezentacje punktów na krzywej Reprezentacja afiniczna (X, Y) Reprezentacja rzutowa (X, Y, Z) Zależność między reprezentacjami: 16

17 Złożoność operacji na krzywej 17 M – mnożenie, P - potęgowanie, O - odwrotność Wyznaczenie odwrotności jest bardzo czasochłonne

18 2. Algorytm rho Pollarda 18

19 Algorytm rho-Pollarda Najlepszy znany obecnie algorytm rozwiązywania ECDLP Algorytm probabilistyczny oparty na błądzeniu przypadkowym Idea – wykrycie kolizji punktów X k, X m c k P + d k Q = c m P + d m Q ECDL = (c k – c m )(d k – d m ) -1 mod n 19

20 20 Przestrzeń punktów dla algorytmu rho Pollarda CYKL

21 Równoległa wersja rho-Pollarda Liniowy wzrost szybkości w stosunku do użytych procesorów Idea – wykrycie kolizji punktów między dwiema jednostkami błądzącymi DP – punkty wyróżnione 21

22 Zalety algorytmu rho Pollarda Liniowy wzrost szybkości Łatwe wykorzystanie w obliczeniach rozproszonych (model komunikacji klient host) Zapotrzebowanie na pamięć i przepustowość łączy regulowane odpowiednim doborem kryterium Można dołączać nowe jednostki w trakcie obliczeń 22

23 Wybór reprezentacji punktów Kryterium wyróżniające zastosowane w algorytmie rho Pollarda uniemożliwia zastosowanie rzutowej (oraz mieszanej) reprezentacji punktów ! Współrzędne afiniczne zależą od współrzędnej Z. Porównywanie współrzędnych X nie jest jednoznaczne z porównywaniem współrzędnych x ! 23

24 3. Realizacja systemu 24

25 Sprzętowa jednostka łamiąca Dodawanie punktów na krzywej Dodawanie współczynników c, d Porównywanie punktów (kryterium) 25

26 26 Dodawanie punktów na krzywej Dodawanie elementów GNB – operacja XOR [1 cykl] Podnoszenie do kwadratuGNB- rotacja [1 cykl] Mnożenie elementów GNB – macierz mnożenia [1 cykl] Odwracanie elementu GNB – 8 mnożeń, 8 rotacji [8 cykli] Dodawanie punktów na krzywej – 10 mnożeń, 10 rotacji[10 cykli]

27 Realizacja jednostki System on a Programmable Chip – NIOS II (Altera) - system mikroprocesorowy implementowany w układach reprogramowalnych FPGA Programowa implementacja protokołu TCP/IP oraz protokołów warstwy aplikacji Łatwe zarządzanie równolegle pracującymi modułami (pełna skalowalność) Możliwość wykorzystania układu do innych projektów 27

28 28 Programowa obsługa stosu TCP/IP (LwIP) Architektura SoPC (układ DE2-70) 5 jednostek obliczeniowych Sprzętowa obsługa MAC – 100 Mbit/s

29 Platformy uruchomieniowe Wykorzystano platformy: DE2-70-EP2C70N – duże możliwości obliczeniowe DE2-EP2C35N – dodatkowe jednostki 29

30 Wyniki dla różnych platform Szacownie czasów łamania dla krzywej ECC2-89 (złamanej w 1998 r. w 26 dni przez 70 komputerów 500 MHz) 30 Platforma Liczba jednostek ZegarLiczba sumowańCzas łamania Cyclone II EP2C70 583,33 MHz41,67 mln/sek.9 dni Stratix II EP2S MHz70 mln/sek.5 dni Cyclone III EP3C MHz84 mln/sek.4 dni Stratix III EP3SL MHz150 mln/sek.57 h Stratix III EP3SL MHz429 mln/sek.20 h

31 Wyniki dla zestawu DE Liczba zestawów Liczba jednostek Czas łamania ECC h30 h19 h14 h11 h

32 Łamanie krzywej ECC2_89 32

33 Realizacja hosta zbierającego wyniki i rozdzielającego punkty początkowe Implementacja protokołu wymiany danych Stworzenie programowej wersji jednostki łamiącej Stworzenie oprogramowania do generowania baz, wyznaczania macierzy konwersji, testów układu, itp.. 33 Oprogramowanie

34 Host (Ethernet) 34

35 35 Programowa jednostka łamiąca

36 Dalszy rozwój Uruchomienie systemu na większej liczbie jednostek sprzętowych oraz komputerach klasy PC Dalsza optymalizacja sprzętowej jednostki obliczeniowej, m.in. prace nad współdzieleniem zasobów przez jednostki łamiące. Łamanie kolejnych krzywych z listy Certicom 36

37 4. Inne systemy łamiące 37

38 Copacobana 120 układów FPGA (Spartan-3) Łamanie krzywej ECC2-89 nad GF(p) – 119 godzin 38

39 Łamanie krzywej 112 bitowej nad GF(p) konsol PlayStation 3

40 Łamanie krzywej ECC2K

41 41 Łamanie krzywej ECC2K-130

42 42


Pobierz ppt "Implementacja systemu obliczeń rozproszonych w strukturach reprogramowalnych do kryptoanalizy szyfrów opartych na krzywych eliptycznych. Orkiszewski Marcin."

Podobne prezentacje


Reklamy Google