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]

3 Dlaczego krzywe eliptyczne ?
Obecnie najpoważniejszy konkurent dla RSA Mniejsza długość klucza przy tym samym poziomie bezpieczeństwa Kryptosystem Długość klucza RSA 512 1024 2048 3072 7680 15360 ECC 112 161 224 256 384

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-79 XII 1997 30 1.7x1012 8 ECC2-89 II 1998 70 1.8x1013 26 ECC2-97 IX 1999 740 1.9x1014 40 ECC2-109 IV 2004 ok 1.6x1016 549 Szacunkowe wartości dla maszyny Pentium 100 Krzywa Data złamania Liczba operacji na krzywych Iteracji na sekundę Czas łamania [dni] ECC2-109 IV 2002 1.6x1016 9000 2.1x107 ECC2-353 1.1x1053 1000 1.3x1045

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

6 1. Krzywe eliptyczne

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

8 Ciało modularne GF(2n) 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

9 Baza wielomianowa (potęgowa)
Reprezentacja wektorów: (1, a, a2, … , an-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

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

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

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)

13 Operacje w bazie normalnej
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 (x2n) – 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

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

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

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

18 2. Algorytm rho Pollarda

19 Algorytm rho-Pollarda
Najlepszy znany obecnie algorytm rozwiązywania ECDLP Algorytm probabilistyczny oparty na błądzeniu przypadkowym Idea – wykrycie kolizji punktów Xk, Xm ckP + dkQ = cmP + dmQ ECDL = (ck – cm)(dk – dm)-1 mod n

20 CYKL Przestrzeń punktów dla algorytmu rho Pollarda

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

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ń

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 !

24 3. Realizacja systemu

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

26 Dodawanie punktów na krzywej
Dodawanie elementów GNB – operacja XOR [1 cykl] Podnoszenie do kwadratu GNB - 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

28 Architektura SoPC (układ DE2-70)
Programowa obsługa stosu TCP/IP (LwIP) 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

30 Wyniki dla różnych platform
Szacownie czasów łamania dla krzywej ECC (złamanej w 1998 r. w 26 dni przez 70 komputerów 500 MHz) Platforma Liczba jednostek Zegar Liczba sumowań Czas łamania Cyclone II EP2C70 5 83,33 MHz 41,67 mln/sek. 9 dni Stratix II EP2S90 7 100 MHz 70 mln/sek. 5 dni Cyclone III EP3C120 8 105 MHz 84 mln/sek. 4 dni Stratix III EP3SL150 10 150 MHz 150 mln/sek. 57 h EP3SL340 26 165 MHz 429 mln/sek. 20 h

31 Wyniki dla zestawu DE2-70 Liczba zestawów 3 7 11 15 19
Liczba jednostek 35 55 75 95 Czas łamania ECC2-89 69 h 30 h 19 h 14 h 11 h

32 Łamanie krzywej ECC2_89

33 Oprogramowanie 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..

34 Host (Ethernet)

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

37 4. Inne systemy łamiące

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

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

40 Łamanie krzywej ECC2K-130

41 Łamanie krzywej ECC2K-130

42


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

Podobne prezentacje


Reklamy Google