Kryptografia na procesorach wielordzeniowych

Podobne dokumenty
Kryptografia na procesorach wielordzeniowych

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Parametry systemów klucza publicznego

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

2 Kryptografia: algorytmy symetryczne

Szyfry Strumieniowe. Zastosowanie wybranych rozwiąza. zań ECRYPT do zabezpieczenia komunikacji w sieci Ethernet. Opiekun: prof.

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Szyfrowanie informacji

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Estymacja kosztów łamania systemu kryptograficznego

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Zarys algorytmów kryptograficznych

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA

Ataki na algorytm RSA

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Algorytmy i struktury danych. Wykład 4

Marcin Szeliga Dane

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Szyfry przestawieniowe

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

Wprowadzenie do zagadnień bezpieczeńśtwa i kryptografii

Authenticated Encryption

Bezpieczeństwo systemów komputerowych

Spis treści. Przedmowa... 9

1.1. Standard szyfrowania DES

Zastosowania informatyki w gospodarce Wykład 5

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 9

LICZBY PIERWSZE. 14 marzec Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F.

Szybka transformata Fouriera w kryptografii klucza publicznego

Wprowadzenie ciag dalszy

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Kryptologia przykład metody RSA

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Elementy kryptografii

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7

Wybrane zagadnienia teorii liczb

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Przewodnik użytkownika

Algorytmy asymetryczne

Luty 2001 Algorytmy (7) 2000/2001

Szyfrowanie RSA (Podróż do krainy kryptografii)

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.

Bezpieczeństwo w Internecie

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.

Generowanie ciągów bitów losowych z wykorzystaniem sygnałów pochodzących z komputera

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie

Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz

Estymacja kosztów łamania systemu kryptograficznego

Bezpieczeństwo systemów komputerowych

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

Haszowanie. dr inż. Urszula Gałązka

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna

Laboratorium Programowania Kart Elektronicznych

Nowości w kryptografii

Informatyka na WPPT. prof. dr hab. Jacek Cichoń dr inż. Marek Klonowski

n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

bity kwantowe zastosowania stanów splątanych

Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki

Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Bezpieczeństwo danych, zabezpieczanie safety, security

Szyfry kaskadowe. Szyfry kaskadowe

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania

Bezpieczna poczta i PGP

P O L I T E C H N I K A S Z C Z E C IŃSKA W Y D Z I A Ł I N F O R M A T Y K I

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Bezpieczeństwo sieci bezprzewodowych

Algorytmy w teorii liczb

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

Zadanie domowe nr Odczytać zaszyfrowaną wiadomość (liczbę) jeżeli:

Szyfry kaskadowe. permutacyjnej (SPP).

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp.

Architektura mikroprocesorów TEO 2009/2010

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

Matematyka dyskretna

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

Przykładowe zadania z teorii liczb

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Programowanie z wykorzystaniem technologii CUDA i OpenCL Wykład 1

Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej

Architektury akceleratorów kryptograficznych opartych o układy programowalne. Marcin Rogawski

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić?

LUBELSKA PRÓBA PRZED MATURĄ 2018 poziom podstawowy

Architektura Bezpieczeństwa dla Systemu ROVERS. Artur Skrajnowski Opiekun: dr inż. Jarosław Domaszewicz Współpraca: prof. dr hab.

Transkrypt:

Kryptografia na procesorach wielordzeniowych Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Kryptografia na procesorach wielordzeniowych p. 1

Plan prezentacji Wprowadzenie Algorytmy asymetryczne Algorytmy symetryczne i tryby szyfrowania Narzędzia wspierajace implementację algorytmów równoległych Podsumowanie Kryptografia na procesorach wielordzeniowych p. 2

Czy równoległość jest potrzebna? Światowe zapotrzebowanie szacuję na około pięć komputerów Thomas Watson (1943) 640 kilobajtów powinno każdemu wystarczyć. Bill Gates (1981) Kryptografia na procesorach wielordzeniowych p. 3

