1 / 42

Orkiszewski Marcin

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

moana
Download Presentation

Orkiszewski Marcin

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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

  4. Status wyzwań z list Certicom • Stacja robocza 500 MHz Digital Alpha z systemem Linux • Szacunkowe wartości dla maszyny Pentium 100

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

  6. 1. Krzywe eliptyczne

  7. Krzywe eliptyczne nad GF(2n) Krzywa eliptycznaE nad ciałem GF(2n) jest zdefiniowana przez następujące równanie: y2 + xy = x3 + ax2 + b gdzie a, b GF(2n). CiałoGF( 2n) – elementami ciała są binarne, nwymiarowe 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 rhoPollarda

  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 rhoPollardauniemoż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 ECC2-89(złamanej w 1998 r. w 26 dni przez 70 komputerów 500 MHz)

  31. Wyniki dla zestawu DE2-70

  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 • http://www.ecc-challenge.info/

  41. Łamanie krzywej ECC2K-130

More Related