GENERACJA I IMPLEMENTACJA KRYPTOGRAFICZNIE SILNYCH KRZYWYCH ELIPTYCZNYCH GENERATION AND IMPLEMENTATION OF CRYPTOGRAPHICALLY STRONG ELLIPTIC CURVES
|
|
- Kamil Nowak
- 7 lat temu
- Przeglądów:
Transkrypt
1 Przemysław Dąbrowski Rafał Gliwa Janusz Szmidt Robert Wicik Wojskowy Instytut Łączności Warszawska 22A Zegrze Południowe p.dabrowski, r.gliwa, j.szmidt, września 2016 r. GENERACJA I IMPLEMENTACJA KRYPTOGRAFICZNIE SILNYCH KRZYWYCH ELIPTYCZNYCH GENERATION AND IMPLEMENTATION OF CRYPTOGRAPHICALLY STRONG ELLIPTIC CURVES Streszczenie: Krzywe eliptyczne nad ciałami skończonymi stanowia istotna część kryptografii klucza publicznego. Bezpieczeństwo kryptosytemów z krzywymi eliptycznymi oparte jest na trudności obliczeniowej problemu logarytmu dyskretnego w grupie punktów na krzywej eliptycznej. W pracy przedstawione sa wymagania nakładane na kryptograficznie silne krzywe eliptyczne, uzasadnienie tych wymagań oraz przykłady wygenerowanych takich krzywych. Zaimplementowano arytmetykę modularna w ciałach skończonych, operacje na krzywych oraz podstawowe protokoły kryptograficzne wykorzystujace krzywe eliptyczne. Abstract: The elliptic curves over finite fields are an essential part of the public key cryptography. The security of cryptosytems with elliptic curves is based on the computational intractability of the Elliptic Curve Discrete Logaritm Problem (ECDLP). The paper presents requirements which cryptographically secure elliptic curves have to satisfy, together with their justification and some examples of elliptic curves which have been generated. The modular arithmetic in finite fields, the operations on elliptic curves and the basic cryptographic protocols have been implemented. Słowa kluczowe: kryptografia krzywych eliptycznych, arytmetyka modularna, protokół Diffie-Hellmana uzgadniania kluczy, podpis elektroniczny ECDSA. Keywords: elliptic curve cryptography, modular arithmetic, Diffie-Hellman key agreement, digital signature ECDSA. 1. WSTEP Krzywe eliptyczne (EC Elliptic Curves) są szeroko stosowane w kryptografii klucza publicznego, w szczególności w protokołach uzgadniania klucza, w podpisach cyfrowych i w generatorach pseudolosowych. Krzywa eliptyczna nad ciałem skończonym stanowi grupę skończoną z odpowiednio określonym działaniem dodawania elementów tej grupy (punktów na krzywej eliptycznej) i elementem neutralnym grupy. Kryptografia krzywych eliptycznych (ECC) ma przewagę nad kryptosystemem klucza publicznego RSA, ponieważ ma porównywalny poziom bezpieczeństwa osiągany przy znacznie krótszym kluczu (ośmiokrotnie) w porównaniu do długości kluczy wymaganych dla RSA. Związane jest to z trudnością obliczeniową problemu logarytmu dyskretnego w grupie punktów na krzywej eliptycznej w porównaniu do trudności obliczeniowej problemu faktoryzacji, na którym opiera się bezpieczeństwo kryptosytemu RSA. Na przykład, dla zapewnienia bezpieczeństwa na poziomie 128 długości klucza w kryptografii symetrycznej, w kryptosystemie RSA należy stosować klucze o długości 3072, a krzywe eliptyczne wymagają wtedy kluczy o długości 256. Tabela 1 [11] podaje odpowiadające długości kluczy kryptograficznych w bitach przy zachowaniu porównywalnego poziomu bezpieczeństwa. Tab. 1. Długość kluczy kryptograficznych Algorytmy symetryczne RSA Krzywe eliptyczne Istnieje wiele standardów rekomendowanych krzywych eliptycznych [1, 2, 3, 11]. W naszych badaniach zastosowaliśmy standard europejski Brainpool [3], ponieważ zaleca on największą liczbę warunków, które powinny spełniać krzywe eliptyczne nad ciałami F p, gdzie p jest odpowiednio wybraną liczbą pierwszą oraz standard ten podaje pewne wytyczne jak generować własne krzywe eliptyczne. Celem tej pracy jest przedstawienie metod jakie zastosowaliśmy w celu wygenerowania własnych bezpiecznych kryptograficznie krzywych eliptycznych nad ciałami prostymi wraz z podaniem przykładowych krzywych spełniających przyjęte warunki odporności na ataki kryptoanalityczne. Własne krzywe eliptyczne są wymagane do ochrony informacji niejawnej o klauzuli wyższej od zastrzeżone. Przedstawiony jest także opis implementacji arytmetyki modularnej w ciałach prostych F p, gdzie p to duża liczba pierwsza oraz opis wykonanej implementacji arytmetyki w grupie punktów krzywej eliptycznej E(F p ). Własna implementacja pozwala na certyfikację systemów ochrony informacji niejawnej o wysokich klauzulach tajności. Efektywna implementacja arytmetyki modularnej wymaga zastosowania specjalnych algorytmów dla redukcji modularnej. W pracy zaimplementowano trzy algorytmy mnożenia z redukcją modularną: algorytm klasyczny oraz algorytmy Barrett a i Mongomery ego. Następnie arytmetyka modularna w ciele F p zastosowana jest do implementacji operacji arytmetycznych w grupie punktów na wybranej krzywej eliptycznej. Działania na punktach krzywej wykonane są w reprezentacji afinicznej i w reprezentacji rzutowej tych punktów oraz porównana 1
2 jest efektywność implementacji w zależności od wybranej reprezentacji punktów. Praca zorganizowana jest w następujący sposób. Paragraf 2 przedstawia opis ciał skończonych i krzywych eliptycznych nad tymi ciałami. W Paragrafie 3 opisane są metody generacji kryptograficznie silnych krzywych eliptycznych wraz z uzasadnieniem warunków nakładanych na te krzywe. Paragraf 4 zawiera opis implementacji arytmetyki krzywych eliptycznych oraz wyniki pomiaru efektywności wykonanych implementacji. Podane są także w Dodatkach przykłady wygenerowanych krzywych eliptycznych. 2. KRZYWE ELIPTYCZNE NAD CIAŁAMI SKOŃCZONYMI Niech p > 3 będzie liczbą pierwszą oraz F p = {0,1,..., p 1} p-elementowym ciałem skończonym z dodawaniem i mnożeniem modulo p. Krzywą eliptyczną nad ciałem F p nazywamy zbiór rozwiązań (x,y) F p F p równania E : y 2 = x 3 + Ax + B mod p (1) wraz z punktem w nieskończoności O, gdzie współczynniki krzywej A,B F p spełniają warunek = 4A B 2 0 mod p. (2) Równanie (1) nazywane jest skróconą wersją równania Weierstrassa. W zbiorze rozwiązań równania (1) wprowadzamy operację dodawania punktów na krzywej, opisaną na przykład w [4]. Wtedy dołączając O jako element neutralny, otrzymujemy strukturę grupy abelowej o skończonej liczbie elementów. Operacja dodawania punktu do siebie nazywana jest podwojeniem punktu. Pozwala ona z kolei zdefiniować operację mnożenia punktu P E(F p ) przez liczbę naturalną n, która jest wielokrotnym zastosowaniem operacji podwojenia punktu i dodawania punktów w grupie E(F p ). Grupa E(F p ) punktów na krzywej eliptycznej (1) określonej nad ciałem skończonym F p ma rząd (liczbę elementów) #E(F p ), która spełnia nierówność Hassego: p p < #E(F p ) < p p. Dokładna wartość #E(F p ) może być obliczona na podstawie Algorytmu SEA, którego zoptymalizowana implementacja dostępna jest w systemie obliczeniowym Magma [7]. Krzywe eliptyczne nad ciałami skończonymi znalazły zastosowanie w kryptografii klucza publicznego ze względu na trudność obliczeniową problemu logarytmu dyskretnego w grupie punktów na krzywej (ECDLP Elliptic Curve Discrete Logarithm Problem). Niech P E(F p ) będzie ustalonym punktem krzywej eliptycznej, zaś Q E(F p ) losowo wybranym punktem na tej krzywej. Szukamy liczby naturalnej d takiej, że Q = dp. d nazywana jest logarytmem dyskretnym punktu Q względem punktu bazowego P w grupie E(F p ). W ogólnym przypadku nie są znane efektywne algorytmy obliczania logarytmów dyskretnych na krzywych eliptycznych. Przy spełnieniu określonych warunków przez krzywe eliptyczne, znane algorytmy mają złożoność wykładniczą względem wielkości liczby p. 3. GENERACJA KRZYWYCH ELIPTYCZNYCH Będziemy rozpatrywać krzywe eliptyczne nad ciałami skończonymi F p, gdzie p jest liczbą pierwszą o odpowiedniej długości n. Standardy [3, 8, 11] dostarczają listy rekomendowanych krzywych eliptycznych dla poszczególnych wielkości liczb p. Definicja krzywej eliptycznej zawiera zbiór, zwanych parametrami dziedziny, które muszą być w posiadaniu stron stosujących algorytmy ECC. Tymi parametrami są (p,a,b,,n,h), gdzie: p jest liczbą pierwszą, która określa ciało F p, A, B są współczynnikami krzywej eliptycznej, które określają równanie krzywej (1) w postaci Weierstrassa, E(F p ) jest punktem bazowym na krzywej E, który zwany jest także generatorem grupy cyklicznej punktów na krzywej, n = #E(F p ) jest rzędem grupy cyklicznej generowanej przez punkt (w naszych zastosowaniach będzie to cała grupa punktów krzywej eliptyczej), h = #E(F p )/n jest tzw. ko-czynnikiem. Zalecane jest aby h było małe (h 4), w przypadku gdy grupa cykliczna generowana przez jest podgrupą grupy punktów na krzywej. W naszych przykładach h = 1. Celem naszych eksperymentów było znalezienie krzywych eliptycznych nad ciałami F p, dla długości liczby pierwszej p odpowiednio 160, 258, 384 i 512, które są generowane zgodnie ze standardem Brainpool [3] na podstawie ziarna pobieranego ze sprzętowego generatora losowego. Po losowym wybraniu współczynników A, B spełniających nierówność (2) sprawdzane są kryteria bezpieczeństwa krzywej eliptycznej (1). Jeśli nie spełniony jest któryś z wymaganych warunków, to generowane są nowe współczynniki A, B i proces weryfikacji zaczyna się od nowa. Na silne kryptograficznie krzywe eliptyczne nakładane są następujące warunki, które zapobiegają atakom na problem logarytmu dyskretnego na krzywych (ECDLP). Warunki te są wzmocnieniem kryteriów ze standardu [3]. 1. Rząd krzywej eliptycznej n = #E(F p ) jest liczbą pierwszą (różną od liczby p), ma to zapobiec atakom na ECDLP typu atak metodą małych podgrup [3, 4] i atak Pohliga-Hellmana [9]. Ponieważ rząd krzywej jest liczbą pierwszą, to każdy punkt na krzywej różny od elementu neutralnego jest generatorem cyklicznej grupy punktów krzywej. Krzywe eliptyczne, których rząd jest liczbą pierwszą nie mają punktów rzędu dwa (P + P = O), a stąd punktów o współrzędnej y = Rząd krzywej n jest mniejszy niż liczba pierwsza p określająca ciało F p (n < p). Warunek ten ma w części techniczny charakter, ponieważ zapobiega on przepełnieniu rejestrów w implementacjach. W pewnych przypadkach przy niespełnieniu tego warunku, długość w bitach liczby n może być większa niż długość w bitach liczby p. Krzywe eliptyczne dla których n = p nazywane są krzywymi o śladzie jeden (trace one curves) lub krzywymi anomalnymi (anomalous curves). Zgodnie z pracą Satoh i Araki [10] istnieje efektywny algorytm o złożoności wielomianowej obliczania logarytmów dyskretnych na krzywych anomalnych. Należy
3 zatem eliminować takie krzywe w procesie generowania. 3. W atakach z wykorzystaniem iloczynu Weila i iloczynu Tate (ang. Weil-pairing, Tate-pairing) można zanurzyć grupę punktów na krzywej E(F p ) w grupę jedności ciała GF(p l ), które jest rozszerzeniem stopnia l ciała F p. W ciele GF(p l ) mamy do dyspozycji algorytm obliczania logarytmów dyskretnych, który ma złożoność podwykładniczą. Z tego względu stopień rozszerzenia l powinien być możliwie duży, aby złożoność ataków z wykorzystaniem algorytmów do rozwiązywania problemu DLP (Discrete Logarithm Problem) w ciele GF(p l ) była porównywalna ze złożonością dla ECDLP w ciele F p. Wartość stopnia zanurzenia l dla danej krzywej eliptycznej obliczmy ze wzoru l = min(t:n p t 1), tzn. l jest rzędem p modulo n. Na podstawie małego Twierdzenia Fermata wiemy, że liczba l dzieli n 1. Dokładną wartość l obliczamy wykonując faktoryzację liczby n 1. Według standardu [3] wybieramy krzywe eliptyczne, dla których (n 1)/l 100, wtedy l jest bliskie maksymalnie dużej możliwie wartości. W celu weryfikacji tego warunku dla krzywej k-bitowej (wielkość ciała F p ) należy mieć możliwość efektywnej faktoryzacji liczb k-bitowych. 4. Ostatni z warunków ze standardu [3] ma dość skomplikowany charakter. Zalecane jest aby liczba klas ciała kwadratowego k = d była większa niż , gdzie d = (4p u 2 )/v 2, u jest określone z równości n = p u, zaś v = max{a:a 2 4p u 2 }; zatem d jest częścią bezkwadratową liczby 4p u 2. Warunek na wielkość liczby klas ma zapobiegać atakom na problem ECDLP, które wykorzystują małą wartość liczby klas. 5. Ostatni z warunków nie jest zawarty w standardzie [3], ale podany jest na stronie [1] dotyczącej bezpieczeństwa krzywych eliptycznych. Z każdą krzywą eliptyczną E stowarzyszona jest tzw. krzywa skręcona (twisted curve) E tw. Jeśli krzywa E nad ciałem skończonym ma p + 1 +t punktów, to krzywa E tw ma p + 1 t punktów. Wynika stąd, że rząd (liczba punktów) krzywej skręconej wyraża się wzorem #E tw (F p ) = 2p + 2 #E(F p ). Kryterium twist security podane na stronie [1] zaleca, aby największy czynnik pierwszy liczby #E tw był dłuższy niż 100. Kryterium to związane jest z odpornością na pewne aktywne ataki na kryptosystemy z krzywymi eliptycznymi, w których pojawia się problem logarytmu dyskretnego na krzywej skręconej. Kryterium twist security nie zostało jeszcze umieszczone w publikowanych standardach. W paragrafie Dodatki tabele przedstawiają znalezione eksperymentalnie dziedziny dla krzywych eliptycznych o długościac60, 256, 384 i 512. Tabele zawierają w szczególności faktoryzację rzędu krzywej skręconej. Tabele 6-9 przedstawiają krzywe eliptyczne, które spełniają kryteria 1-4 (kryteria ze standardu Brainpool [3], oraz dla których długość len czynnika pierwszego liczb #E tw (F p ) jest większa niż 100 ). 4. IMPLEMENTACJA ARYTMETYKI NA KRZYWYCH ELIPTYCZNYCH W protokołach kryptograficznych opartych na krzywych eliptycznych, takich jak ECDH (protokół Diffie-Hellmana ustalenia wspólnego tajnego klucza) czy też ECDSA (algorytm podpisu cyfrowego) wymagana jest efektywna implementacja arytmetyki na zastosowanych krzywych eliptycznych tak, aby czas realizacji poszczególnych operacji był możliwie krótki. W pierwszej kolejności należy zaimplementować arytmetykę modularną w ciele F p, a następnie operacje arytmetyczne na punktach krzywej eliptycznej. Poniżej przedstawiamy wykonaną implementację softwarową dedykowaną na procesory 32-bitowe Arytmetyka modularna Niech (1) będzie krzywą eliptyczną nad ciałem F p charakterystyki p > 3. p oraz liczby reprezentujące elementy ciała F p mogą być reprezentowane w pamięci komputera jako ciągi lub ciągi słów. Zatem dla 0 x < p możemy zapisać w notacji binarnej lub x = (b i 1,b i 2,...,b 1,b 0 ) 2 x = (w j 1,w j 2,...,w 1,w 0 ) w, gdzie b 0,b 1,...,b i 1 reprezentują bity {0,1}, zaś w 0,w 1,...,w j 1 liczby ze zbioru {0,1,...,w 1}. W celu osiągnięcia efektywnej implementacji, wielkości bazy w powinna być bliska rozmiaru słowa procesora, np. w = Wtedy 512-bitowe liczby całkowite reprezentowane są przez bitowych słów. Wyniki pośrednie, przed redukcją modulo p, mogą być większe: wynik dodania dwóch liczb 512-bitowych ma 17 słów 32-bitowych, natomiast wynik mnożenia ma 32 słowa 32-bitowe. Z tego względu w implementacji dedykowanej dla krzywych 512-bitowych zastosowano 35 słów 32-bitowych. Podstawowymi operacjami arytmetycznymi w ciele F p są: dodawanie modulo p, mnożenie modulo p. Zaimplementowano również operacje: odejmowania modulo p, potęgowania modulo p, odwrotności modularnej modulo p, dzielenia modulo p, pierwiastka kwadratowego w ciele F p oraz inne typy operacji: bitowe operacje logiczne: OR, XOR, AND, NOT, przesunięcia i rotacje, porównywanie i operacje warunkowe, przypisywanie i kopiowanie wartości, testy pierwszości. Realizacja arytmetyki modularnej wymaga zastosowania specjalnych algorytmów mnożenia z redukcją modularną. W pracy wykorzystano następujące algorytmy: algorytm klasyczny [14], algorytm Montgomery ego [13], algorytm Barrett a [12].
4 Algorytmy Montgomery ego i Barrett a wymagają wykonania pewnych obliczeń wstępnych. W przypadku algorytmu Montgomery ego należy obliczyć wielkość γ = p 1 mod w, gdzie w jest podstawą reprezentacji liczb całkowitych, która jest względnie pierwsza z p. W algorytmie Barrett a należy wstępnie obliczyć µ = 22i p, gdzie i jest liczbą w reprezentacji binarnej liczby pierwszej p. Podstawową operacją arytmetyczną, która ma zastosowanie gdy implementujemy algorytmy kryptograficzne typu RSA, DH i DSA jest potęgowanie modularne. Wykonaliśmy pomiary czasu realizacji potęgowania modularnego z użyciem podanych wyżej trzech metod modularnego mnożenia dla liczb 1024 i 2048-bitowych. Algorytmy zostały zaimplementowane w języku C, natomiast eksperymenty zostały przeprowadzone na komputerze z procesorem 3,6 GHz. Tab. 2. Czasy potęgowania modularnego na PC Metoda mnożenia modularnego klasyczna Barrett a Montgomery ego ms 30 ms 13 ms ms 225 ms 100 ms Wykonaliśmy również pomiary czasu realizacji potęgowania modularnego dla implementacji w języku C, kompilowanych w systemie Linux, na procesorze ARM 400 MHz: Tabele 2 i 3. Tab. 3. Czasy potęgowania modularnego na ARM Metoda mnożenia modularnego klasyczna Barrett a Montgomery ego ms 166 ms 103 ms ms ms 787 ms Z podanych wyników wnioskujemy, że potęgowanie modularne jest realizowane najszybciej za pomocą metody Montgomery ego Operacje arytmetyczne na krzywych eliptycznych Podstawową operacją w grupie E(F p ) punktów na krzywej eliptycznej E : y 2 = x 3 + Ax + B mod p jest dodawanie punktów. We współrzędnych afinicznych (x,y) F p F p wynikiem dodawania punktów P = (x 0,y 0 ) i Q = (x 1,y 1 ) jest punkt R = (x 2,y 2 ), którego współrzędne wyrażają się wzorami: gdzie: x 2 = λ 2 x 0 x 1 y 2 = λ(x 0 x 2 ) y 0 λ = y 0 y 1 x 0 x 1 dla (x 0,y 0 ) (x 1,y 1 ) λ = 3x2 0 + A 2y 0 dla (x 0,y 0 ) = (x 1,y 1 ) Dodanie punktu P do siebie (P + P) nazywane jest operacją podwajania punktu, zaś wynik oznaczany jest symbolem 2P. W podobny sposób definiujemy wielokrotność punktu P przez liczbę naturalną P P = dp (d razy). Obliczenie wielokrotności punktu wymaga średnio wykonania k podwojeń punktu i k/2 dodawań punktów, gdzie k jest liczbą w rozwinięciu binarnym liczby d. Ponadto w implementacji algorytmów ECDSA i ECDH wymagana jest generacja punktów na krzywej eliptycznej oraz procedury sprawdzania, czy punkt otrzymany w trakcie obliczeń leży na danej krzywej eliptycznej. Wszystkie operacje na krzywych eliptycznych zostały zaimplementowane we współrzędnych afinicznych, jak i we współrzędnych rzutowych. Punkt o współrzędnych afinicznych (x, y) na krzywej eliptycznej (1) przekształcany jest na punkt (x, y, z) we współrzędnych rzutowych, w których równanie krzywej ma postać E : zy 2 = x 3 + Axz 2 + Bz 3. Wzory na dodawanie i podwojenie punktu na krzywej we współrzędnych rzutowych [4] nie używają operacji dzielenia w ciałach skończonych, która jest kosztowana czasowo. Tabela 4 przedstawia uzyskane czasy realizacji obliczania wielokrotności punktu na krzywych eliptycznych o poszczególnych długościach k przy wykorzystaniu obu rodzajów współrzędnych oraz wybranych metod implementacji arytmetyki w ciałach skończonych. Tab. 4. Czasy obliczania wielokrotności punktu na PC Metoda reprezentacji i mnożenia modularnego afiniczna Montgomery ego klasyczna Barrett a ms 8 ms 7 ms ms 27 ms 24 ms ms 64 ms 55 ms Zauważmy, że najszybszą metodę daje zastosowanie współrzędnych rzutowych i metody Barrett a redukcji modularnej. Tabela 5 przedstawia czasy realizacji obliczania wielokrotności punktów w implementacji wykonanej na procesorze ARM o częstotliwości taktowania 400 MHz. Tab. 5. Czasy obliczania wielokrotności punktu na ARM Metoda reprezentacji i mnożenia modularnego afiniczna Montgomery ego klasyczna Barrett a ms 242 ms 181 ms ms 718 ms 557 ms ms ms ms Biorąc pod uwagę powyższe rezultaty mamy, że czas generacji klucza i podpisu dla 384-bitowej krzywej eliptycznej zajmuje około 24 ms na komputerze PC z procesorem 3,6 GHz i około 557 ms na platformie z procesorem ARM o częstotliwości taktowania 400 MHz. Czasy we-
5 ryfikacji podpisu wynoszą odpowiednio 48 ms i 1,1 s na podanych wyżej platformach. Powyższe czasy mogą być zredukowane przy doborze odpowiednich krzywych eliptycznych. Następnym zadaniem jest optymalizacja wykonanych implementacji. Planowane jest także wykonanie tych implementacji w układach FPGA. 5. PODSUMOWANIE Zastosowanie krzywych eliptycznych jest aktualnie najlepszym sposobem uzyskania bezpiecznych protokołów uzgadniania kluczy kryptograficznych i podpisu cyfrowego. W tym celu należy wygenerować bezpieczne krzywe eliptyczne i wykonać efektywną implementację arytmetyki modularnej w ciałach skończonych i arytmetyki na krzywych eliptycznych. Zalecanych jest wiele standardów krzywych eliptycznych i w zastosowaniach komercyjnych należy stosować takie krzywe. Natomiast w zastosowaniach specjalnych (dla wojska, administracji rządowej) zalecane jest stosowanie własnych krzywych. Wybraliśmy standard Brainpool, ponieważ zawiera on większą liczbę uzasadnionych warunków bezpieczeństwa nakładanych na krzywe eliptyczne. W pracy przedstawiono wyniki eksperymentów generacji bezpiecznych krzywych eliptycznych oraz czasy realizacji operacji arytmetycznych na krzywych eliptycznych wraz z odpowiadającymi czasami realizacji protokołu poufnej wymiany kluczy kryptograficznych oraz podpisu cyfrowego na wybranych procesorach Intel i ARM. SPIS LITERATURY [1] D.J. Bernstein, T. Lange, SafeCurves: choosing safe curves for elliptic-curve cryptography, [2] D.J. Bernstein, Tung Chou, Ch. Chuengsatiansup, A. Huelsing, T. Lange, R. Niederhagen, Ch. Van Vredendaal How to manipulate curve standards: a white paper for the black hat, Cryptology eprint Archive, 2014/571, [3] ECC Brainpool, ECC Brainpool Standard Curves and Curve generation, [4] D. Hankerson, A. Menezes, S. Vanstone, Guide to Elliptic Curve Cryptography, Springer 2004, ISBN X [5] Ming-Deh Huang, W. Raskind, Global methods for discrete logarithm problems, Elliptic Curve Cryptography Conference, 2004 [6] D. Jao, S.D. Miller, R. Venkatesen, Ramanujan graphs and the random reducibility of discrete log on isogenous elliptic curves, 2004, [7] Magma Computational Algebra System, [8] NIST, Recommended Elliptic Curves for Federal Government Use, 1999 [9] S. Pohlig, M. Hellman, An improved algorithm for computing logarithms over GF(p) and its cryptographic significance, IEEE Transactions on Information Theory, 1978 [10] T. Satoh, K. Araki, Fermat quotients and the polynomial time discrete log algorithm for anomalous elliptic curves, Comm. Math. Univ. Sancti Pauli, 47, pp , 1998 [11] SEC2: Recommended Elliptic Curve Domain Parameters, Certicom Research. January27, Version 2.0 [12] P. Barrett, Implementing the Rivest, Shamir and Adleman public key encryption algorithm on a standard digital signal processor, Advances in Cryptology CRYPTO 86, LNCS 263, Springer-Verlag Berlin Heidelberg 1987, pp [13] P. Montgomery, Modular multiplication without trial division, Mathemetics of Computation vol. 44 (1985), pp [14] A. Menezes, P. van Oorschot, S. Vanstone, Handbook of Applied Cryptography, CRC Press, 1996 DODATKI: PRZYKŁADY KRZYWYCH ELIPTYCZNYCH Tab. 6. Parametry 160 bitowej krzywej eliptycznej Dziedzina 160 bitowa liczba 0xE75F077B3804BAB2C122344DFD0 p 4FCE951DA7027 0xE06C22F8F36E2468E2B5F27CCBD A 57D9DC6B x68F4C31B7CE82460D372864AB2C B 8C1CCE5F x37A8D D5F3071C706D66A 5CE4C07C700D9 0x6BEF365071D253DEA39FC3088E3 C0CCC6FF47F09 0xE75F077B3804BAB2C C n FCFFBABE5FBB3 0xE75F077B3804BAB2C122D657A83 n twist A29D6F7CEE49D [<3,1>,<90281,1>,<426611,1>,< czynniki pierwsze ,1>] len 124
6 Dziedzina Tab. 7. Parametry 256 bitowej krzywej eliptycznej 256 bitowa liczba p 0xA4701F69D1D96BCEE B6C8F3F1C0318B00FBC76A4FBAE54A2D84BA90C3 A 0x1C417D163830A291B2F769BE7737E29112C4D400ECC3A22726E DC67 B 0x9D3B1FE4E68A23711EC1D7D92251D14C0CE040CB21EF11DA66012DDD79402E72 0x7EE932CFAA5B1EFE BF0036DFFB4C9B70708B C36D4C24BEB9 0x5195AC4DA0186C7B3FBDF20AF09F64276EE25C689ACDF8174E2D4BD8BFC50D25 n 0xA4701F69D1D96BCEE B6C8F3F0485F90CF0AC53F6344F9D95622C730AD n twist 0xA4701F69D1D96BCEE B6C8F3F ECC9953C30D0BB04E6ADF0DB czynniki [<137,1>,< ,1>,< pierwsze ,1>] len 203 Dziedzina Tab. 8. Parametry 384 bitowej krzywej eliptycznej 384 bitowa liczba 0x950FD23F7FCDB5D647C6087B67A238B8C94A E71451B5F922A277D40F89C p B978CC057749BE485C3621F 0x2704ED36195B700E6DA4A3B98DEF C6AA34A71A36F64D0F3E2A38432D1E7C85004 A 583CC B392508D 0x7C1CA2774E5FABC0EB668323DC507E2BF0FD936BFBAFAEABED0E1F5740D196276C5A9EE60 B D40957F67E x1C56954F12FC79768A87CAC E50B1DA42542A380E A32A2D23F9BEE6FCA 61BCB057AFB26ECA927E51C 0x8A28CF52E6B00BF935667D90092EA AA556C23C9462AF727DF244464D6B575F1B6 1C3FBA27E242ABBCE28121B 0x950FD23F7FCDB5D647C6087B67A238B8C94A E713C6FEECAB3B86DB8D79D79B916 n E3E2F199A1C8098D2C8035D 0x950FD23F7FCDB5D647C6087B67A238B8C94A E714DC6D059A0968CC9199B326DF8 n twist 8F0EA6714CCB73038BEC0E3 czynniki [<5,1>,< pierwsze ,1>] len 381
7 Dziedzina Tab. 9. Parametry 512 bitowej krzywej eliptycznej 512 bitowa liczba 0xE121B140806D878B50656F5A5AEF0FBE3A912FD8526A10EB6177EC6C4FF5808C2F6812C52 p 9097FCA07F5F7D57B1F1E7FEB41CA7FEDF8C647CD5FD40DB53EC107 0x8A3DFCDF063ABB966D72DB6C328346B937D6BE075049D D8A13415D550ABB77C0 A 0343AD0C0B03D784F4F4EC5158BC43DC5C2AC33C FD69 0x8B3423FE32644E29860D667CDFA9CB62376F32A9404D470EAF9BE87E35144F120B5E92384 B 02DA3105D09B096C52081ECBAD2D687EC3D42C E xAE3D9F24D26B6B5E944EA30DA95AF78FC922E00BA6052B0FD8C1605B540A33C7BFA7EC610 6A13A52661ABE77E4C6C02154AD7FC97FD68E352E67A38DAF1DFE9E 0xBF E0088BC5C82DEE33543AED1EB B15873A1617F4F4D0FD9D22394AD 380EA96AE478FAEC4D9A8693B60EBEA AC5ECF1C6B085 0xE121B140806D878B50656F5A5AEF0FBE3A912FD8526A10EB6177EC6C4FF5808A7A65BC602 n CD79AA4EF4B9B B67160EC7634F74B183CB8409B8F2856F 0xE121B140806D878B50656F5A5AEF0FBE3A912FD8526A10EB6177EC6C4FF5808DE46A692A2 n twist 53B64EF20A054516EF7D6D46F6D863878A217DE16F42411B18AFCA1 [<17,1>,<263,1>,< ,1>,< czynniki pierwsze ,1>] len 404
Spis treści. Przedmowa... 9
Spis treści Przedmowa... 9 1. Algorytmy podstawowe... 13 1.1. Uwagi wstępne... 13 1.2. Dzielenie liczb całkowitych... 13 1.3. Algorytm Euklidesa... 20 1.4. Najmniejsza wspólna wielokrotność... 23 1.5.
Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska
Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik
Aktualny stan bezpieczeństwa krzywych eliptycznych
Aktualny stan bezpieczeństwa krzywych eliptycznych Janusz Szmidt Wojskowy Instytut Łączności 14 XII 2017 Plan prezentacji Krzywe eliptyczne nad ciałem liczb rzeczywistych Krzywe eliptyczne nad ciałami
Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych
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
Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VII Kierunek Informatyka - semestr V Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Problem pakowania plecaka System kryptograficzny Merklego-Hellmana
Parametry systemów klucza publicznego
Parametry systemów klucza publicznego Andrzej Chmielowiec Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk 24 marca 2010 Algorytmy klucza publicznego Zastosowania algorytmów klucza publicznego
Problem logarytmu dyskretnego i protokół Diffiego-Hellmana. Mateusz Paluch
Problem logarytmu dyskretnego i protokół Diffiego-Hellmana Mateusz Paluch 1 Logarytm dyskretny Definicja 1. Niech (G, ) będzie skończoną grupą cykliczną rzędu n 2. Niech ponadto b będzie generatorem tej
Piotr Majkowski. Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji
Hybrydowy system służący do kryptoanalizy szyfrów opartych na krzywych eliptycznych Piotr Majkowski Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji System
Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1
Ataki na RSA Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Ataki na RSA p. 1 Plan prezentacji Wprowadzenie Ataki algebraiczne Ataki z kanałem pobocznym Podsumowanie
Podstawy systemów kryptograficznych z kluczem jawnym RSA
Podstawy systemów kryptograficznych z kluczem jawnym RSA RSA nazwa pochodząca od nazwisk twórców systemu (Rivest, Shamir, Adleman) Systemów z kluczem jawnym można używać do szyfrowania operacji przesyłanych
Copyright by K. Trybicka-Francik 1
Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (2) mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Szyfry wykładnicze Pohlig i Hellman 1978 r. Rivest, Shamir i Adleman
Copyright by K. Trybicka-Francik 1
Bezpieczeństwo systemów komputerowych Algorytmy kryptograficzne (2) Szyfry wykładnicze Pohlig i Hellman 1978 r. Rivest, Shamir i Adleman metoda szyfrowania z kluczem jawnym DSA (Digital Signature Algorithm)
Algorytmy asymetryczne
Algorytmy asymetryczne Klucze występują w parach jeden do szyfrowania, drugi do deszyfrowania (niekiedy klucze mogą pracować zamiennie ) Opublikowanie jednego z kluczy nie zdradza drugiego, nawet gdy można
Spis treści. Od Wydawcy
Spis treści Od Wydawcy 1. Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE 1.1. Krzywe eliptyczne w praktyce 1.2. Pakiet SAGE 1.3. Krzywe eliptyczne na płaszczyźnie 1.4. Ciała skończone proste
Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań
Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań Przekształcenia liniowe, diagonalizacja macierzy 1. Podano współrzędne wektora v w bazie B. Znaleźć współrzędne tego wektora w bazie B, gdy: a) v = (1,
Matematyka dyskretna
Matematyka dyskretna Wykład 12: Krzywe eliptyczne Gniewomir Sarbicki Rozważać będziemy przestrzeń K n Definicja: x y λ K x = λy. Relację nazywamy różnieniem się o skalar Przykład: [4, 10, 6, 14] [6, 15,
Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9
Od Wydawcy... 8 1. Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9 1.1.. Krzywe eliptyczne w praktyce... 10 1.2.. Pakiet SAGE... 10 1.3.. Krzywe eliptyczne na płaszczyźnie... 10 1.4..
Wybrane zagadnienia teorii liczb
Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA Podzielność liczb Relacja
1. Wykład NWD, NWW i algorytm Euklidesa.
1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.
Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)
Zał nr 4 do ZW WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU Nazwa w języku polskim : Kryptografia Nazwa w języku angielskim : Cryptography Kierunek studiów : Informatyka Specjalność (jeśli
PRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Informatyka KRYPTOGRAFIA STOSOWANA APPLIED CRYPTOGRAPHY Forma studiów: stacjonarne Kod przedmiotu: IO1_03 Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych Rodzaj
Zarys algorytmów kryptograficznych
Zarys algorytmów kryptograficznych Laboratorium: Algorytmy i struktury danych Spis treści 1 Wstęp 1 2 Szyfry 2 2.1 Algorytmy i szyfry........................ 2 2.2 Prosty algorytm XOR......................
Kryptografia - zastosowanie krzywych eliptycznych
Kryptografia - zastosowanie krzywych eliptycznych 24 marca 2011 Niech F będzie ciałem doskonałym (tzn. każde rozszerzenie algebraiczne ciała F jest rozdzielcze lub równoważnie, monomorfizm Frobeniusa jest
Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 5
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 5 Spis treści 9 Algorytmy asymetryczne RSA 3 9.1 Algorytm RSA................... 4 9.2 Szyfrowanie.....................
Elementy teorii liczb i kryptografii Elements of Number Theory and Cryptography. Matematyka Poziom kwalifikacji: II stopnia
Nazwa przedmiotu: Kierunek: Rodzaj przedmiotu: Kierunkowy dla specjalności: matematyka przemysłowa Rodzaj zajęć: wykład, ćwiczenia Elementy teorii liczb i kryptografii Elements of Number Theory and Cryptography
Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 6a
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 6a Spis treści 10 Trochę matematyki (c.d.) 3 10.19 Reszty kwadratowe w Z p.............. 3 10.20
Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);
Ciała i wielomiany 1 Ciała i wielomiany 1 Definicja ciała Niech F będzie zbiorem, i niech + ( dodawanie ) oraz ( mnożenie ) będą działaniami na zbiorze F. Definicja. Zbiór F wraz z działaniami + i nazywamy
n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.
Wykład 2 Temat: Algorytm kryptograficzny RSA: schemat i opis algorytmu, procedura szyfrowania i odszyfrowania, aspekty bezpieczeństwa, stosowanie RSA jest algorytmem z kluczem publicznym i został opracowany
urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania
Bezpieczeństwo systemów komputerowych urządzenia: awaria układów ochronnych, spowodowanie awarii oprogramowania Słabe punkty sieci komputerowych zbiory: kradzież, kopiowanie, nieupoważniony dostęp emisja
Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej
Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej Andrzej Chmielowiec Centrum Modelowania Matematycznego Sigma, andrzej.chmielowiec@cmmsigma.eu 26maja2010 Podstawy matematyczne
Grupy, pierścienie i ciała
Grupy, pierścienie i ciała Definicja: Niech A będzie niepustym zbiorem. Działaniem wewnętrznym (lub, krótko, działaniem) w zbiorze A nazywamy funkcję : A A A. Niech ponadto B będzie niepustym zbiorem.
Krzywe Freya i Wielkie Twierdzenie Fermata
Krzywe Freya i Wielkie Twierdzenie Fermata Michał Krzemiński 29 listopad 2006 Naukowe Koło Matematyki Politechnika Gdańska 1 1 Krzywe algebraiczne Definicja 1.1 Krzywą algebraiczną C nad ciałem K nazywamy
Matematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 2 marca 2017 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod m)),
Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VI - semestr III Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2013 c Copyright 2013 Janusz Słupik Podstawowe zasady bezpieczeństwa danych Bezpieczeństwo Obszary:
Liczby pierwsze wielomianowo - ekstremalnie trudne?
Liczby pierwsze wielomianowo - ekstremalnie trudne? Wojciech Czerwiński Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski 28 sierpnia 2011 Wojciech Czerwiński PRIMES w P 1/12 Problem Wejście:
Informatyka kwantowa. Zaproszenie do fizyki. Zakład Optyki Nieliniowej. wykład z cyklu. Ryszard Tanaś. mailto:tanas@kielich.amu.edu.
Zakład Optyki Nieliniowej http://zon8.physd.amu.edu.pl 1/35 Informatyka kwantowa wykład z cyklu Zaproszenie do fizyki Ryszard Tanaś Umultowska 85, 61-614 Poznań mailto:tanas@kielich.amu.edu.pl Spis treści
Podstawowe struktury algebraiczne
Rozdział 1 Podstawowe struktury algebraiczne 1.1. Działania wewnętrzne Niech X będzie zbiorem niepustym. Dowolną funkcję h : X X X nazywamy działaniem wewnętrznym w zbiorze X. Działanie wewnętrzne, jak
Rijndael szyfr blokowy
Rijndael szyfr blokowy Andrzej Chmielowiec 24 lipca 2002 1 Podstawy matematyczne Kilka operacji w standardzie Rijndael jest zdefiniowanych na poziomie bajta, przy czym bajty reprezentują elementy ciała
Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 7
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 7 Spis treści 11 Algorytm ElGamala 3 11.1 Wybór klucza.................... 3 11.2 Szyfrowanie.....................
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, Kryptografia: algorytmy asymetryczne (RSA)
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 15, 19.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)
Matematyka dyskretna
Matematyka dyskretna Wykład 6: Ciała skończone i kongruencje Gniewomir Sarbicki 24 lutego 2015 Relacja przystawania Definicja: Mówimy, że liczby a, b Z przystają modulo m (co oznaczamy jako a = b (mod
Bezpieczeństwo systemów komputerowych
Bezpieczeństwo systemów komputerowych Szyfry asymetryczne Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 10 listopada 2015 Na podstawie wykładu Anny Kosieradzkiej z
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA Grzegorz Bobiński Uniwersytet Mikołaja Kopernika Toruń, 22.05.2010 Kodowanie a szyfrowanie kodowanie sposoby przesyłania danych tak, aby
Podstawowe struktury algebraiczne
Maciej Grzesiak Podstawowe struktury algebraiczne 1. Wprowadzenie Przedmiotem algebry było niegdyś przede wszystkim rozwiązywanie równań. Obecnie algebra staje się coraz bardziej nauką o systemach matematycznych.
Bezpieczeństwo kart elektronicznych
Bezpieczeństwo kart elektronicznych Krzysztof Maćkowiak Karty elektroniczne wprowadzane od drugiej połowy lat 70-tych znalazły szerokie zastosowanie w wielu dziedzinach naszego życia: bankowości, telekomunikacji,
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, Kryptografia: algorytmy asymetryczne (RSA)
Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 14, 7.06.2005 1 Kryptografia: algorytmy asymetryczne (RSA) Niech E K (x) oznacza szyfrowanie wiadomości x kluczem K (E od encrypt, D K (x)
Algorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
Post-kwantowy algorytm podpisu cyfrowego Kryptosystem NTRU
Post-kwantowy algorytm podpisu cyfrowego Kryptosystem NTRU Janusz Szmidt, Marcin Barański Wojskowy Instytut Łączności 13 XII 2018 NTRU - abstract We describe NTRU, a new public key cryptosystem. NTRU
Matematyka dyskretna
Matematyka dyskretna Wykład 10: Algorytmy teorii liczb Gniewomir Sarbicki Literatura A. Chrzęszczyk Algorytmy teorii liczb i kryptografii w przykładach Wydawnictwo BTC 2010 N. Koblitz Wykład z teorii liczb
Inne algorytmy z kluczem publicznym
Wykład 6 Temat: Inne algorytmy z kluczem publicznym [Diffiego-Hellmana (zasada działania, bezpieczeństwo), ElGamala, systemy oparte na zagadnieniu krzywych eliptycznych, system Rabina, system podpisów
Arytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Kryptografia na procesorach wielordzeniowych
Kryptografia na procesorach wielordzeniowych Andrzej Chmielowiec andrzej.chmielowiec@cmmsigma.eu Centrum Modelowania Matematycznego Sigma Kryptografia na procesorach wielordzeniowych p. 1 Plan prezentacji
Wykład IV. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład IV Kierunek Informatyka - semestr V Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Systemy z kluczem publicznym Klasyczne systemy kryptograficzne
ROZPROSZONY SYSTEM DO KRYPTOANALIZY SZYFRÓW OPARTYCH NA KRZYWYCH ELIPTYCZNYCH
ROZPROSZONY SYSTEM DO KRYPTOANALIZY SZYFRÓW OPARTYCH NA KRZYWYCH ELIPTYCZNYCH Krzysztof Skowron, Mariusz Rawski, Paweł Tomaszewicz 1/23 CEL wykorzystanie środowiska Altera OpenCL do celów akceleracji obliczeń
5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej
Obliczenia w systemach resztowych [Song Y. Yan] Przykład: obliczanie z = x + y = 123684 + 413456 na komputerze przyjmującym słowa o długości 100 Obliczamy kongruencje: x 33 (mod 99), y 32 (mod 99), x 8
2. LICZBY RZECZYWISTE Własności liczb całkowitych Liczby rzeczywiste Procenty... 24
SPIS TREŚCI WYRAŻENIA ALGEBRAICZNE RÓWNANIA I NIERÓWNOŚCI ALGEBRAICZNE 7 Wyrażenia algebraiczne 0 Równania i nierówności algebraiczne LICZBY RZECZYWISTE 4 Własności liczb całkowitych 8 Liczby rzeczywiste
Matematyka dyskretna
Matematyka dyskretna Wykład 9: Grupy skończone Gniewomir Sarbicki Grupy cykliczne Definicja: Jeżeli każdy element grupy G jest postaci a n dla pewnego a G, to mówimy, że grupa G jest grupą cykliczną o
SCHEMAT ZABEZPIECZENIA WYMIANY INFORMACJI POMIĘDZY TRZEMA UŻYTKOWNIKAMI KRYPTOGRAFICZNYM SYSTEMEM RSA
PRACE NAUKOWE Akademii im. Jana Długosza w Częstochowie SERIA: Edukacja Techniczna i Informatyczna 2012 z. VII Mikhail Selianinau, Piotr Kamiński Akademia im. Jana Długosza w Częstochowie SCHEMAT ZABEZPIECZENIA
Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.
Podstawy programowania Programowanie wyrażeń 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń. W językach programowania są wykorzystywane
Planowanie eksperymentu 2 (k p) w 2 r blokach. Stanisław Jaworski, Wojciech Zieliński
Planowanie eksperymentu 2 (k p) w 2 r blokach Stanisław Jaworski, Wojciech Zieliński 1. Wstęp W praktyce często możemy spotkać się z sytuacją, kiedy nie jest możliwe wykonanie pełnego eksperymentu czynnikowego
(4) W zbiorze R R definiujemy działania i wzorami. (a, b) (c, d) =(a + c, b + d),
Zestaw zadań 2: Ciało liczb zespolonych Układy równań liniowych () Ile działań można określić na zbiorze n-elementowym? Ile z nich to działania przemienne? (2) Zbadaj własności działania różnicy symetrycznej
Podstawy programowania. Podstawy C# Przykłady algorytmów
Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania
Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej
Współczesna kryptografia schematy bazujące na parowaniu punktów krzywej eliptycznej Andrzej Chmielowiec Centrum Modelowania Matematycznego Sigma, andrzej.chmielowiec@cmmsigma.eu Streszczenie Współczesna
Matematyka dyskretna
Matematyka dyskretna Wykład 10: Algorytmy teorii liczb Gniewomir Sarbicki Literatura A. Chrzęszczyk Algorytmy teorii liczb i kryptografii w przykładach Wydawnictwo BTC 2010 N. Koblitz Wykład z teorii liczb
1 Określenie pierścienia
1 Określenie pierścienia Definicja 1. Niech P będzie zbiorem, w którym określone są działania +, (dodawanie i mnożenie). Mówimy, że struktura (P, +, ) jest pierścieniem, jeżeli spełnione są następujące
Wykład VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład VIII Kierunek Matematyka - semestr IV Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Egzotyczne algorytmy z kluczem publicznym Przypomnienie Algorytm
DB Algebra liniowa semestr zimowy 2018
DB Algebra liniowa semestr zimowy 2018 SPIS TREŚCI Teoria oraz większość zadań w niniejszym skrypcie zostały opracowane na podstawie książek: 1 G Banaszak, W Gajda, Elementy algebry liniowej cz I, Wydawnictwo
Ataki na algorytm RSA
Ataki na algorytm RSA Andrzej Chmielowiec 29 lipca 2009 Streszczenie Przedmiotem referatu są ataki na mechanizm klucza publicznego RSA. Wieloletnia historia wykorzystywania tego algorytmu naznaczona jest
Wykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Liczby zespolone. x + 2 = 0.
Liczby zespolone 1 Wiadomości wstępne Rozważmy równanie wielomianowe postaci x + 2 = 0. Współczynniki wielomianu stojącego po lewej stronie są liczbami całkowitymi i jedyny pierwiastek x = 2 jest liczbą
Ciała skończone. 1. Ciała: podstawy
Ciała skończone 1. Ciała: podstawy Definicja 1. Każdy zbiór liczb, w którym są wykonalne wszystkie cztery działania z wyjątkiem dzielenia przez 0 i który zawiera więcej niż jedną liczbę, nazywamy ciałem
Pierwiastki pierwotne, logarytmy dyskretne
Kongruencje wykład 7 Definicja Jeżeli rząd elementu a modulo n (dla n będącego liczba naturalną i całkowitego a, a n) wynosi φ(n) to a nazywamy pierwiastkiem pierwotnym modulo n. Przykład Czy 7 jest pierwiastkiem
Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych
Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych Tomasz Stroiński 23.06.2014 Po co faktoryzować tak duże liczby? System RSA Działanie systemu RSA Każdy użytkownik wybiera duże liczby pierwsze
Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ
Wprowadzenie Generowanie liczb o zadanym rozkładzie Generowanie liczb o zadanym rozkładzie wejście X U(0, 1) wyjście Y z zadanego rozkładu F (y) = 1 e λy y = ln(1 F (y) λ = ln(1 0,1563 0, 5 0,34 Wprowadzenie
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia
L.P. DZIAŁ Z PODRĘCZNIKA NaCoBeZu kryteria sukcesu w języku ucznia 1. LICZBY 1. Znam pojęcie liczby naturalne, całkowite, wymierne, dodatnie, ujemne, niedodatnie, odwrotne, przeciwne. 2. Potrafię zaznaczyć
Kody blokowe Wykład 2, 10 III 2011
Kody blokowe Wykład 2, 10 III 2011 Literatura 1. R.M. Roth, Introduction to Coding Theory, 2006 2. W.C. Huffman, V. Pless, Fundamentals of Error-Correcting Codes, 2003 3. D.R. Hankerson et al., Coding
Estymacja kosztów łamania systemu kryptograficznego
Estymacja kosztów łamania systemu kryptograficznego Andrzej Chmielowiec 17maja2007 Streszczenie Przedmiotem artykułu jest prezentacja modelu matematycznego dla zagadnienia opłacalności łamania systemu
Funkcja kwadratowa. f(x) = ax 2 + bx + c = a
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax, a R \ {0}.
Praktyczne aspekty stosowania kryptografii w systemach komputerowych
Kod szkolenia: Tytuł szkolenia: KRYPT/F Praktyczne aspekty stosowania kryptografii w systemach komputerowych Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do osób pragnących poznać zagadnienia
Treść wykładu. Pierścienie wielomianów. Dzielenie wielomianów i algorytm Euklidesa Pierścienie ilorazowe wielomianów
Treść wykładu Pierścienie wielomianów. Definicja Niech P będzie pierścieniem. Wielomianem jednej zmiennej o współczynnikach z P nazywamy każdy ciąg f = (f 0, f 1, f 2,...), gdzie wyrazy ciągu f są prawie
Funkcja kwadratowa. f(x) = ax 2 + bx + c,
Funkcja kwadratowa. Funkcją kwadratową nazywamy funkcję f : R R określoną wzorem gdzie a, b, c R, a 0. f(x) = ax 2 + bx + c, Szczególnym przypadkiem funkcji kwadratowej jest funkcja f(x) = ax 2, a R \
O MACIERZACH I UKŁADACH RÓWNAŃ
O MACIERZACH I UKŁADACH RÓWNAŃ Problem Jak rozwiązać podany układ równań? 2x + 5y 8z = 8 4x + 3y z = 2x + 3y 5z = 7 x + 8y 7z = Definicja Równanie postaci a x + a 2 x 2 + + a n x n = b gdzie a, a 2, a
Przykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.
Spis treści: Czym jest szyfrowanie Po co nam szyfrowanie Szyfrowanie symetryczne Szyfrowanie asymetryczne Szyfrowanie DES Szyfrowanie 3DES Szyfrowanie IDEA Szyfrowanie RSA Podpis cyfrowy Szyfrowanie MD5
ANALIZA MOŻLIWOŚCI ATAKU CZASOWEGO ORAZ SŁOWNIKOWEGO NA KOMUNIKACJĘ Z UŻYCIEM KRYPTOGRAFII ELIPTYCZNEJ
ZESZYTY NAUKOWE POLITECHNIKI RZESZOWSKIEJ 296, Elektrotechnika 36 RUTJEE, z. 36 (3/2017), październik-grudzień 2017, s. 53-58 Mateusz TYBURA 1 ANALIZA MOŻLIWOŚCI ATAKU CZASOWEGO ORAZ SŁOWNIKOWEGO NA KOMUNIKACJĘ
Algorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.
20. Definicje i przykłady podstawowych struktur algebraicznych (grupy, pierścienie, ciała, przestrzenie liniowe). Pojęcia dotyczące przestrzeni liniowych (liniowa zależność i niezależność układu wektorów,
Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 8
Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 8 Spis treści 13 Szyfrowanie strumieniowe i generatory ciągów pseudolosowych 3 13.1 Synchroniczne
1. Określenie pierścienia
1. Określenie pierścienia Definicja 1. Niech P będzie zbiorem, w którym określone są działania +, (dodawanie i mnożenie). Mówimy, że struktura (P, +, ) jest pierścieniem, jeżeli spełnione są następujące
0.1 Pierścienie wielomianów
0.1 Pierścienie wielomianów Zadanie 1. Znaleźć w pierścieniu Z 5 [X] drugi wielomian określający tę samą funkcję, co wielomian X 2 X + 1. (Odp. np. X 5 + X 2 2X + 1). Zadanie 2. Znaleźć sumę i iloczyn
Algorytm i złożoność obliczeniowa algorytmu
Algorytm i złożoność obliczeniowa algorytmu Algorytm - przepis postępowania, którego wykonanie prowadzi do rozwiązania określonego problemu określa czynności, jakie należy wykonać wyszczególnia wszystkie
1. Liczby zespolone. Jacek Jędrzejewski 2011/2012
1. Liczby zespolone Jacek Jędrzejewski 2011/2012 Spis treści 1 Liczby zespolone 2 1.1 Definicja liczby zespolonej.................... 2 1.2 Postać kanoniczna liczby zespolonej............... 1. Postać
2 Kryptografia: algorytmy symetryczne
1 Kryptografia: wstęp Wyróżniamy algorytmy: Kodowanie i kompresja Streszczenie Wieczorowe Studia Licencjackie Wykład 14, 12.06.2007 symetryczne: ten sam klucz jest stosowany do szyfrowania i deszyfrowania;
4. Systemy algebraiczne i wielomiany nad ciałami zastosowania Rodzaje systemów algebraicznych ciała, grupy, pierścienie
Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik
5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów.
5. Algebra działania, grupy, grupy permutacji, pierścienie, ciała, pierścień wielomianów. Algebra jest jednym z najstarszych działów matematyki dotyczącym początkowo tworzenia metod rozwiązywania równań
Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.
Metody numeryczne Janusz Szwabiński szwabin@ift.uni.wroc.pl nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/2002 23:02 p.1/63 Plan wykładu 1. Dokładność w obliczeniach numerycznych 2. Złożoność
Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych
Tematyka do egzaminu ustnego z matematyki 3 semestr LO dla dorosłych I. Sumy algebraiczne 1. Dodawanie i odejmowanie sum algebraicznych 2. Mnożenie sum algebraicznych 3. Wzory skróconego mnożenia - zastosowanie