Gdzie można stosować równoległość? Procesory wielordzeniowe. Procesory i mikrokontrolery obsługujace instrukcje typu SIMD (Single Instruction Multiple Data). Układy programowalne FPGA. Klastry. Kryptografia na procesorach wielordzeniowych p. 4

Co nam to daje? Zasadniczym celem implementacji algorytmów równoległych jest zwiększenie szybkości przetwarzania danych. Lepsze wykorzystanie sprzętu: większa szybkość przetwarzania, mniejsze koszty infrastruktury. Utrzymanie dotychczasowej wydajności przy mniejszym poborze mocy: mniejsze rachunki za prad. Kryptografia na procesorach wielordzeniowych p. 5

Generowanie kluczy RSA Aby wygenerować klucz RSA wykonujemy następujace kroki: 1. znajdujemy dwie liczby pierwsze p i q, 2. wyznaczamy n = pq oraz liczby e i d takie, że ed 1 mod (p 1)(q 1). Po wygenerowaniu liczb możemy przyjać, że pary (e,n) i (d,n) stanowia odpowiednio klucz publiczny i prywatny. Kryptografia na procesorach wielordzeniowych p. 6

Szyfrowanie RSA Zaszyfrowanie wiadomości x polega wtedy na wykorzystaniu klucza publicznego (e, n) i wyznaczeniu liczby c x e mod n. Do zdeszyfrowania wiadomości potrzebujemy klucza prywatnego (d, n), który pozwala na odtworzenie przesłanej wiadomości c d (x e ) d x ed x mod n. Kryptografia na procesorach wielordzeniowych p. 7

Zrównoleglone szyfrowanie RSA (1) Zrównoleglenie potęgowania przy użyciu wykładnika d jest możliwe jeżeli tylko zastosujemy inna postać klucza prywatnego. Jeśli zapiszemy go w postaci (p,q,d p 1,d q 1 ), gdzie d p 1 d mod p 1, d q 1 d mod q 1, to zasadnicza część obliczeń będziemy mogli wykonać w dwóch oddzielnych watkach. Kryptografia na procesorach wielordzeniowych p. 8

