Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych

Podobne dokumenty
Piotr Majkowski. Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji

ROZPROSZONY SYSTEM DO KRYPTOANALIZY SZYFRÓW OPARTYCH NA KRZYWYCH ELIPTYCZNYCH

Ź ź Ą Ą Ż Ą Ą

ą Ł ż ż Ś

Ó ż ż Ść ż ż ć ż ż Ś Ść Ó

Ą ć ź ć

Ż Ż ć Ż Ż ć Ż Ż Ó ć Ż Ś

Ą Ź ć ć Ó Ó Ć Ć Ś

Ś Ż Ó Ś ż Ó ć ź ż ż Ą

Ó Ł Ę ź ź ź ć Ó ć

Ą Ó Ś ź Ś

ć ć ź ć ć ć Ść ć ź ź ź ć ź Ą ź

Ś ż Ś ć Ś ż Ą ż Ś Ż ż Ż ć ż ż Ż Ż Ś Ś Ś Ś

Ł ż

Ś ć ż ż ć Ś ż ż ź ż ż ż ż

Application of SPME/GC-MS for determination of chlorophenoxy herbicide residues within weed tissues. W: Chemistry for Agriculture 7. (H. Górecki, Z. Dobrzański, P. Kafarski, red.). wyd. CZECH-POL-TRADE, Prague-Brussels, pp (ISBN: ).

ą ó ą Ó ą ą ą

ć Ś Ś Ść

ź Ś Ó Ó Ż

ż ż ż ż Ź ż Ą ż ż ż Ś

Ś

Ł Ó Ó Ó Ł Ó Ó Ł Ł Ó Ą Ć Ó Ą ć Ó ć ć

Ó Ś Ś ć

C e l e m c z ę ś c i d y s k u s y j n e j j e s t u ś w i a d o m i e n i e s o b i e, w o p a r c i u o r o z w a ż a n i a P i s m a Ś w.

ź Ą Ę Ę ć Ł ć ć ć ć ć ć ć

Ł ż Ó Ó ć Ó Ć

ć ć Ł ć Ź ć Ł ź ć Ś ć ć Ż Ł Ż ć ż ć

Ź ć Ż ć ć Ó

Ł Ą Ą Ń Ą Ó

Ą Ą Ż ć Ż ć Ń Ą

ć Ę ż Ł ź ż ź Ś Ś ź ć Ć ż Ś ż Ś

ć

ć ć Ą ć Ęć Ó Ą ź ć ć ć ć ź ź Ą ć Ę ć ź ć ć ć ź ć ź ć ć ć Ś Ź ź

Ą Ł ć Ę ć Ę ć

ż ć

Krzyżanowski R – Zastosowanie metody mikroekstrakcji SPME w analizie pozostałości pestycydów. [W:] Badania naukowe w świetle uwarunkowań turbulentnego otoczenia – Gospodarka-Świat-Człowiek (red. Joanna Nowakowska-Grunt, Judyta Kabus). Wydawnictwo Naukowe Sophia, Katowice, pp (ISBN: ).

Ł Ą ź ź Ż ź Ź Ó Ó ź Ł

ż ż Ś Ą Ł ć Ś ź ź ć

Ć ć ć Ś ć

ć ć ć Ó ć Ó ć Ę ć Ł ć Ś ć Ę ć Ą ć ć ć ć ć ć ć

ż ć

Ż Ś

ć ć ć ć ć Ł

Ł Ł Ł Ś

Ł Ą Ż Ą Ż Ż ź

Ó Ż Ó ź Ć

Ó ń ć ń Ą Ó Ą ń

ś Ż

ż ż ż ń ń Ł ń ń ż Ż ń ż ń Ż Ż

ź Ż ź Ź Ą ć ć

ć ź

Ś Ó Ś Ó Ść

Ś Ś Ó Ś Ó Ó Ść ć Ó ć

ź Ś ź

ż Ł Ł Ł Ł


Ą Ź Ź Ź Ł ż Ą ż ż

Ł Ś

ć Ś ŚĆ

ć Ć Ś ć Ć ć ć ć Ć

Algorytmy dla maszyny PRAM

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 6

Parametry systemów klucza publicznego

Ś Ó Ó Ś ż Ś Ó Ś ŚÓ Ó

Ó Ś

ż Ś ż ż ć ć Ś Ź Ą

Ż Ż

ć ć Ść ć Ść ć ć ć ć

Ź

ŁĄ Ł

ż ó ś Ą ć ó ó ó ś ś ś ó ś Ł ś

