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

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Znaki informacyjne.
Wzór w notacji nawiasowej: a*(d*i*(k*o-l*n)-e*h*(k*o-l*n))+f*i*j*n
Wprowadzenie do informatyki Wykład 6
Obserwowalność System ciągły System dyskretny
Algorytmy – różne przykłady
WYKŁAD 6 ATOM WODORU W MECHANICE KWANTOWEJ (równanie Schrődingera dla atomu wodoru, separacja zmiennych, stan podstawowy 1s, stany wzbudzone 2s i 2p,
Ludwik Antal - Numeryczna analiza pól elektromagnetycznych –W10
Liczby pierwsze.
Domy Na Wodzie - metoda na wlasne M
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
Materiały pochodzą z Platformy Edukacyjnej Portalu
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Zadanie do wykonania Przepływ ciepła na kwadratowej płytce – Muscle
PROJEKTOWANIE PROCESÓW TECHNOLOGICZNYCH
Ksantypa2: Architektura
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Przykładowe zastosowania równania Bernoulliego i równania ciągłości przepływu 1. Pomiar ciśnienia Oznaczając S - punkt spiętrzenia (stagnacji) strugi v=0,
Klasyfikacja systemów
Transformacja Z (13.6).
Ochrona danych wykład 3.
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- V Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat a.
Pytania konkursowe.
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Wyrażenia algebraiczne
Wskazówki konkursowe.
Podstawy adresowania hostów w sieciach komputerowych
Plan prezentacji Zarys projektu Geneza tematu
Montaż kominka wentylacyjnego Technologia Szybki Syntan SBS
KOLEKTOR ZASOBNIK 2 ZASOBNIK 1 POMPA P2 POMPA P1 30°C Zasada działanie instalacji solarnej.
Podstawy działania wybranych usług sieciowych
ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL)
Analiza wpływu regulatora na jakość regulacji (1)
Wskazówki konkursowe.
Dekompozycja Kalmana systemów niesterowalnych i nieobserwowalnych
A-priori Partition Mateusz Mor, Kasper Rzepecki, Daniel Mendalka, Michał Samsonowski.
Wykład 22 Modele dyskretne obiektów.
MATURA 2007 raport ZESPÓŁ SZKÓŁ I PLACÓWEK KSZTAŁCENIA ZAWODOWEGO.
1. Pomyśl sobie liczbę dwucyfrową (Na przykład: 62)
1. ŁATWOŚĆ ZADANIA (umiejętności) 2. ŁATWOŚĆ ZESTAWU ZADAŃ (ARKUSZA)
Obserwowalność i odtwarzalność
Sterowanie – metody alokacji biegunów II
  Prof.. dr hab.. Janusz A. Dobrowolski Instytut Systemów Elektronicznych, Politechnika Warszawska.
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VII Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat.
-17 Oczekiwania gospodarcze – Europa Wrzesień 2013 Wskaźnik > +20 Wskaźnik 0 a +20 Wskaźnik 0 a -20 Wskaźnik < -20 Unia Europejska ogółem: +6 Wskaźnik.
(C) Jarosław Jabłonka, ATH, 5 kwietnia kwietnia 2017
EcoCondens Kompakt BBK 7-22 E.
EcoCondens BBS 2,9-28 E.
W2 Modelowanie fenomenologiczne I
Ekonometryczne modele nieliniowe
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
WYNIKI EGZAMINU MATURALNEGO W ZESPOLE SZKÓŁ TECHNICZNYCH
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
Testogranie TESTOGRANIE Bogdana Berezy.
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VI Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat a.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
dr Zofia Skrzypczak Wydział Zarządzania UW
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Działania w systemie binarnym
Kalendarz 2020.
Współrzędnościowe maszyny pomiarowe
ANKIETA ZOSTAŁA PRZEPROWADZONA WŚRÓD UCZNIÓW GIMNAZJUM ZPO W BORONOWIE.
Elementy geometryczne i relacje
Strategia pomiaru.
PODSTAWY SIECI KOMPUTEROWYCH - MODEL ISO/OSI. Modele warstwowe a sieci komputerowe Modele sieciowe to schematy funkcjonowania, które ułatwią zrozumienie.
Zapis prezentacji:

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

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]

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

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

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

1. Krzywe eliptyczne

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.

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

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

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

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

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)

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

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

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

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

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

2. Algorytm rho Pollarda

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

CYKL Przestrzeń punktów dla algorytmu rho Pollarda

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

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ń

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 !

3. Realizacja systemu

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

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]

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

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

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

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

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

Łamanie krzywej ECC2_89

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

Host (Ethernet)

Programowa jednostka łamiąca

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

4. Inne systemy łamiące

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

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

Łamanie krzywej ECC2K-130 http://www.ecc-challenge.info/

Łamanie krzywej ECC2K-130