Zrównoleglone szyfrowanie RSA (2) Algorytm: P1 wyznaczamy x p c d p 1 mod p, P2 wyznaczamy x q c d q 1 mod q, P1 wykorzystujac twierdzenie chińskie o resztach znajdujemy takie x, że { x x p c d p 1 modp, x x q c d q 1 modq. Kryptografia na procesorach wielordzeniowych p. 9

Podwajanie punktu krzywej eliptycznej (1) Załóżmy, że mamy dany punkt P 1 = (X 1,Y 1,Z 1,X 2 1,Z 2 1,Z 4 1) i chcemy znaleźć jego podwojenie w postaci P 3 = (X 3,Y 3,Z 3,X 2 3,Z 2 3,Z 4 3) jeżeli kolejnym działaniem będzie również podwojenie, P 3 = (X 3,Y 3,Z 3,X 2 3,Z 2 3,Z 3 3) jeżeli kolejnym działaniem będzie dodawanie. Kryptografia na procesorach wielordzeniowych p. 10

Podwajanie punktu krzywej eliptycznej (2) Kolejne współrzędne punktu P 3 sa postaci gdzie X 3 = α 2 2β, Y 3 = α(β X 3 ) 8Y1 4, Z 3 = (Y 1 + Z 1 ) 2 Y1 2 Z1, 2 α = 3(X1 2 Z1), 4 β = 2 ( ) (X 1 + Y1 2 ) 2 X1 2 Y1 4. Kryptografia na procesorach wielordzeniowych p. 11

Podwajanie punktu krzywej eliptycznej (3) Kolejne etapy obliczeń rozdzielone pomiędzy 3 procesory Procesor P1 Procesor P2 Procesor P3 α 2 (Y 1 + Z 1 ) 2 Y1 2 Y1 4 Z3 2 (X 1 + Y1 2 ) 2 X3 2 α (β X 3 ) Z3 3 lub Z3 4 Kryptografia na procesorach wielordzeniowych p. 12

Dodawanie punktu w postaci afinicznej (1) Załóżmy, że mamy dane punkty P 1 = (X 1,Y 1,Z 1,X1,Z 2 1,Z 2 1), 3 P 2 = (X 2,Y 2 ) i chcemy znaleźć ich sumę postaci P 3 = (X 3,Y 3,Z 3,X3 2,Z2 3,Z4 3 ). Kryptografia na procesorach wielordzeniowych p. 13

Dodawanie punktu w postaci afinicznej (2) Kolejne współrzędne punktu P 3 sa postaci gdzie X 3 = α 2 4β 3 8X 1 β 2, Y 3 = α(4x 1 β 2 X 3 ) 8Y 1 β 3, Z 3 = (Z 1 + β) 2 Z 2 1 β 2, α = 2(Z 3 1Y 2 Y 1 ), β = Z 2 1X 2 X 1. Kryptografia na procesorach wielordzeniowych p. 14

Dodawanie punktu w postaci afinicznej (3) Kolejne etapy obliczeń rozdzielone pomiędzy 3 procesory Procesor P1 Procesor P2 Procesor P3 Z1 3 Y 2 Z1 2 X 2 α 2 (Z 1 + β) 2 β 2 4X 1 β 2 4β β 2β Y 1 X3 2 Z3 2 4Y 1 β 2β 2 α (4X 1 β 2 X 3 ) Z3 4 Kryptografia na procesorach wielordzeniowych p. 15

Krotność punktu i potęgowanie (1) Załóżmy, że interesuje nas podniesienie pewnej losowej liczby do potęgi k, która ma n bitów k = n 1 i=0 k i 2 i. Aby rozdzielić skorzystamy z następujacego prostego faktu. Jeżeli k = r + s, to x k = x r x s. Kryptografia na procesorach wielordzeniowych p. 16

Krotność punktu i potęgowanie (2) Algorytm: P1 wyznaczamy x r = x r, P2 wyznaczamy x s = x s, P1 wyznaczamy y = x r x s. Kryptografia na procesorach wielordzeniowych p. 17

Krotność punktu i potęgowanie (3) Okazuje się, że jeśli odpowiednio dobierzemy indeks m, to liczby r = s = m 1 i=0 n 1 i=m k i 2 i, k i 2 i, pozwola nam na szybsze wykonanie potęgowania. Kryptografia na procesorach wielordzeniowych p. 18

Krotność punktu i potęgowanie (4) Załóżmy, że mnożenie modularne jest β razy wolniejsze od kwadratowania, a niezerowy bit w reprezentacji liczby k pojawia się z prawdopodobieństwem α. T r = αβm + m = αβ(n m) + n = T s m(1 + 2αβ) = n(1 + αβ) m = n 1 + αβ 1 + 2αβ. Kryptografia na procesorach wielordzeniowych p. 19

Algorytmy symetryczne i tryby szyfrowania Możliwość zrównoleglenia algorytmu symetrycznego jest ściśle uzależniona od trybu pracy tego szyfru. ECB (Electronic Code Book), CBC (Cipher Block Chaining), OFB (Output Feedback), CFB (Cipher Feedback), CTR (Counter), GCM (Galois Counter Mode). Kryptografia na procesorach wielordzeniowych p. 20

Schemat trybu GCM Kryptografia na procesorach wielordzeniowych p. 21

Narzędzia wspierajace implementację Biblioteka POSIX threads standardowy interfejs obsługujacy przetwarzanie wielowatkowe. Przemysłowy standard OpenMP zestaw dyrektyw preprocesora, których głównym zadaniem jest zrównoleglanie pętli. Biblioteki Intel Ct zestaw bibliotek, których zadaniem jest udostępnianie mechanizmów wspierajacych programowanie równoległe. Kryptografia na procesorach wielordzeniowych p. 22

Podsumowanie Idea programowania równoległego wraca znowu do łask po kilkunastu latach nieobecności. Zmiany, które nadchodza, z cała pewnościa nie omina również implemetnacji mechanizmów kryptograficznych. Kryptografia na procesorach wielordzeniowych p. 23