Ż Ą ź ź ź ź

Ź Ę ć ź

ć Ę

Ą ź Ą Ą Ś Ó Ą

ż ć Ń Ł Ż Ść Ść ć Ż Ść Ż ć ć Ż ź Ś ć ć Ó ć ć Ść

ć

ć ć Ę Ó Ś ż ż Ś ż ż ż Ęć ż ć ć ż ż

ź Ś ć ć

ć

Ż Ś ś Ę Ż

Ż Ę Ę Ę Ę Ę Ź Ż

Ó Ó Ę ź

Ł ć Ą ć ć ć ć ć Ł

Ś

ź Ą Ę ź Ć

Ł Ż

Ł Ś Ś Ń Ń

ń ń ń ż ć Ł ż ż ń ż Ą ń Ż ż

ż ż Ę Ę Ą Ó

Ś Ś ŁĄ ż ć ć

Ę Ł Ź Ł

Ę ż ć ŁĄ

Ń ź ź ź ź Ś ź ź Ś ź

ć Ś

Ł ź ź ź

ć

ń ń

Ś ź Ś Ś

Ł Ś Ś Ó ń

Transkrypt:

Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych Autor: Piotr Majkowski Pod opieką: prof. Zbigniew Kotulski Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji

Opis prezentacji TŁO CEL WYMAGANIA METODA OSIĄGNIĘCIA WYZWANIA

TŁO System rozpraszania obliczeń z zastosowaniem w rozwiązywaniu zagadnienia logarytmu dyskretnego na krzywych eliptycznych Piotr Majkowski Praca inżynierska pod opieką: prof Zbigniewa Kotulskiego

Cechy stworzonego systemu Niezależność od przeprowadzanych obliczeń. Niezależność od technologii przesyłania danych. Niezależność od środowiska systemowego. Skalowalność. Umożliwienie dynamicznych zmian liczby klientów obliczeniowych niezauważalnie dla algorytmu obliczeniowego

Wyniki implementacji Implementacja systemu w języku C Biblioteka krzywych eliptycznych oparta na MIRACL Obliczenia przeprowadzono: Sieć lokalna (Windows i Unix / Socket i MPI). Internet (Windows i Linux / Socket). Klaster w ICM (Linux / MPI)

Heterogeniczny system obliczeniowy W a r s t w a s e r w e r a g ł ó w n e g o S e r w e r S O C K E T S O C K E T S O C K E T W a r s t w a p o ś r e d n i c z ą c a U S B M P I S O C K E T W a r s t w a o b l i c z e n i o w a P ł y t y z u k ł a d a m i F P G A K l a s t e r S i e ć l o k a l n a

Wyzwanie Certicom ECC Challenge http://www.certicom.com 0 lat temu krzywą ECC 89 złamano za pośrednictwem 70 komputerów w ok. 6 dni

Układ HardRho S U M A T O R M O D U L O K O M P A R A T O R ( F U N K C J A W Y R Ó Ż N I A J Ą C A ) D O R E J E S T R U F I F O L I C Z B Y P U N K T R O M D A N E A D R E S S U M A T O R P U N K T Ó W H O L D D A T A V A L I D

Wyniki implementacji Układ EPS60F00C4 z rodziny Stratix II (Altera) Wykorzystane komórki logiczne: 96 7593 Całkowite zużycie zasobów: 0% 58% Częstotliwość zegara: 38 MHz 6 MHz Efektywność obliczeń:.5 mln iter/sec 3,6 mln iter/sec

Porównanie z Certicom Stacja Alpha 500 Mhz > 87 tysięcy iter/sec Hard Rho 6 MHz > 3600 tysięcy iter/sec Stosunek: HardRho/Alpha 69 Szacowana długość obliczeń to około 8 dni.

RUC 007 Realizacja jednostki wspomagającej kryptoanalizę szyfrów opartych na krzywych eliptycznych w strukturach reprogramowalnych ENIGMA 007 System sprzętowo programowy do rozproszonej kryptoanalizy szyfrów opartych na krzywych eliptycznych Piotr Majkowski, Tomasz Wojciechowski, Maciej Wojtyński, Mariusz Rawski

CEL Generacja kodu w VHDL układu HardRho dla dowolnego ciała Wykorzystanie szybkiej arytmetyki w ciele GF( n ) z zastosowaniem baz normalnych Uogólnienie rozwiązanie dla baz gausowskich Zapewnienie metody wymiany danych z systemami opartymi nie na ONB

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

Bazy Baza potęgowa,,, 3, 4,..., n Baza normalna,, 4, 8,..., n

