GENERACJA I IMPLEMENTACJA KRYPTOGRAFICZNIE SILNYCH KRZYWYCH ELIPTYCZNYCH GENERATION AND IMPLEMENTATION OF CRYPTOGRAPHICALLY STRONG ELLIPTIC CURVES

Wielkość: px
Rozpocząć pokaz od strony:

Download "GENERACJA I IMPLEMENTACJA KRYPTOGRAFICZNIE SILNYCH KRZYWYCH ELIPTYCZNYCH GENERATION AND IMPLEMENTATION OF CRYPTOGRAPHICALLY STRONG ELLIPTIC CURVES"

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Aktualny stan bezpieczeństwa krzywych eliptycznych

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Bardziej szczegółowo

Parametry systemów klucza publicznego

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

Bardziej szczegółowo

Problem logarytmu dyskretnego i protokół Diffiego-Hellmana. Mateusz Paluch

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy systemów kryptograficznych z kluczem jawnym RSA

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

Bardziej szczegółowo

Copyright by K. Trybicka-Francik 1

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

Bardziej szczegółowo

Copyright by K. Trybicka-Francik 1

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)

Bardziej szczegółowo

Algorytmy asymetryczne

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

Bardziej szczegółowo

Spis treści. Od Wydawcy

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

Bardziej szczegółowo

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

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,

Bardziej szczegółowo

Matematyka dyskretna

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,

Bardziej szczegółowo

Od Wydawcy Krzywe eliptyczne w kryptografii Wykorzystanie pakietu SAGE... 9

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

Bardziej szczegółowo

Wybrane zagadnienia teorii liczb

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

Bardziej szczegółowo

1. Wykład NWD, NWW i algorytm Euklidesa.

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.

Bardziej szczegółowo

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

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

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

Bardziej szczegółowo

Zarys algorytmów kryptograficznych

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

Bardziej szczegółowo

Kryptografia - zastosowanie krzywych eliptycznych

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Elementy teorii liczb i kryptografii Elements of Number Theory and Cryptography. Matematyka Poziom kwalifikacji: II stopnia

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Grupy, pierścienie i ciała

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.

Bardziej szczegółowo

Krzywe Freya i Wielkie Twierdzenie Fermata

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

Bardziej szczegółowo

Matematyka dyskretna

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

Bardziej szczegółowo

Wykład VI. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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:

Bardziej szczegółowo

Liczby pierwsze wielomianowo - ekstremalnie trudne?

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:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawowe struktury algebraiczne

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

Bardziej szczegółowo

Rijndael szyfr blokowy

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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)

Bardziej szczegółowo

Matematyka dyskretna

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

Bardziej szczegółowo

Bezpieczeństwo systemów komputerowych

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

Bardziej szczegółowo

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

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

Bardziej szczegółowo

Podstawowe struktury algebraiczne

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.

Bardziej szczegółowo

Bezpieczeństwo kart elektronicznych

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,

Bardziej szczegółowo

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

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)

Bardziej szczegółowo

Algorytmy w teorii liczb

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,

Bardziej szczegółowo

Post-kwantowy algorytm podpisu cyfrowego Kryptosystem NTRU

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

Bardziej szczegółowo

Matematyka dyskretna

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

Bardziej szczegółowo

Inne algorytmy z kluczem publicznym

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

Bardziej szczegółowo

Arytmetyka liczb binarnych

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

Bardziej szczegółowo

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

Bardziej szczegółowo

Kryptografia na procesorach wielordzeniowych

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

Bardziej szczegółowo

Wykład IV. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Bardziej szczegółowo

ROZPROSZONY SYSTEM DO KRYPTOANALIZY SZYFRÓW OPARTYCH NA KRZYWYCH ELIPTYCZNYCH

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ń

Bardziej szczegółowo

5. Rozwiązywanie układów równań liniowych

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

Bardziej szczegółowo

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

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

Bardziej szczegółowo

2. LICZBY RZECZYWISTE Własności liczb całkowitych Liczby rzeczywiste Procenty... 24

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

Bardziej szczegółowo

Matematyka dyskretna

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

Bardziej szczegółowo

SCHEMAT ZABEZPIECZENIA WYMIANY INFORMACJI POMIĘDZY TRZEMA UŻYTKOWNIKAMI KRYPTOGRAFICZNYM SYSTEMEM RSA

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

Bardziej szczegółowo

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

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

Bardziej szczegółowo

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

Bardziej szczegółowo

(4) W zbiorze R R definiujemy działania i wzorami. (a, b) (c, d) =(a + c, b + d),

(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

Bardziej szczegółowo

Podstawy programowania. Podstawy C# Przykłady algorytmów

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Matematyka dyskretna

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

Bardziej szczegółowo

1 Określenie pierścienia

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

DB Algebra liniowa semestr zimowy 2018

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

Bardziej szczegółowo

Ataki na algorytm RSA

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

Bardziej szczegółowo

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

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

Bardziej szczegółowo

Liczby zespolone. x + 2 = 0.

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ą

Bardziej szczegółowo

Ciała skończone. 1. Ciała: podstawy

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

Bardziej szczegółowo

Pierwiastki pierwotne, logarytmy dyskretne

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

Bardziej szczegółowo

Metoda Lenstry-Shora faktoryzacji dużych liczb całkowitych

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

Bardziej szczegółowo

Generowanie liczb o zadanym rozkładzie. ln(1 F (y) λ

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

Bardziej szczegółowo

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

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

Bardziej szczegółowo

1. LICZBY DZIAŁ Z PODRĘCZNIKA L.P. NaCoBeZu kryteria sukcesu w języku ucznia

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ć

Bardziej szczegółowo

Kody blokowe Wykład 2, 10 III 2011

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

Bardziej szczegółowo

Estymacja kosztów łamania systemu kryptograficznego

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

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

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

Bardziej szczegółowo

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

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 \

Bardziej szczegółowo

O MACIERZACH I UKŁADACH RÓWNAŃ

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

Bardziej szczegółowo

Przykładowe zadania z teorii liczb

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ę

Bardziej szczegółowo

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

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

Bardziej szczegółowo

ANALIZA MOŻLIWOŚCI ATAKU CZASOWEGO ORAZ SŁOWNIKOWEGO NA KOMUNIKACJĘ Z UŻYCIEM KRYPTOGRAFII ELIPTYCZNEJ

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Ę

Bardziej szczegółowo

Algorytmy i struktury danych. Wykład 4

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

Bardziej szczegółowo

1.1 Definicja. 1.2 Przykład. 1.3 Definicja. Niech G oznacza dowolny, niepusty zbiór.

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,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1. Określenie pierścienia

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

Bardziej szczegółowo

0.1 Pierścienie wielomianów

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

Bardziej szczegółowo

Algorytm i złożoność obliczeniowa algorytmu

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

Bardziej szczegółowo

1. Liczby zespolone. Jacek Jędrzejewski 2011/2012

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ć

Bardziej szczegółowo

2 Kryptografia: algorytmy symetryczne

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;

Bardziej szczegółowo

4. Systemy algebraiczne i wielomiany nad ciałami zastosowania Rodzaje systemów algebraicznych ciała, grupy, pierścienie

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

Bardziej szczegółowo

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

Bardziej szczegółowo

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

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ść

Bardziej szczegółowo

Tematyka do egzaminu ustnego z matematyki. 3 semestr LO dla dorosłych

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

Bardziej szczegółowo