Operacje w ONB Dodawanie Podnoszenie do kwadratu XOR po wszystkich współrzędnych Cykliczna rotacja Mnożenie Za pomocą macierzy mnożenia

Mnożenie w ONB X X

Mnożenie w ONB architektura szeregowa X X

Mnożenie w ONB architektura równoległa X X X X X X X X

Biblioteka ciała skończonego Sprawdzanie występowania bazy dla (m, T) Obliczanie macierzy mnożenia Arytmetyka w ciele Gailos z wykorzystaniem baz normalnych Obliczanie wielomianu pierwotnego Obliczanie macierzy konwersji Import/Eksport pomiędzy bazami

Dodawanie punktów na krzywej Dodawanie punktów na krzywej eliptycznej eliptycznej 3 0 0 3 0 0 0 3 0 0 0 0 L V + X T Y W + R T + Z a X Z + R T Z L Z Y L + X R V W Z L S + S R Z Y S U + U W Z X U Z Y S Z X U

Dodawanie punktów na krzywej Dodawanie punktów na krzywej eliptycznej eliptycznej 3 0 0 3 0 0 0 3 0 0 0 0 L V + X T Y W + R T + Z a X Z + R T Z L Z Y L + X R V W Z L S + S R Z Y S U + U W Z X U Z Y S Z X U

Algorytm rho Pollarda Najlepszy znany obecnie algorytm rozwiązywania ECDLP Algorytm probabilistyczny oparty na błądzeniu przypadkowym Istnieje wersja równoległa Zapotrzebowanie na pamięć można ograniczać Y X 3 4

Algorytm rho - komponenty Funkcja błądzenia przypadkowego Bieżący punkt X Funkcja pozycjonująca H() Tablice a[], b[], R[] Kryterium wyróżniające

Równoległy algorytm rho Y X 3 4 Wspólne dla procesorów: funkcja błądzenia tablice a[6], b[6], R[6] kryterium wyróżnialności Unikalne dla procesorów: punkt startowy

Algorytm rho Każdy z procesorów wykonuje a) Wybierz losowo c' oraz d' z [0, n-] b) Oblicz X' c'p + d'q c) Wykonuj aż do napotkania kolizji * Jeśli X' spełnia warunek wyróżnienia to wyślij (c', d', X') do serwera * Oblicz j H(X') * X X + R j * c c + a j (mod n); d d + b j (mod n)

Biblioteka krzywych i rho Przeprowadzanie operacji dodawania na krzywych eliptycznych Równoległa wersja algorytmu rho Pollarda

Układ HardRho S U M A T O R M O D U L O K O M P A R A T O R ( F U N K C J A W Y R Ó Ż N I A J Ą C A ) D O R E J E S T R U F I F O L I C Z B Y P U N K T R O M D A N E A D R E S S U M A T O R P U N K T Ó W H O L D D A T A V A L I D

Generator kodu VHDL Generacja równań mnożenia w oparciu o znalezioną macierz mnożenia Generacja sumatora punktów na krzywej Generacja pełnego układu HardRho

Plan pracy () I. Wstęp I.. Cel pracy i wymagania I.. Opis pracy

Plan pracy () II. Ciało skończone charakterystyki II II.. Wstęp II.. Bazy potęgowe II.3. Bazy normalne II.4. Istnienie i występowanie baz normalnych II.5. Mnożenie w bazach normalnych II.6. Konwersje pomiędzy bazami

Plan pracy (3) III. Krzywe eliptyczne III.. Wstęp III.. Definicja krzywej eliptycznej III.3. Postać normalna krzywej III.4. Działania grupowe III.5. Reprezentacja punktów III.6. Obliczanie wielokrotności punktu III.7. Rząd krzywej III.8. Generacja silnych krzywych III.9. Zagadnienie ECDLP

Plan pracy (4) IV. Algorytm rho Pollarda IV.. Główna idea algorytmu IV.. Wersja sekwencyjna IV.3. Wersja równoległa

Plan pracy (5) V. Biblioteka ciała skończonego V.. mathutils V.. polyingnb V.3. gnb V.4. curves V.3. rho

Plan pracy (6) V. Generator kodu VHDL * Opis funkcji generujących * Wyniki implementacji * Zakres stosowalności rozwiązania VI. Podsumowanie * Plany na przyszłość

Plany na przyszłość Prace na zwielokrotnieniem Przeprowadzenie obliczeń Podłączenie układów FPGA do Systemu Rozproszonych Obliczeń

Dziękuję za uwagę