KRYPTOGRAFIA Z KLUCZEM PUBLICZNYM (Ellis 1970)

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

Download "KRYPTOGRAFIA Z KLUCZEM PUBLICZNYM (Ellis 1970)"

Transkrypt

1 1 [Wybrane materiały do ćwiczeń 3-7 z podstaw klasycznej kryptografii z elementami kryptografii kwantowej dla studentów IV roku (semestr letni 2008)] KRYPTOGRAFIA Z KLUCZEM PUBLICZNYM (Ellis 1970) (ang. public key cryptography, PKC) szyfry asymetryczne (szyfry dwukluczowe): - klucz prosty (publiczny, jawny) - klucz odwrotny (prywatny, tajny) znając jeden klucz nie można praktycznie odkryć drugiego klucza w dostatecznie długim czasie pracy komputera o realnej mocy bez dodatkowych informacji, nie zawsze można odwrócić operację szyfrowania cofając kolejne czynności: f(in) = out, ale f 1 (out) =? np. y = 17 mod 3 => y = 2 (wynik jednoznaczny) x mod 3 = 2 => x = 2, 5, 8, 11,14, 17, 20,... (wynik niejednoznaczny)

2 Najpopularniejsze algorytmy kryptograficzne 2 1. DES (Data Encryption Standard) - symetryczny - stosowany do (de)kryptażu - amerykański i międzynarodowy standardowy alg. kryptograficzny - przyjęty także przez armię USA do szyfrowania informacji nieutajnionej, ale ważnej 2. RSA (algorytm Rivesta-Shamira-Adlemana) - asymetryczny - stosowany do (de)kryptażu i do podpisów cyfrowych 3. DSA (Digital Signature Algorithm) - asymetryczny - stosowany do podpisów cyfrowych - zatwierdzony w USA jako standard podpisu cyfrowego (Digital Signature Standard - DSS)...zatem 2 spośród 3 najpopularniejszych algorytmów to algorytmy PKC

3 3 Najpopularniejsze algorytmy z kluczem publ. do szyfrowania [algorytm problem obliczeniowy o znaczeniu kryptograficznym] 1. alg. RSA problem faktoryzacji dużych liczb 2. alg. Rabina problem faktoryzacji dużych liczb, problem znalezienia pierwiastków kwadratowych modulo n / P 3. alg. ElGamala problem znalezienia dyskretnych logarytmów, problem Diffiego-Hellmana 4. alg. McEliece a problem liniowego kodu dekodującego 5. alg. Merkle a-hellmana problem plecakowy sumy podzbiorów (knapsack subset sum problem) 6. alg. Chora-Rivesta problem plecakowy 7. alg. Goldwassera-Micaliego problem znalezienia reszt kwadratowych (quadratic residuosity problem) 8. alg. Bluma-Goldwassera problem faktoryzacji dużych liczb i problem Rabina

4 Liczba kluczy problem wielkiej liczby kluczy w kryptografii z kluczem symetrycznym Ile potrzeba kluczy dla N korespondentów jeśli każdy z każdym chce wymieniać zaszyfrowane dane algorytmem symetrycznym? 4 n sym (N) = ( N 2 ) = N(N 1) 2 Ile potrzeba kluczy dla sześciu, a ile dla 1 miliona korespondentów? n sym (6) = 15 n sym (10 6 ) A jaka jest liczba kluczy dla N korespondentów korzystających z algorytmów asymetrycznych? n asym (N) = 2N

5 FAQ: Jak zapisać liczbę w systemie binarnym? 5 a = 23 = (?) 2 a div 2 a mod a = (10111) 2 liczba jest tworzona od końca Mathematica: BaseForm[23,2] (10111) 2 Matlab: dec2bin(23,2) (10111) 2 a div b = [a/b] = Int (a/b) iloraz całkowity z dzielenia a przez b

6 Potęgowanie modularne 6 b = a k mod n =? jeśli n I; a, k Z n Algorytm: if k = 0 then b = 1 else begin A = a przedstaw k w postaci binarnej k = j i=0 k i2 i b = A k 0 for i = 1 to j do begin A = A 2 mod n b = b A k i mod n end end return(b) Mathematica: b=powermod[a,k,n]

7 Przykłady potęgowania modularnego 7 Zad: mod 1234 =? a = 5, n = 1234 k = 596 = = ( ) 2 i k_i A (mod n) b (mod n) Odp: 1013 Mathematica: PowerMod[5,596,1234] 1013 Zad: 3 8 mod 11 =? 8 = 2 3 = (1000) 2 i k_i A (mod n) b (mod n) Odp: 5 Mathematica: PowerMod[3,8,11] 5

8 Zad: 3 18 mod 11 =? 8 18 = = (10010) 2 i k i A = (mod 11) b (mod 11) Odp: 5 Mathematica: PowerMod[3,18,11] 5 czyli 3 8 mod 11 = 3 18 mod 11 Małe tw. Fermata dlaczego tak jest? Jeśli a Z p [czyli NWD(a, p) = 1], gdzie p P, to a p 1 1 (mod p) Uwaga: tj. szczególny przypadek tw. Eulera dla n = p, wówczas φ(p) = p 1. Wniosek: a p (mod p) =? Jeśli a Z p to a p a (mod p)

9 Funkcja Eulera φ: 9 1. Jeśli p P (tj. p jest liczbą pierwszą > 1) to φ(p) = p 1 2. Jeśli NWD(m, n) = 1 to φ(mn) = φ(m)φ(n) 3. Dla dowolnej liczby n = k j=1 pe j j, gdzie p j P i i j p i p j zachodzi φ(n) = n k ) (1 1pj np. φ(9) = 9(1 1/3) = 6. Mathematica: EulerPhi[9] 6 Tw. Eulera j=1 Jeśli a Z n, gdzie 1 < n I, to a φ(n) 1 (mod n) Przykłady: 1. Niech a = 3, n = 11 wtedy φ(11) = = (mod 11) 2. Niech a = 2, n = 21 wtedy φ(21) = φ(3)φ(7) = 2 6 = 12 a φ(n) = 2 12 = (mod 21)

10 Algorytm Rivesta-Shamira-Adlemana (RSA) (1978) 10 I. generacja kluczy RSA 1. Bolek wybiera dwie duże liczby pierwsze p q 2. liczy n = pq oraz φ = (p 1)(q 1) 3. wybiera losowo liczbę całkowitą e (1 < e < φ) taką, że NWD(e, φ) = 1 4. korzystając z algorytmu Euklidesa znajduje d (1 < d < φ) takie, że ed 1 mod φ 5. zatem klucz publiczny to (n, e) klucz prywatny to d terminologia: n moduł (ang. modulus) e wykładnik kryptażu = wykładnik szyfrujący (ang. encryption exponent) d wykładnik dekryptażu = w. deszyfrujący (ang. decryption exponent)

11 II. kryptaż RSA 11 Alicja szyfruje kluczem publicznym (n, e) 1. zamienia tekst jawny na t. prosty reprezentowany przez liczbę całkowitą m 0, n 1 2. liczy c = m e mod n 3. przesyła szyfrogram c do Bolka III. dekryptaż RSA Bolek używa klucza prywatnego d, aby policzyć m = c d mod n FAQ: Czy można używać algorytmu RSA w programach komercyjnych bez uiszczania tantiem? Tak. Patent amerykański wygasł 6.IX ciekawostka Od niedawna wiadomo, że już w 1973 ten algorytm opracował Cocks.

12 Przykład 1: I. generacja kluczy RSA niech: p = 2 357, q = 2 551, e = policzmy n = pq = φ = (p 1)(q 1) = czy NWD(φ, e) = 1? OK 3. policzmy d stosując alg. Euklidesa d = czy ed 1 mod φ? OK 5. zatem lub klucz publiczny (n, e) = ( , ) klucz prywatny d = klucz publiczny (n, e ) = ( , ) klucz prywatny d =

13 II. kryptaż RSA chcemy zaszyfrować wiadomość: ADAM 2. skorzystajmy z naszego jawnego alfabetu cyfrowego: 01 A 02 Ą 03 B 04 C 05 Ć 06 D 07 E 08 Ę 09 F 10 G 11 H 12 I 13 J 14 K 15 L 16 Ł 17 M 18 N 19 Ń 20 O 21 Ó 22 P 23 q 24 R 25 S 26 Ś 27 T 28 U 29 v 30 W 31 X 32 Y 33 Z 34 Ż 35 Ź 36 _ 37-38? 39, zatem tekst prosty to m = (01, 06, 01, 17) = policzmy szyfrogram korzystając z klucza jawnego (n, e): c = m e mod n = mod = III. dekryptaż RSA policzmy m = c d mod n gdzie c = , d = (tj. klucz prywatny Bolka), n = zatem otrzymujemy m = = (01, 06, 01, 17) = ADAM

14 Przykład 2: I. generacja kluczy RSA niech: p=11, q=17, e=13 1. policzmy n = pq = = 187 φ = (p 1)(q 1) = = czy NWD(φ, e) = 1? OK 3. policzmy d stosując alg. Euklidesa 14 q φ e y 2 y d = test: de = = (mod 160)

15 5. zatem 15 klucz publiczny (n, e) = (187, 13) klucz prywatny d = 37 II. kryptaż RSA 1. wybierzmy tekst jawny: AM => tekst prosty: m = (01, 17) = policzmy szyfrogram korzystając z klucza jawnego (n, e): c = m e mod n = mod 187 =? 13 = (1101) 2 i e i A (mod 187) c * *86 2 (mod 187) zatem szyfrogram to c = 2 Mathematica: PowerMod[117, 13, 187] 2

16 III. dekryptaż RSA 16 policzmy m = c d mod n = 2 37 mod 187 d = 37 = (100101) 2 i d i A (mod 187) m * (mod 187) zatem odszyfrowana wiadomość to m = 117 = (01, 17) = AM Przykład 3: Korzystając z kluczy RSA policzonych w przykładzie 1, proszę zaszyfrować i odszyfrować w blokach 6-cyfrowych tekst widzę ciemność? Rozw. klucze RSA: (n, e) = ( , ), d = wyznaczmy tekst prosty W I D Z Ę _ C I E M N O Ś Ć?

17 grupujemy ten tekst w bloki po 6 cyfr m = (301206, , , , ) szyfrogram to c = ( , , , , ) gdyż mod = itd. Mathematica: c = Table[PowerMod[m[[i]], e, n], i, 1, 5] dekryptaż M = (301206, , , , ) gdyż mod = itd. Mathematica: M = Table[PowerMod[c[[i]], d, n], i, 1, 5] test M = m. OK 17

18 Oczywiste metody ataku Ewy na kryptosystem RSA faktoryzacja n: Ewa znając n = pq może policzyć φ = (p 1)(q 1) i następnie policzyć prywatny klucz d Bolka 2. wyznaczenie φ bez konieczności faktoryzacji n: Ewa, znając e i φ może wyznaczyć d = e 1 mod φ, a także może wyznaczyć (p, q) z tożsamości: x = n φ + 1, y 2 = x 2 4n q = (x y)/2, gdzie x = p + q, y = p q. Dlaczego algorytm RSA wydaje się bezpieczny dla dużych liczb? Nie znamy efektywnych alg. klasycznych znajdowania czynników pierwszych (czyli faktoryzacji) dużych liczb. Hipoteza RSA (1978): Każda ogólna metoda łamania kryptosystemu RSA umożliwi znalezienie efektywnego algorytmu faktoryzacji. Do tej pory nikt nie udowodnił tej hipotezy.

19 Hybrydowy protokół kryptograficzny 19 stosowany np. do dystrybucji klucza symetrycznego z wykorzystaniem klucza asymetrycznego K - klucz publiczny Bolka P - klucz prywatny Bolka S - klucz sesyjny Alicji (np. do protokołu Vernama) m - wiadomość Alicji Algorytm: 1. Alicja zdobywa klucz K i tworzy losowo klucz S 2. Alicja szyfruje: i wysyła te szyfrogramy do Bolka 3. Bolek deszyfruje: S(m) oraz K(S) P [K(S)] = S S 1 [S(m)] = m

20 Zaufane centrum dystrybucji kluczy (ZCDK) które rozsyła tajnym kanałem klucz X i każdemu z korespondentów 20 Trzyetapowy protokół Shamira do przesyłania szyfrogramów bez pośrednictwa ZCDK, ale niestety bez uwierzytelnienia (tj. bez gwarancji autentyczności) 1. Alicja wybiera swój tajny klucz X A, a Bolek klucz X B 2. Alicja szyfruje wiadomość swoim kluczem X A i wysyła otrzymany kryptogram do Bolka 3. Bolek szyfruje kluczem X B odebrany kryptogram i odsyła go do Alicji 4. Alicja odszyfrowuje kluczem X 1 A ten kryptogram i odsyła go do Bolka 5. Bolek ostatecznie odszyfrowuje wiadomość kluczem X 1 B

21 Uzasadnienie protokołu Shamira WARUNEK KONIECZNY: Alicja i Bolek stosują szyfr przemienny, tj. 21 X A [X B (m)] = X B [X A (m)] ZATEM C A = X A (m) C AB = X B (C A ) C B = X 1 A (C AB) m = X 1 B (C B)

22 22 Przykład protokołu Shamira z wykorzystaniem algorytmu RSA tekst prosty: m = 12 Alicja wybiera: q A = 13, p A = 17, e A = 95 Bolek wybiera: q B = 11, p B = 19, e B = Alicja liczy n A = q A p A = 221 φ A = (q A 1)(p A 1) = 192 q φ A e A y 2 y zatem e A = d A = 95

23 0.2 Bolek liczy n B = q B p B = 209 φ B = (q B 1)(p B 1) = q φ B e B y 2 y zatem e B = d B = Alicja i Bolek publikują w internecie: n A = 221 i n B = 209 n = n A n B = 46189

24 1. Alicja szyfruje wiadomość m kluczem e A : 24 C A = m e A mod n = Bolek szyfruje C A kluczem e B : test : m = C e A A mod n = 12 C AB = C e B A mod n = Alicja deszyfruje C AB kluczem d A = e A : C B = C e A AB mod n = Bolek ostatecznie odszyfrowuje wiadomość m kluczem d B = e B : m = C e B B mod n = 12

25 Kryptograficzna kontrola zbrojeń 25 umowa między USA i Rosją w kwestii kontroli zbrojeń: 1. moc próbnych eksplozji jądrowych ma być mniejsza niż 150 kt 2. można zainstalować sejsmometry na poligonach przeciwnika 3. wyniki pomiarów można przesyłać drogą radiową do kraju macierzystego PROBLEMY: Jak przesłać sygnały z gwarancją autentyczności? Jak uchronić się przed przemytem dodatkowych informacji? ROZWIAZANIE: stosujemy szyfr asymetryczny (dwukluczowy) przeciwnik dostaje klucz do odczytu, ale nie ma klucza do zapisu

26 Zadania kryptografii poufność wiadomości (ang. message confidentiality) czy nikt nie podsłuchuje? tradycyjne rozwiązania: zaklejona koperta, zamknięte opakowanie 2. uwierzytelnianie wiadomości (ang. message authentication) z kim się kontaktuję? zapewnienie autentyczności depeszy Bolek odbierając wiadomość od Alicji chce mieć pewność, że to właśnie ona jest nadawcą tej informacji, tzn. że Ewa nie podaje się za Alicję. tradycyjne rozwiązania: dowód osobisty, paszport, prawo jazdy

27 3. integralność wiadomości (ang. message integrity) czy zmodyfikowano wiadomość? Bolek odbierając wiadomość od Alicji chce mieć pewność, że wiadomość podczas transmisji nie została zmieniona (przez Ewę lub usterki tech.). tradycyjne rozwiązania: plomba, pieczęć 4. niezaprzeczalność wiadomości (ang. message non-repudiation) kto wysłał / otrzymał wiadomość? pokwitowanie cyfrowe Dowód na to, że Alicja wysłała depeszę i że Bolek ją odebrał: (a) Bolek odbierając wiadomość od Alicji chce mieć pewność, że Alicja nie wyprze się, iż była nadawcą tej wiadomości. (b) Alicja chce mieć pewność, że Bolek po odbiorze jej wiadomości nie wyprze się, iż już odebrał tę wiadomość. tradycyjne rozwiązania: podpis z datą 27

28 Prosty protokół symetryczny uwierzytelniania wiadomości Alicja i Bolek mają ten sam indentyfikator cyfrowy 2. Alicja szyfruje tekst i identyfikator 3. Bolek odszyfrowuje kryptogram i porównuje (odszyfrowany) identyfikator Alicji ze swoim Uwaga: Należy tak szyfrować, aby efekt doczepki był rozłożony równomiernie w całym tekście. Postulaty bezpiecznego szyfrowania 1. konfuzja: statystyka kryptogramu nie powinna zależeć od statystyki tekstu prostego 2. dyfuzja: jeden znak tekstu prostego powinien wpływać na wiele znaków kryptogramu

29 29 Prosty protokół asymetryczny uwierzytelniania wiadomości uwierzytelnienie wiadomości za pomocą algorytmów z kluczem publicznym Jak zagwarantować autentyczność wiadomości/podpisu? WSKAZÓWKA Szyfrować można także kluczem prywatnym X i i deszyfrować kluczem publicznym K i PROTOKÓŁ 1. Alicja szyfruje wiadomość kluczem publicznym Bolka K B, a potem (część lub całość) swoim kluczem prywatnym X A 2. Bolek deszyfruje kryptogram kluczem publicznym Alicji K A, a potem swoim kluczem prywatnym X B

30 Generatory i grupy cykliczne Grupa multiplikatywna dla Z n : 30 Z n = {x Z n : NWD (x, n) = 1} tj. zbiór elementów odwracalnych modulo n. Jeśli p P to Z p = {x : 1 x p 1} Jeśli g Z n x Z n i x g i (mod n) to g nazywa się generatorem Z n (lub generatorem modulo n, lub też elementem pierwotnym względem n), a taką grupę Z n nazywa się grupą cykliczną

31 Rzad elementu i moc zbioru 31 k = ord(x) rząd elementu x Z n [ang. (multiplicative) order of x] tj. najmniejsza liczba całkowita k spełniająca warunek 1 = x k mod n Mathematica: MultiplicativeOrder[x,n] Zn moc zbioru Zn (ang. order of Zn) tj. liczba elementów zbioru Zn φ(n) funkcja Eulera φ (ang. Euler φ function, Euler totient function) tj. ilość liczb całkowitych x Zn takich, że NWD(x, n) = 1 Mathematica: EulerPhi[n] Z n = φ(n)

32 Własności 32 Z n jest grupą cykliczną n = 2, 4, p k lub 2p k, gdzie p P i k 1. i j (mod (p 1)) g i g j Jeśli g jest generatorem Z p to g i też jest generatorem Z p o ile NWD(i, p 1) = 1

33 Przykład dla n=21 Z 21 =? Z 21 = {1, 2, _, 4, 5, _, _, 8, 10, 11, _13, _, _, 16, 17, _, 19, 20} 33 Z 21 =? Z 21 = φ(21) = φ(3)φ(7) = 2 6 = 12 Mathematica: EulerPhi[21] 12 k = ord(x) =? np. k = ord(2) = 6 dlaczego? gdyż 2 6 mod 21 = = 1 Mathematica: MultiplicativeOrder[2, 21] 6 x Z k = ord(x)

34 Przykłady grup cyklicznych i ich generatorów 1. Czy grupa Z21 jest cykliczna? Nie, gdyż n = 21 / {2, 4, p k, 2p k }. 2. Czy grupa Z25 jest cykliczna? Tak, gdyż n = 25 = 5 2 {p k }. 3. Jakie są generatory grupy Z5? 34 k = ^k (mod 5) = ^k (mod 5) = ^k (mod 5) = i 3 są generatorami, ale 4 nie jest generatorem. 4. Jakie są generatory grupy Z6? Z6 = φ(6) = φ(2)φ(3) = 2 Z6 = {1, 5} = {5 0, 5 1 } 5 jest generatorem.

35 5. Czy istnieją generatory Z 8? Z 8 = {1, 3, 5, 7}, test: 3 k 1, 3, 5 k 1, 5 zatem Z 8 nie jest cykliczna (tj. nie ma generatorów). 6. Jakie są generatory Z11? Jaki jest rząd elementów Z11? k = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 2^k mod 11 = 2, 4, 8, 5, 10, 9, 7, 3, 6, 1 3^k mod 11 = 3, 9, 5, 4, 1, 3, 9, 5, 4, 1 4^k mod 11 = 4, 5, 9, 3, 1, 4, 5, 9, 3, 1 5^k mod 11 = 5, 3, 4, 9, 1, 5, 3, 4, 9, 1 6^k mod 11 = 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 7^k mod 11 = 7, 5, 2, 3, 10, 4, 6, 9, 8, 1 8^k mod 11 = 8, 9, 6, 4, 10, 3, 2, 5, 7, 1 9^k mod 11 = 9, 4, 3, 5, 1, 9, 4, 3, 5, 1 10^k mod 11 = 10, 1, 10, 1, 10, 1, 10, 1, 10, 1 program w języku Mathematica: n=11;do[print[table[mod[g^k,n],{k,1,n-1}]],{g,2,n-1}] Widać, że 2, 6, 7 i 8 są generatorami grupy Z 11; ord(x)=10 gdy x=2,6,7,8; ord(x)=5 gdy x=3,4,5,9; ord(10)=2 35

36 Algorytm wymiany kluczy Diffiego-Hellmana (1976) 36 (ang. key exchange/distribution) PROBLEM: Czy Alicja i Bolek mogą ustalić wspólny klucz tajny wymieniejąc informacje przez kanał niezabezpieczony (publiczny)? 1. Alicja i Bolek uzgadniają publicznie dużą liczbę p P i g takie, że 1 < g < p 1 (zalecane jest, aby g było generatorem Zp) 2. Alicja wybiera losowo 1 x A < p 1 i wysyła Bolkowi liczbę y A = g x A mod p 3. Analogicznie, Bolek wybiera losowo 1 x B < p 1 i wysyła Alicji y B = g x B mod p 4. Alicja liczy k A = y x A B 5. Bolek liczy k B = y x B A mod p mod p ZATEM k A = k B = g x Ax B mod p uwaga: algorytm działa także wtedy, gdy p nie jest liczbą pierwszą

37 Przykład algorytmu Diffiego-Hellmana Niech p = 19 i g = 2 2. Alicja wybiera losowo x A = 5 i wysyła Bolkowi y A = g x A mod p y A = 2 5 mod 19 = Bolek wybiera losowo x B = 6 i wysyła Alicji y B = g x B mod p y B = 2 6 mod 19 = 7 4. Alicja liczy k A = y x A B mod p k A = 7 5 mod 19 = Bolek liczy k B = y x B A mod p k B = 13 6 mod 19 = 11 zatem tajny klucz to k A = k B = 11. uwagi: od niedawna wiadomo, że ten alg. wcześniej opracował Williamson (1976) algorytm nie nadaje się (de)kryptażu

38 Algorytm Diffiego-Hellmana dla trzech korespondentów 38 PROBLEM: Jak Alicja, Bolek i Celina mogą ustalić wspólny klucz tajny? 1. Wszyscy korespondenci uzgadniają publicznie dwie duże liczby p i g 2. Alicja wybiera losowo x A i wysyła Bolkowi y A = g x A mod p 3. Bolek wybiera losowo x B i wysyła Celinie y B = g x B mod p 4. Celina wybiera losowo x C i wysyła Alicji y C = g x C mod p 5. Alicja wysyła Bolkowi z A = y x A C 6. Bolek wysyła Celinie z B = y x B A 7. Celina wysyła Alicji z C = y x C B 8. Alicja liczy k A = z x A C 9. Bolek liczy k B = z x B A 10. Celina liczy k C = z x C B mod p mod p mod p mod p mod p mod p ZATEM k A = k B = k C gdyż z x A C yx Cx A B g x Ax B x C (mod p) itd.

39 ... lub trochę prościej Wszyscy korespondenci uzgadniają publicznie dwie duże liczby p i g 2. Alicja wybiera losowo x A i wysyła Bolkowi y A = g x A mod p 3. Bolek wybiera losowo x B i wysyła Celinie y B = g x B mod p z B = y x B A mod p 4. Celina wybiera losowo x C i wyznacza klucz k C = z x C B oraz wysyła Alicji y C = g x C mod p z C = y x C B mod p 5. Alicja liczy klucz k A = z x A C z A = y x A C mod p 6. Bolek liczy klucz k B = z x B A mod p oraz wysyła Bolkowi mod p mod p założenia: p P, g jest generatorem Z p oraz x A, x B, x C < p 1.

40 Reszty i niereszty kwadratowe 40 x pierwiastek kwadratowy modulo n x 2 a (mod n), gdzie a, x Z n a reszta kwadratowa (ang. quadratic residue) modulo n = kwadrat modulo n Jeśli nie ma takiego x, że powyższy warunek jest spełniony to a nazywa się nieresztą kwadratową (ang. quadratic non-residue) modulo n Q n + Q n = Z n Q n zbiór reszt kwadratowych modulo n Q n zbiór niereszt kwadratowych (dopełnienie zbioru reszt) modulo n Jeśli p P to Jeśli p, q P to Q p = Q p = 1 2 (p 1) Z p = p 1 Q pq = Q p Q q = 1 4 (p 1)(q 1), Q pq = 3 Q pq Z pq = (p 1)(q 1)

41 Przykład: Q 5 =? 1 2 = 1 1 (mod 5) 2 2 = 4 4 (mod 5) 3 2 = 9 4 (mod 5) 4 2 = 16 1 (mod 5) 41 Q 5 = {1, 4} ale nie ma liczb x Z5 spełniających: x 2 2 (mod 5) x 2 3 (mod 5) Q 5 = {2, 3} widać, że Z5 = Q 5 + Q 5, Q 5 = Q 5 = (p 1)/2 = 2

42 Symbol Legendre a L(x, p) = ( ) x p = 0 gdy x 0 (mod p) 1 gdy x Q p 1 gdy x Q p gdzie x I, p P (P to zbiór liczb pierwszych > 2) Własności: 1. L(x, p) x (p 1)/2 mod p 2. L(x 1 x 2, p) = L(x 1, p)l(x 2, p) 3. L(0, p) = 0 jeśli p P, co wynika ze wzoru często definiuje się dodatkowo, że L(0, 1) = 1 (co jest zgodne ze wzorem 1) Symbol Jacobiego uogólnienie symbolu Legendre a J(x, m) = k [L(x, p j )] e j j=1 lub ( x m) = k ( x jeśli m = k j=1 pe j j, gdzie p j P ; NWD(p i, p j ) = 1 dla i j; x, e j I. j=1 p j ) ej 42

43 Własności: J(x, p) = L(x, p) jeśli p P J(x, p 1 p 2 ) = L(x, p 1 )L(x, p 2 ) jeśli p 1 p 2 P symbol J(x, m) jest określony wyłącznie dla nieparzystych m Przykłady: 1. L(1, p) = 1 2. L( 1, p) = ( 1) (p 1)/2 43 p = 1, 5, 9,... L( 1, p) = 1 x = 1 Q p p = 3, 7, 11,... L( 1, p) = 1 x = 1 Q p p = 2, 4,... L( 1, p) = wartość nieokreślona 3. J(2, 15) =? J(2, 15) = L(2, 5)L(2, 3) (4 mod 5)(2 mod 3) ( 1)( 1) = 1 w programie Mathematica: JacobiSymbol[2, 15] 1.

44 Pierwiastki kwadratowe Tw. Jeśli a Q n dla n = k j=1 pe j j, gdzie p j P są względnie różne i 0 < e j I, to jest dokładnie 2 k różnych pierwiastków kwadratowych mod n. w szczególności: n = p P 2 pierwiastki n = pq gdzie p q P 4 pierwiastki Zad. Znaleźć pierwiastki kw. z a Q 15 : x 2 a (mod 15) Z 15 = {1, 2, _, 4, _, _, 7, 8, _, _, 11, _, 13, 14} Z 15 = φ(5)φ(3) = 4 2 = x = x^2 (mod 15) = zatem x 2 = 1 (mod 15) ma 4 pierwiastki: x = 1, 4, 11, 14 x 2 = 4 (mod 15) ma też 4 pierwiastki: x = 2, 7, 8, 13

45 Reszty kwadratowe a generatory Tw. Jeśli g jest generatorem Z p (p P ) to wówczas: 45 a Q p parzyste k a = g k mod p Zad. Wyznaczyć Q 13. program w Matlabie: g=2; n=13; k=0:n-2; y=mod(g.ˆk,n); [k;y] k = ^k mod 13 = Q 13 = {1, 3, 4, 9, 10, 12} (taki sam wynik dostajemy dla innych generatorów Z 13, np. g = 6) Zad. Wyznaczyć Q 7. k = ^k mod 7 = Q 7 = {1, 2, 4}

46 Jak liczyć pierwiastki kwadratowe z a mod p? Założenie: p P sprawdź czy a Q p, tzn. czy L(a, p) = 1; jeśli L(a, p) = 1 to przerwij obliczenia, gdyż nie ma pierwiastków; 2. wybierz losowo b Q p, tj. takie b Zp, że L(b, p) = 1; 3. przedstaw p 1 jako 2 s t, gdzie t jest liczbą nieparzystą; 4. policz a 1 mod p stosując algorytm Euklidesa; 5. policz c b t mod p oraz r a (t+1)/2 mod p; 6. for k = 1 to s 1 do begin d (r 2 a 1 ) 2s k 1 mod p; if d 1 (mod p) then r rc mod p; c c 2 mod p; end; 7. wynik = {±r}.

47 Przykład 1: Jakie sa pierwiastki kwadratowe z 2 mod 7? sprawdźmy czy L(a, p) = 1: L(2, 7) = a (p 1)/2 = (mod 7) 2. niech b = 3, sprawdźmy czy L(b, p) = 1: L(3, 7) = 3 (7 1)/2 = 27 1 (mod 7) OK OK 3. przedstawmy p jako p 1 = 2 s t: p 1 = 6 = 2 3 s = 1, t = 3 4. nie trzeba liczyć a 1 mod p, gdyż s 1 = 0 5. podobnie nie trzeba liczyć c = b t mod p 6. policzmy r = a (t+1)/2 mod p: r = 2 (3+1)/2 = 4 7. pętla nie jest wykonywana, gdyż s 1 = 0 8. wynik: {±r} = { 4, 4} = {3, 4}

48 test: (mod 7) (mod 7) (sic!) 48 Przykład 2: Jakie sa pierwiastki kwadratowe z 3 mod 13? 1. sprawdźmy czy L(a, p) = 1: L(3, 13) = a (p 1)/2 = = 1 (mod 13) OK 2. niech b = 2, sprawdźmy czy L(b, p) = 1: L(2, 13) = 2 (13 1)/2 = (mod 13) OK 3. przedstawmy p jako p 1 = 2 s t: p 1 = 12 = s = 2, t = 3 4. policzmy a 1 mod p stosując algorytm Euklidesa: q p a y2 y

49 a 1 = 4 9 (mod 13) test: (mod 13) policzmy c = b t mod p oraz r = a (t+1)/2 mod p: c = 2 3 = 8 r = 3 (3+1)/2 = 9 6. pętla tylko dla k = s 1 = 1: d = (r 2 a 1 ) 2s k 1 mod p; d = (9 2 9) 20 = (mod 13); warunek d 1 (mod p) nie jest spełniony; nie trzeba liczyć c c 2 mod p; 7. wynik: {±r} = { 9, 9} = {4, 9} test: (mod 13) (mod 13) (sic!)

50 Szczególne przypadki liczenia pierwiastków kw. modulo p 50 r 2 a (mod p), gdzie p P ; a Q p 1. Jeśli p 3 (mod 4) to 2. Jeśli p 5 (mod 8) to policz r = ±a (p+1)/4 mod p d = a (p 1)/4 mod p (a) jeśli d = 1 to (b) jeśli d = p 1 to r = ±a (p+3)/8 mod p r = ±2a(4a) (p 5)/8 mod p

51 Przykłady p = 7, a = 2 r =? Odp: p = 7 3 (mod 4) zatem można zastosować wzór 1: r = ±a (p+1)/4 mod p r = ±2 8/4 = ±4, Test: (±4) 2 = 16 2 (mod 7) 2. p = 13, a = 4 r =? Odp: p = 13 5 (mod 8) d = a (p 1)/4 mod p d = 4 12/4 = (mod 13) zatem można zastosować wzór 2(b): r = ±2a(4a) (p 5)/8 mod p r = ±8 16 ±11 ±2 (mod 13) 3. p = 13, a = 3 r =? Odp: p = 13 5 (mod 8) d = 3 12/4 = 27 1 (mod 13) zatem można zastosować wzór 2(a): r = ±a (p+3)/8 mod p r = ±3 2 ±4 (mod 13), Test: (±4) 2 = 16 3 (mod 13)

52 Jak liczyć pierwiastki kwadratowe z a mod n? Założenie: n = p 1 p 2, gdzie p 1 p 2 P znaleźć 2 pierwiastki z a mod p 1 ±r 1 2. znaleźć 2 pierwiastki z a mod p 2 ±r 2 3. zastosować algorytm Euklidesa, aby znaleźć takie c 1, c 2 I, że c 1 p 1 + c 2 p 2 = 1 4. policzyć R ± = (c 1 p 1 r 2 ± c 2 p 2 r 1 ) mod n 5. 4 pierwiastki z a mod n to: {±R + mod n, ±R mod n}

53 Przykład: Jakie sa pierwiastki kwadratowe z 4 mod 91? a = 4; n = 91 = 13 7 p 1 = 13, p 2 = znajdźmy 2 pierwiastki z a mod p 1 : 4 mod 13 {±r 1 } = {±2} {2, 11} {±11} (mod 13) 2. znajdźmy 2 pierwiastki z a mod p 2 : 4 mod 7 {±r 2 } = {±2} {2, 5} {±5} (mod 7) 3. zastosujmy algorytm Euklidesa, aby policzyć c 1 p 1 + c 2 p 2 = 1: q p1 p2 c1 c1 c2 c c 1 = 1, c 2 = 2 test: c 1 p 1 + c 2 p 2 = = 1

54 54 4. policzmy R ± = (c 1 p 1 r 2 ± c 2 p 2 r 1 ) mod n : R ± = 13 5 ± = 65 ± 154 zatem R + = = 89 2 (mod 91) R = = (mod 91) 5. wynik: ostatecznie znajdujemy cztery pierwiastki kwadratowe z 4 modulo 91: {±2 mod 91, ±37 mod 91} = {2, 37, 54, 89} 6. test: 4 = (mod 91)

55 Algorytm Rabina (1979) 55 uproszczona wersja a. R. jest zatwierdzona jako standard podpisu cyfrowego (Digital Signature Standard, DSS) I. Generacja kluczy 1. wybierz losowo dwie duże liczby pierwsze p q i policz n = pq 2. klucz publiczny to n, a klucz prywatny to (p, q) II. Kryptaż 1. wiadomość (tekst prosty) jest liczbą m {0, 1,..., n 1} 2. szyfrogram to reszta kwadratowa c = m 2 mod n III. Dekryptaż 1. policz pierwiastki kwadratowe z c mod n m 1, m 2, m 3, m 4 2. jedno z m i jest wiadomością m

56 Jak uniknać tej nadmiarowości (redundancji)? 56 Np. replikujemy kilka ostatnich bitów m. Dlaczego algorytm Rabina jest bezpieczny dla dużych liczb? Bezpieczeństwo a. R. wynika z trudności obliczenia pierwiastków kw. modulo duża liczba złożona. Problem ten jest równoważny problemowi faktoryzacji. Zaleta algorytmu Rabina: Kryptaż jest tu o wiele szybszy niż w algorytmie RSA. Przykład 1 algorytmu Rabina I. Bolek generuje klucze 1. niech p = 229 i q = 307 (tj. klucz prywatny) 2. zatem n = pq = (tj. klucz publiczny) II. Alicja szyfruje np. wiadomość AM 1. tekst prosty: m = (01, 17) = 117

57 57 2. Alicja zapisuje m w postaci binarnej m = ( ) 2 3. replikuje np. r = 5 ostatnich bitów m = ( ) 2 = szyfrogram to c = m 2 mod n = Alicja przesyła (c, r) Bolkowi III. Bolek deszyfruje c 1. liczy pierwiastki kwadratowe z c mod n: m 1 = 3765 = ( ) 2 m 2 = = ( ) 2 m 3 = = ( ) 2 m 4 = = ( ) 2 2. widać, że tylko m 1 ma powtórzone 5 ostatnich bitów 3. zatem m = ( ) 2 = 117 = (01, 17) = AM co jest rozszyfrowaną wiadomością Alicji.

58 Przykład 2 algorytmu Rabina Niech p = 13, q = 7, r = 2, m = F I. Bolek generuje klucze klucz prywatny to (p, q) = (13, 7), zatem klucz publiczny to n = 91 II. Alicja szyfruje wiadomość F 1. m = m = (1001) 2 3. replikuje dwa (r = 2) ostatnie bity: m = ( ) 2 = = (mod 91) c = 4 III. Bolek deszyfruje c 1. liczy pierwiastki kwadratowe z c mod n: (te pierwiastki już znamy!) m 1 = 2 = (10) 2 m 2 = 37 = ( ) 2 m 3 = 54 = ( ) 2 m 4 = 89 = ( ) 2 2. widać, że tylko m 2 ma powtórzone 2 ostatnie bity 3. zatem m = (1001) 2 = 9 = F

59 Chińskie twierdzenie o resztach (Chinese remainder theorem) Jeśli i j NWD(n i, n j ) = 1, to układ kongruencji x a i (mod n i ) (i = 1,, s) ma jedno rozwiązanie x modulo n = n 1 n 2 n s. Algorytm Gaussa Rozwiązanie powyższego układu dane jest wzorem: gdzie x = s i=1 a in i M i mod n 59 N i = n n i M i = Ni 1 mod n i Przykład: Rozwiąż układ kongruencji x 3 (mod 7) x 7 (mod 13)

60 Rozwiazanie: Dane są a 1 = 3, a 2 = 7, n 1 = 7, n 2 = 13, zatem n = n 1 n 2 = 91 oraz N 1 = 13, N 2 = 7 60 M i N i 1 (mod n i ) M i N i + m i n i = 1 M m 1 7 = 1 q N1 n1 x2 x1 y2 y M 1 = 1, m 1 = 2 TEST: ( 1) = 1 M m 2 13 = 1 M 2 = 2, m 2 = 1 x = a 1 N 1 M 1 + a 2 N 2 M 2 =? x = 3 13 ( 1) = = 59 zatem rozwiązanie to x = 59 mod 91

61 Algorytmy plecakowe (algorytmy upakowaniowe, ang. knapsack algorithms) 61 alg. Merkle a-hellmana (1978) - został złamany przez Shamira i Zippela (1980) alg. Grahama-Shamira (1979) - został złamany alg. Lu-Lee (1979) - został złamany przez Adlemana i Rivesta (1979) alg. Goodmana-McAuleya (1985) - został złamany alg. Pieprzyka (1986) - został złamany... alg. Chora-Rivesta (1985) - nie został jeszcze złamany, ale jego odmianę (tzw. Powerline System) złamał Lenstra (1991)

62 Koncepcja algorytmów plecakowych Problem: Jak zapakować plecak niektórymi przedmiotami z danego zbioru, aby plecak miał określony ciężar? m = (m 1, m 2,, m n ) tekst prosty zapisany w systemie binarnym: Jeśli i-ty przedmiot jest w plecaku to m i = 1, a jeśli go nie ma to m i = 0 k=(k 1, k 2,, k n ) klucz (rosnący ciąg ciężarów): k i jest ciężarem i-tego przedmiotu oraz k i < k i+1 c = i m ik i szyfrogram (ciężar zapakowanego plecaka) Przykłady: m = k = c = = 29 m = k = c = 0 = 0 62

63 Zad. Zaszyfruj m = 1010 kluczem k z powyższych przykładów. 63 m = k = c = = 24 Ciag superrosnacy to taki ciąg (b 1, b 2,, b n ), w którym każdy element jest większy od sumy wszystkich poprzedzających go, b i > i 1 j=1 b j dla i = 2,, n Jak rozwiazać problem plecakowy dla ciagu superrosnacego Dla danych s i (b 1, b 2,, b n ) znaleźć ciąg (m 1, m 2,, m n ) taki, że s = n i=1 m ib i Algorytm 1. for i=n downto 1 do if s b i then m i 1; s s b i ; else m i 0 2. wynik (m 1, m 2,, m n )

64 Algorytm plecakowy Merkle a-hellmana (1978) 64 I. Generacja kluczy 1. Bolek wybiera ciąg superrosnący b = (b 1, b 2,, b n ) i liczbę (tzw. moduł) M taką, że M > n i=1 b i 2. wybiera losowo liczbę W taką, że NWD(M, W ) = 1 3. wybiera permutację π liczb (1, 2,, n) 4. liczy a = (a 1, a 2,, a n ), gdzie a i = W b π(i) mod M 5. klucz publiczny to a II. Kryptaż klucz prywatny to (π, M, W, b) 1. Alicja zapisuje wiadomość w systemie binarnym m = (m 1, m 2,, m n ) 2. zdobywa klucz publiczny a 3. liczy szyfrogram ze wzoru c = m a = n i=1 m ia i i wysyła go do Bolka

65 III. Dekryptaż Bolek liczy d = W 1 c mod M 2. znajduje takie r = (r 1, r 2,..., r n ), że d = r b = n i=1 r ib i, gdzie r i {0, 1} 3. wiadomość Alicji to m = (m 1, m 2,, m n ), gdzie m i = r π(i) Jak działa dekryptaż? d W 1 c W 1 ( i m ia i ) = i m i(w 1 a i ) i m ib π(i) (mod M) UWAGA: c może być większe od M

66 Przykład algorytmu Merkle a-hellmana Niech b = (1, 2, 5, 9, 19, 40) i m = 38 (tak jak poprzednio) 66 oraz M = 80, W = 3, π = (4, 3, 2, 6, 1, 5) I. Generacja kluczy 1. wybieramy b = (1, 2, 5, 9, 19, 40) i M = 80: Czy nasz ciąg b jest superrosnący? Tak. Czy M > n i=1 b i? Tak, gdyż M = 80 > wybieramy W = 3: Czy NWD(M, W ) = 1? Tak. 3. wybieramy permutację π = (4, 3, 2, 6, 1, 5) 4. liczymy a i = W b π(i) mod M:

67 a 1 3b π(1) = 3b 4 = 3 9 = 27 (mod 80) a 2 3b π(2) = 3b 3 = 3 5 = 15 (mod 80) itd. Program w Matlabie: b=[1,2,5,9,19,40];pi=[4,3,2,6,1,5];i=1:6;a=mod(3*b(pi(i)),80) zatem klucz publiczny to a = (27, 15, 6, 40, 3, 57) II. Kryptaż klucz prywatny to (π, M, W, b) = ((4, 3, 2, 6, 1, 5), 80, 3, (1, 2, 5, 9, 19, 40)) 1. chcemy zaszyfrować wiadomość m = 38 = (1, 0, 0, 1, 1, 0) 2. mamy klucz publiczny a = (27, 15, 6, 40, 3, 57) 3. liczymy szyfrogram c = n i=1 m ia i m = a = c = = 70

68 czyli c = 70 Matlab: m=[1,0,0,1,1,0];c=a*m 68 III. Dekryptaż 1. liczymy d = W 1 c mod M d = mod mod 80 =? stosujemy alg. Euklidesa q test: 27 3 = 81 1 (mod 80) zatem d = (mod 80) 2. znajdujemy bity r i takie, że d = n i=1 r ib i stosujemy algorytm z początku zajęć: 50=40+9+1

69 b = r = permutujemy r = (1, 0, 0, 1, 0, 1) zgodnie z m i = r π(i) m = (r π(1), r π(2), r π(3), r π(4), r π(5), r π(6) ) = (r 4, r 3, r 2, r 6, r 1, r 5 ) = (1, 0, 0, 1, 1, 0) Matlab: r=[1,0,0,1,0,1];m=r(pi(i)) 4. zatem odszyfrowana wiadomość to m = (1, 0, 0, 1, 1, 0) = 38

70 70 Dlaczego kryptosystem M.-H. wydawał się bezpieczny dla dużych liczb? Pozorne bezpieczeństwo kryptosystemu M.-H. wiąże się z problemem sumy podzbioru (subset sum problem) co jest problemem NP-zupełnym. Jak można złamać kryptosystem Merkle a-hellmana? Znane są algorytmy czasu wielomianowego (polynomial time algorithms) umożliwiające złamanie kryptosystemu M.-H. Algorytmy te pozwalają znaleźć takie liczby U i M, że U /M jest bliskie U/M, gdzie (M, W ) są częścią klucza prywatnego Bolka U = W 1 mod M ciąg (b 1, b 2,, b n), gdzie b i = U a i mod M, jest superrosnący Aby odszyfrować wiadomość Alicji, Ewa może wykorzystać (b 1, b 2,, b n) zamiast (b 1, b 2,, b n ).

71 Algorytm szyfrowania ElGamala (1985) 71 I. Generacja kluczy 1. wybierz losowo dużą liczbę pierwszą p i generator α Zp 2. wybierz losowo a {1, 2,..., p 2} i policz β = α a mod p 3. klucz publiczny to (p, α, β) klucz prywatny to a II. Kryptaż 1. wiadomość (tekst prosty) jest liczbą m Z p = {0, 1,..., p 1} 2. wybierz losowo k {1, 2,..., p 2} takie, że NWD(k, p 1) = 1 3. policz stosując alg. potęgowania modularnego: γ = α k mod p oraz δ = mβ k mod p 4. szyfrogram to c = (γ, δ)

72 III. Dekryptaż policz Γ = γ p 1 a mod p 2. wiadomość m = Γδ mod p Dowód słuszności dekryptażu zatem γ p 1 1 (mod p) stąd Γ γ p 1 a γ a α ak (mod p) Γδ α ak mβ k α ak mα ak = m (mod p) Dlaczego algorytm ElGamala jest bezpieczny dla dużych liczb? Bezpieczeństwo a. E. wynika z trudności obliczenia dyskretnych logarytmów w Z p. Problem ten jest równoważny problemowi faktoryzacji. Uwaga: Kwantowy algorytm Shora (1994) liczenia dyskretnych logarytmów efektywnie łamie a. E.. Na (nie)szczęście nie skonstruowano jeszcze praktycznych komputerów kwantowych.

73 Przykład algorytmu szyfrowania ElGamala 73 Niech: p = 11, α = 2, a = 8, m = Ć, k = 9 I. Bolek generuje klucze 1. sprawdźmy czy α = 2 jest generatorem Z 11 metoda nieefektywna (x Z 11) x = x=2^k mod 11 => k = OK metoda efektywna Niech φ(p) = p 1 p 2 p k. Tw. Jeśli pi α φ(p)/p i / 1 (mod p) to α jest generatorem. φ(11) = 10 = 2 5. α φ(p)/p 1 = 2 10/2 = (mod 11) / 1 OK α φ(p)/p 2 = 2 10/5 = 4 (mod 11) / 1 OK zatem α = 2 jest generatorem Z 11

74 74 2. β = α a = 2 8 = (mod 11) zatem klucz publiczny to (p, α, β) = (11, 2, 3) i klucz prywatny to a = 8 II. Alicja szyfruje wiadomość m kluczem (p, α, β) 1. m = Ć =5 2. k = 9 {1,..., p 2} oraz NWD(k, p 1) = 1 OK. 3. policzmy γ = α k i δ = mβ k : γ = 2 9 = (mod 11) δ = = (mod 11) 4. zatem szyfrogram to c = (γ, δ) = (6, 9) II. Bolek deszyfruje kryptogram c kluczem a 1. policzmy Γ = γ p 1 a = (mod 11) 2. m = Γδ =? m = 3 9 = 27 5 (mod 11) 3. zatem rozszyfrowana wiadomość to m = 5 = Ć

75 Podpis ElGamala 75 I. Jak Alicja może podpisać wiadomość m? 1. Alicja wybiera losowo tajną liczbę k {1, 2,..., p 2} taką, że NWD(k, p 1) = liczy γ = α k mod p 3. liczy k 1 mod (p 1) stosując alg. Euklidesa 4. liczy ɛ = k 1 [h(m) aγ] mod (p 1), gdzie h(m) jest funkcją skrótu (ang. hash function) 5. jawny podpis Alicji to (γ, ɛ) II. Jak Bolek może zweryfikować podpis Alicji (γ, ɛ) pod wiadomością m kluczem publicznym Alicji (p, α, β)? Weryfikacja podpisu: β γ γ ɛ α h(m) (mod p)

76 Dowód: ɛ k 1 [h(m) aγ] mod (p 1) kɛ h(m) aγ (mod (p 1)) h(m) kɛ + aγ (mod (p 1)) k 76 Ciekawostka β γ γ ɛ (α a ) γ (α k ) ɛ α aγ+kɛ α h(m) (mod p) Algorytm podpisu cyfrowego (Digital Signature Algorithm, DSA) jest wariantem algorytm podpisu ElGamala. DSA stał się Standardem Podpisu Cyfrowego (Digital Signature Standard, DSS) uznawanym przez rządy na całym świecie. FAQ: Czy można używać alg. ElGamala w programach komercyjnych bez uiszczania tantiem? Tak. A. E. jest pierwszym algorytmem z kluczem publicznym nie objętym (od 1997) prawami patentowymi.

77 Przykład 1. podpisu ElGamala Weźmy dane z przykładu dla alg. szyfrowania ElGamala: JAWNE: wiadomość m = 5 funkcja skrótu h(m), np. dla prostoty załóżmy, że f. tożsamościową h(m) = m [choć w praktyce należy stosować nietrywialne funkcje skrótu, np. MMO (Matyasa-Meyera-Oseasa), MD4, MD5] klucz publiczny (p, α, β) = (11, 2, 3) TAJNE: k = 9 oraz klucz prywatny a = 8 I. Alicja podpisuje wiadomość policzmy γ = α k = (mod 11) 2. k 1 mod (p 1) = 9 1 mod 10 =?

78 q p-1 k y2 y zatem 9 1 = 1 9 mod ɛ = k 1 [h(m) aγ] mod (p 1) =? dla prostoty załóżmy, że h(m) = m, wówczas ɛ = 9[5 8 6] = 9 43 = (mod 10) 4. zatem jawny podpis Alicji to (γ, ɛ) = (6, 3) II. Bolek weryfikuje podpis Weryfikacja podpisu (γ, ɛ) = (6, 3) pod wiadomością m = 5 kluczem publicznym (p, α, β) = (11, 2, 3): β γ γ ɛ α h(m) (mod p)

79 LHS = = = (mod 11) RHS = 2 5 = (mod 11) LHS=RHS 79 Warunek bezpieczeństwa Alicja szyfrując lub podpisując nową wiadomość m powinna wylosować nową liczbę k k. Dlaczego? Jeśli Ewa ma dwie wiadomości m i m podpisane lub zaszyfrowane tym samym k, to ma szansę policzyć prywatny klucz a Alicji.

80 Przykład 2. podpisu ElGamala Weźmy dane z poprzedniego przykładu: (p, α, β) = (11, 2, 3), k = 9, a = 8 ale inną wiadomość, np. m = D =6 I. Alicja podpisuje wiadomość γ = α k = 2 9 = 6 (mod 11) (jak w przykładzie 1) 2. k 1 mod (p 1) = 9 (jak w przykładzie 1) 3. policzmy ɛ = k 1 [h(m ) aγ] mod (p 1) =? ɛ = 9[6 8 6] 2 (mod 10) 4. zatem podpis Alicji to (γ, ɛ ) = (6, 2) II. Bolek weryfikuje podpis β γ γ ɛ α m (mod p) LHS = (mod 11) RHS = (mod 11) LHS=RHS

81 Czy Ewa może złamać ten szyfr Alicji? Tak. Alicja była nieostrożna podpisując wiadomości m i m z wykorzystaniem tego samego k. Zatem Ewa ma szansę złamać podpis, tzn. znaleźć a i k z układu kongruencji: m aγ + kɛ (mod (p 1)) m aγ + kɛ (mod (p 1)) Jakie dane ma do dyspozycji Ewa? Ewa zna wiadomości m, m, jawne podpisy Alicji (γ, ɛ, ɛ ) oraz jej klucz publiczny (p, α, β). Choć nie zna wartości k i k, ale wie/zakłada, że k = k. zatem 6 6a + 2k (mod 10) 5 6a + 3k (mod 10) odejmijmy stronami k 1 9 (mod 10) 81

82 82 policzmy zatem a z kongruencji 5 6a (mod 10) 2 8 6a (mod 10) a 3 oraz 8 (mod 10) sprawdźmy, którą z tych wartości wykorzystała Alicja do generacji kluczy: β α a (mod p) czyli 3 2 a (mod 11) jeśli a = 3 to 2 3 = 8 / 3 (mod 11) jeśli a = 8 to 2 8 = (mod 11) zatem a = 8 jest prywatnym kluczem Alicji. Złamaliśmy szyfr Alicji!

83 Pseudokwadraty modularne a Z n jest pseudokwadratem mod n (tj. a Q n ), jeśli jest nieresztą kwadratową modulo n (tj. a Q n ) taką, że symbol Jacobiego J(y, n) = 1 Przykład: p = 3, q = 5 n = pq = 15 a a 2 mod n L(a, p) L(a, q) J(a, n) 1, 1, 1, 1, 1 kwadrat mod n 2, 4, -1, -1, 1 pseudokwadrat mod n 4, 1, 1, 1, 1 kwadrat mod n 7, 4, 1, -1, -1 8, 4, -1, -1, 1 pseudokwadrat mod n 11, 1, -1, 1, -1 13, 4, 1, -1, -1 14, 1, -1, 1, -1 Mathematica: f[a_]:={a,mod[a^2,15],jacobisymbol[a,3], JacobiSymbol[a,5],JacobiSymbol[a,15]} zatem a = 1, 4 Q 15 oraz a = 2, 8 Q 15 83

84 Algorytm Goldwassera-Micaliego (1982) 84 przykład szyfrowania przypadkowego (probabilistic encryption) I. Generacja kluczy 1. Bolek wybiera losowo dwie duże liczby pierwsze p q i liczy n = pq 2. wybiera y Z n będące pseudokwadratem modulo n, tzn. y jest nieresztą kwadratową modulo n taką, że symbol Jacobiego J(y, n) = 1 3. klucz publiczny to (n, y) II. Kryptaż klucz prywatny to (p, q) 1. Alicja zapisuje wiadomość w systemie binarnym m = (m 1, m 2,, m t ) 2. zdobywa klucz publiczny (n, y) 3. dla i=1:t wykonuje wybiera losowo x i Z n liczy c i y m ix 2 i mod n

85 4. szyfrogram c = (c 1, c 2,, c t ) wysyła do Bolka 85 III. Dekryptaż 1. dla i=1:t wykonuje liczy symbol Legendre a L i L(c i, p) jeśli L i = 1 to m i 0 inaczej m i 1 2. rozszyfrowana wiadomość Alicji to m = (m 1, m 2,, m t ) Dlaczego algorytm G.-M. wydaje się bezpieczny dla dużych liczb? Nie znamy efektywnych alg. klasycznych testowania czy dana liczba x, dla której J(x, n) = 1, jest resztą kwadratową modulo n, gdy n jest liczbą złożoną. Tj. tzw. problem reszt kwadratowych (ang. quadratic residuosity problem). Jeśli uda się nam sfaktoryzować n to automatycznie możemy złamać kryptosystem G.-M.

86 Przykład algorytmu Goldwassera-Micaliego Niech p = 5, q = 7, y = 3, x = (4, 9, 32, 2), m = F 86 I. Generacja kluczy 1. wybieramy p = 5 q = 7 i liczymy n = pq = wybieramy y = 3 Z 35 i liczymy J(y, n): J(y, n) = L(y, p)l(y, q) = L(3, 5)L(3, 7) jako, że L(y, p) y (p 1)/2 (mod p) to L(3, 5) = (mod 5) L(3, 7) = 3 3 = 27 1 (mod 7) zatem J(3, 35) = ( 1)( 1) = 1 czyli y = 3 jest pseudokwadratem modulo n = klucz publiczny to (n, y) = (35, 3) klucz prywatny to (p, q) = (5, 7)

87 II. Kryptaż zapisujemy wiadomość w systemie binarnym m = F = 9 = (1, 0, 0, 1) t = 4 2. wykorzystujemy klucz publiczny (n, y) = (35, 3) 3. wybieramy losowo x i Z n np. x = (x 1, x 2, x 3, x 4 ) = (4, 9, 32, 2) 4. liczymy c i = y m ix 2 i mod n c 1 yx 2 1 = 3 16 = (mod 35) c 2 y 0 x 2 2 = (mod 35) c 3 y 0 x 2 3 = (mod 35) c 4 yx 2 4 = 3 4 = 12 (mod 35) Matlab: m=[1,0,0,1];x=[4,9,32,2];c=mod(3.^m.*x.^2,35) 5. zatem szyfrogram to c = (c 1, c 2, c 3, c 4 ) = (13, 11, 9, 12)

88 III. Dekryptaż liczymy symbol Legendre a L i L(c i, p) dla i=1:4 ze wzoru L i = L(c i, 5) c 2 i (mod 5) L(13, 5) 13 2 = (mod 5) itd. zatem (L 1, L 2, L 3, L 4 ) = ( 1, 1, 1, 1) 2. jeśli L i = 1 to m i 0 inaczej m i 1 zatem m = (m 1, m 2, m 3, m 4 ) = (1, 0, 0, 1) 3. zatem rozszyfrowana wiadomość Alicji to m = (1, 0, 0, 1) = 9 = F.

89 Algorytm Bluma-Goldwassera (1985) 89 najefektywniejszy algorytm szyfrowania przypadkowego porównywalny z algorytmem RSA kryptosystem B.-G. wydaje się formalnie bezpieczny z uwagi na to, że nie są znane efektywne klasyczne algorytmy faktoryzacji i rozwiązywania problemu Rabina (zob. alg. Rabina) jednak kryptosystem B.-G. można często złamać metodą ataku z wybranym szyfrogramem (chosen-ciphertext attack) tj. wtedy gdy Ewa może wybrać różne szyfrogramy i ma dostęp do odszyfrowanych tekstów jawnych.

90 Protokół identyfikacji Fiata-Shamira (FS) 90 przykład dowodu tożsamości o wiedzy zerowej (zero-knowledge proof of identity ) uproszczona wersja protokołu Feigego-Fiata-Shamira PROBLEM: Bolek chce wiedzieć czy Alicja ma klucz prywatny s, I. Etap wstępny ale Alicja nie chce ujawniać wartości s. 1. ZCDK wybiera losowo dwie duże liczby pierwsze p q oraz liczy n = pq. liczby p i q są tajne, a n jest opublikowane. 2. Alicja wybiera losowo liczbę s 1, n 1 i liczy v = s 2 mod n

91 s klucz prywatny Alicji v klucz publiczny Alicji UWAGA: s musi być względnie pierwsze z n, ale ten warunek jest praktycznie zawsze spełniony (inaczej by się dało sfaktoryzować n) 3. ZCDK rejestruje klucz Alicji v i ewentualnie sprawdza czy NWD(v, n) = 1 NWD(s, n) = 1 II. Protokół (jest powtarzany t razy) 1. Alicja wybiera losowo r 1, n 1 (tj. zobowiązanie / commitment) i wysyła Bolkowi x = r 2 mod n (tj. świadek / witness) 2. Bolek wysyła Alicji bit b = 0 lub b = 1 (tj. test, wyzwanie / challenge) 3. Alicja wysyła Bolkowi y = rs b mod n (tj. odpowiedź / response) 4. Bolek odrzuca dowód jeśli y = 0, inaczej przyjmuje dowód jeśli y 2 xv b (mod n) 91

92 Jak działa ten protokół? Jeśli Alicja nie zna klucza s, to może wybrać takie r, że: albo oszuka Bolka, gdy ten wyśle b = 1, ale wówczas nie oszuka go dla b = 0, albo na odwrót. Jaką pewność może mieć Bolek, że Alicja go nie oszukuje po jednym (t = 1) upełnomocnieniu (akredytacji)? P = 1/2... a po t upełnomocnieniach? P = 1 1/2 t Dlaczego protokół FS wydaje się bezpieczny dla dużych liczb? Nie znamy efektywnych alg. klasycznych liczenia pierwiastków kwad. modulo n, jeśli n jest liczbą złożoną. Stąd też nie wiadomo jak znaleźć pierwiastki kwad. z v lub xv b modulo n. Problem ten jest matematycznie równoważny problemowi faktoryzacji. 92

93 Przykład protokołu identyfikacji Fiata-Shamira Niech p = 3, q = 5, s = 8, t = 3, r = 3, 6, 7 odpowiednio dla b = 0, 1, 1 I. Etap wstępny ZCDK wybiera p = 3 i q = 5 i publikuje n = Alicja wybiera losowo liczbę s = 8 i liczy v = 8 2 mod 15 = 4 zatem s = 8 klucz prywatny Alicji v = 4 klucz publiczny Alicji 3. ZCDK sprawdza czy NWD(v, n) =NWD(s, n) = 1: NWD(v, n) =NWD(4, 15) = 1 OK NWD(s, n) =NWD(8, 15) = 1 OK

94 II. Protokół - niech t=3 runda 1: Alicja wybiera losowo np. r = 3 i wysyła Bolkowi x = r 2 mod n x = 9 2. Bolek wysyła Alicji np. bit b = 0 3. Alicja wysyła Bolkowi y = rs b mod n y = 3 8 b = 3 4. Bolek sprawdza czy y 2 xv b (mod n) 9 9 OK zatem Bolek może przyjąć z prawd. 1/2, że Alicja nie oszukiwała runda 2: 1. Alicja wybiera losowo np. r = 6 i wysyła Bolkowi x = r 2 mod n x = 6

95 2. Bolek wysyła Alicji np. bit b = Alicja wysyła Bolkowi y = rs b mod n y 6 8 b = 48 3 (mod 15) 4. Bolek sprawdza czy y 2 xv b (mod n) (mod 15) zatem Bolek może przyjąć z prawd. 3/4, że Alicja nie oszukiwała runda t = 3: 1. r = 7 x = 4 2. b = 1 3. y 7 8 b = (mod 15) (mod 15) OK zatem Bolek może przyjąć z prawd. 1 2 t = 7/8, że Alicja nie oszukiwała.

96 Protokół identyfikacji Feigego-Fiata-Shamira (FFS) (1988) tj. najlepszy znany dowód tożsamości o wiedzy zerowej FFS jest opatentowany I. Etap wstępny 1. ZCDK wybiera losowo dwie duże liczby pierwsze p q takie, że p q 3 (mod 4) oraz liczy n = pq. (takie n nazywa się liczbą Bluma) ZCDK wyznacza też parametry bezpieczeństwa k, t liczby p i q są tajne, a n, k, t są opublikowane. 2. Alicja wybiera losowo wektor s = (s 1, s 2,, s k ) gdzie s i 1, n 1 oraz wektor a = (a 1, a 2,, a k ) o wartościach binarnych. UWAGA: Warunek NWD(s i, n) = 1 musi być spełniony, ale praktycznie zawsze tak jest dla bardzo dużych n. 3. Alicja wyznacza wektor v = (v 1, v 2,, v k ) o elementach v i = ( 1) a i (s 2 i ) 1 mod n 96

97 klucz prywatny Alicji to s klucz publiczny Alicji v i n ZCDK rejestruje klucz Alicji v i (na wszelki wypadek) sprawdza czy NWD(v i, n) = 1 wówczas J(v i, n) = 1, co daje gwarancję, że żadne tajne dane nie wyciekną. II. Protokół (jest powtarzany t razy) 1. Alicja wybiera losowo r 1, n 1 i bit β oraz wysyła Bolkowi x = ( 1) β r 2 mod n 2. Bolek wysyła Alicji wektor b = (b 1, b 2,, b k ) o losowych wartościach binarnych 3. Alicja wysyła Bolkowi y = r k j=1 sb j j mod n 4. Bolek liczy z = y 2 k j=1 vb j j mod n oraz sprawdza, czy z = ±x 0

98 Przykład dla najmniejszej liczby Bluma, tj. n = 21 R r 2 (mod n) 98 Matlab: n=21;r=1:(n-1);[r;mod(r.^2,n)] r = R = zatem 1 r 2 (mod n) r = 1, 8, 13, 20 4 r 2 (mod n) r = 2, 5, 16, 19 7 r 2 (mod n) r = 7, 14 9 r 2 (mod n) r = 3, r 2 (mod n) r = 6, r 2 (mod n) r = 4, 10, 11, r 2 (mod n) r = 9, 12 1 ρr (mod n) r = ρ = 1 11 _ _ 19 2 _ _ 10 20

99 Przykład protokołu identyfikacji FFS I. Etap wstępny ZCDK wybiera q = 3 i p = 7 oraz liczy n = pq = 21. ZCDK wyznacza też parametry bezpieczeństwa k = 3, t = 2 wartości n, k, t są opublikowane. 2. Alicja wybiera losowo wektory s i a np. s = (2, 4, 5) i a = (1, 0, 1) sprawdźmy, czy NWD(s i, n) = 1 NWD(2, 21) =NWD(4, 21) =NWD(5, 21) = 1. OK 3. Alicja liczy v i = ( 1) a i(s 2 i ) 1 mod n, gdzie i = 1, 2, 3: v 1 = (mod 21) v 2 = (mod 21) v 3 = (mod 21) zatem

100 klucz prywatny Alicji to s = (2, 4, 5) klucz publiczny Alicji to v = (5, 4, 5) i n = ZCDK rejestruje klucz Alicji v i sprawdza czy NWD(v i, n) = 1 NWD(5, 21) =NWD(4, 21) = 1. OK J(v i, 21) =? J(5, 21) = L(5, 3)L(5, 7) = ( 1)( 1) = 1. OK J(4, 21) = L 2 (2, 3)L 2 (2, 7) = ( 1) 2 ( 1) 2 = 1. OK gdyż J(x, p 1 p 2 ) = L(x, p 1 )L(x, p 2 ) L(x 1 x 2, p) = L(x 1, p)l(x 2, p) II. Protokół (powtarzany t = 2 razy) runda 1: 1. Alicja wybiera losowo r = 10 i bit β = 1 oraz wysyła Bolkowi x = ( 1) β r 2 mod n x (mod 21)

101 załóżmy, że Bolek wylosował b = (1, 1, 0) i wysłał ten wektor Alicji 3. Alicja wysyła Bolkowi y = r k j=1 sb j j mod n y = (mod 21) 4. Bolek liczy z = y 2 k j=1 vb j j mod n z = (mod 21) runda 2: oraz sprawdza, czy z = ±x 0 z = x = 5. OK 1. tym razem Alicja wybiera losowo r = 2 i bit β = 0 oraz liczy x = ( 1) β r 2 mod n x = 4 i tę liczbę wysyła Bolkowi 2. załóżmy, że Bolek wylosował b = (1, 0, 1) i wysłał ten wektor Alicji 3. Alicja liczy y = r k j=1 sb j j mod n y = = 20 i tę liczbę wysyła Bolkowi

102 4. Bolek liczy z = y 2 k j=1 vb j j mod n z = (mod 21) 102 oraz sprawdza, czy z = ±x 0. z = x = 4. OK Dlaczego protokół FFS jest lepszy od FS? W jednej rundzie protokołu FFS nadawanych jest k upełnomocnień (akredytacji), a w przypadku protokołu FS tylko jedno. Jaką pewność może mieć Bolek, że Alicja go nie oszukuje po t powtórzeniach protokołu FFS? P = 1 2 kt Jakie wartości k i t są zalecane dla protokołu FFS? k = 5, t = 4 P = =

103 Uwagi końcowe Ze względów dydaktycznych, wszystkie przykłady algorytmów asymetrycznych podano dla bardzo małych liczb nie gwarantujących bezpieczeństwa kryptosystemów. 2. Aby zagwarantować bezpieczeństwo kryptosystemów asymetrycznych klucze powinny być o długości kilkuset cyfr dziesiętnych. 3. Pamiętajmy także, że dobry kryptolog jest ultrakonserwatystą w kwestii wyboru długości kluczy publicznych (Schneier), tym bardziej, że tego uczy nas historia: I shall be surprised if anyone regularly factors numbers of size without special form during the present century (R. Guy, 1976). Factoring a 125-digit number would take 40 quadrillion years, tj lat (R. Rivest, 1977).... ale już w 1994 sfaktoryzowano liczbę 129-cyfrową.

104 Zalecane długości klucza publicznego 104 Jakie są zalecane długości klucza publicznego, jeśli chcemy się zabezpieczyć przed atakiem: (a) osoby prywatnej, (b) firmy, (c) instytucji rządowych? [wg B. Schneiera] długość w bitach => dł. w cyfrach dziesiętnych Rok (a) (b) (c) (a) (b) (c) National Security Agency (NSA) zaleca używanie kluczy o długości od 512 do 1024 bitów (czyli od 154 do 308 cyfr dziesiętnych) w ich standardzie podpisów cyfrowych (Digital Signature Standard, DSS) Długość liczby (ilość cyfr liczby) Długość L b liczby n przy podstawie b dana jest wzorem L b = [log b n] + 1 = [ln n/ ln b] + 1

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

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

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

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

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

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

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

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

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 9 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 9 Spis treści 14 Podpis cyfrowy 3 14.1 Przypomnienie................... 3 14.2 Cechy podpisu...................

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

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

WSIZ Copernicus we Wrocławiu

WSIZ Copernicus we Wrocławiu Bezpieczeństwo sieci komputerowych Wykład 4. Robert Wójcik Wyższa Szkoła Informatyki i Zarządzania Copernicus we Wrocławiu Plan wykładu Sylabus - punkty: 4. Usługi ochrony: poufność, integralność, dostępność,

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

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

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

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

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

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

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

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś  Wykład 1 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8physdamuedupl/~tanas Wykład 1 Spis treści 1 Kryptografia klasyczna wstęp 4 11 Literatura 4 12 Terminologia 6 13 Główne postacie

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

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas. Wykład 11 Kryptografia z elementami kryptografii kwantowej Ryszard Tanaś http://zon8.physd.amu.edu.pl/~tanas Wykład 11 Spis treści 16 Zarządzanie kluczami 3 16.1 Generowanie kluczy................. 3 16.2 Przesyłanie

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

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.)

Kryptografia-0. przykład ze starożytności: około 489 r. p.n.e. niewidzialny atrament (pisze o nim Pliniusz Starszy I wiek n.e.) Kryptografia-0 -zachowanie informacji dla osób wtajemniczonych -mimo że włamujący się ma dostęp do informacji zaszyfrowanej -mimo że włamujący się zna (?) stosowaną metodę szyfrowania -mimo że włamujący

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

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

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

BSK. Copyright by Katarzyna Trybicka-Fancik 1. Bezpieczeństwo systemów komputerowych. Podpis cyfrowy. Podpisy cyfrowe i inne protokoły pośrednie Bezpieczeństwo systemów komputerowych Podpis cyfrowy Podpisy cyfrowe i inne protokoły pośrednie Polski Komitet Normalizacyjny w grudniu 1997 ustanowił pierwszą polską normę określającą schemat podpisu

Bardziej szczegółowo

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

RSA. R.L.Rivest A. Shamir L. Adleman. Twórcy algorytmu RSA RSA Symetryczny system szyfrowania to taki, w którym klucz szyfrujący pozwala zarówno szyfrować dane, jak również odszyfrowywać je. Opisane w poprzednich rozdziałach systemy były systemami symetrycznymi.

Bardziej szczegółowo

Kryptologia przykład metody RSA

Kryptologia przykład metody RSA Kryptologia przykład metody RSA przygotowanie: - niech p=11, q=23 n= p*q = 253 - funkcja Eulera phi(n)=(p-1)*(q-1)=220 - teraz potrzebne jest e które nie jest podzielnikiem phi; na przykład liczba pierwsza

Bardziej szczegółowo

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

LICZBY PIERWSZE. 14 marzec 2007. Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F. Jeśli matematyka jest królową nauk, to królową matematyki jest teoria liczb. C.F. Gauss (1777-1855) 14 marzec 2007 Zasadnicze twierdzenie teorii liczb Zasadnicze twierdzenie teorii liczb Ile jest liczb

Bardziej szczegółowo

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

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym) 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

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

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

Bezpieczeństwo w sieci I. a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp. Bezpieczeństwo w sieci I a raczej: zabezpieczenia wiarygodnosć, uwierzytelnianie itp. Kontrola dostępu Sprawdzanie tożsamości Zabezpieczenie danych przed podsłuchem Zabezpieczenie danych przed kradzieżą

Bardziej szczegółowo

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

Zadanie 1: Protokół ślepych podpisów cyfrowych w oparciu o algorytm RSA Informatyka, studia dzienne, inż. I st. semestr VI Podstawy Kryptografii - laboratorium 2010/2011 Prowadzący: prof. dr hab. Włodzimierz Jemec poniedziałek, 08:30 Data oddania: Ocena: Marcin Piekarski 150972

Bardziej szczegółowo

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym Mieliśmy więc...... system kryptograficzny P = f C = f 1 P, gdzie funkcja f składała się z dwóch elementów: Algorytm (wzór) np. C = f(p) P + b mod N Parametry K E (enciphering key) tutaj: b oraz N. W dotychczasowej

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

Bezpieczeństwo systemów komputerowych

Bezpieczeństwo systemów komputerowych Bezpieczeństwo systemów komputerowych Wprowadzenie do kryptologii Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 16 listopada 2016 Jak ta dziedzina powinna się nazywać?

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

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

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup.

Zegar ten przedstawia reszty z dzielenia przez 6. Obrazuje on jak kolejne liczby można przyporządkować do odpowiednich pokazanych na zegarze grup. Rozgrzewka (Ci, którzy znają pojęcie kongruencji niech przejdą do zadania 3 bc i 4, jeśli i te zadania są za proste to proponuje zadanie 5): Zad.1 a) Marek wyjechał pociągiem do Warszawy o godzinie 21

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

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

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

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

PuTTY. Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Inne interesujące programy pakietu PuTTY. Kryptografia symetryczna PuTTY Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje

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

Szyfrowanie RSA (Podróż do krainy kryptografii)

Szyfrowanie RSA (Podróż do krainy kryptografii) Szyfrowanie RSA (Podróż do krainy kryptografii) Nie bójmy się programować z wykorzystaniem filmów Academy Khana i innych dostępnych źródeł oprac. Piotr Maciej Jóźwik Wprowadzenie metodyczne Realizacja

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

Wprowadzenie ciag dalszy

Wprowadzenie ciag dalszy Wprowadzenie ciag dalszy Patryk Czarnik Bezpieczeństwo sieci komputerowych MSUI 2009/10 Szyfry asymetryczne Wymyślone w latach 70-tych Używaja dwóch różnych (ale pasujacych do siebie ) kluczy do szyfrowania

Bardziej szczegółowo

Kongruencje twierdzenie Wilsona

Kongruencje twierdzenie Wilsona Kongruencje Wykład 5 Twierdzenie Wilsona... pojawia się po raz pierwszy bez dowodu w Meditationes Algebraicae Edwarda Waringa (1770), profesora (Lucasian Professor) matematyki w Cambridge, znanego głównie

Bardziej szczegółowo

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska,

Teoria liczb. Magdalena Lemańska. Magdalena Lemańska, Teoria liczb Magdalena Lemańska Literatura Matematyka Dyskretna Andrzej Szepietowski http://wazniak.mimuw.edu.pl/ Discrete Mathematics Seymour Lipschutz, Marc Lipson Wstęp Teoria liczb jest dziedziną matematyki,

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

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

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

LICZBY PIERWSZE. Jan Ciurej Radosław Żak LICZBY PIERWSZE Jan Ciurej Radosław Żak klasa IV a Katolicka Szkoła Podstawowa im. Świętej Rodziny z Nazaretu w Krakowie ul. Pędzichów 13, 31-152 Kraków opiekun - mgr Urszula Zacharska konsultacja informatyczna

Bardziej szczegółowo

Szyfrowanie informacji

Szyfrowanie informacji Szyfrowanie informacji Szyfrowanie jest sposobem ochrony informacji przed zinterpretowaniem ich przez osoby niepowołane, lecz nie chroni przed ich odczytaniem lub skasowaniem. Informacje niezaszyfrowane

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Szyfrowana wersja protokołu HTTP Kiedyś używany do specjalnych zastosowań (np. banki internetowe), obecnie zaczyna

Bardziej szczegółowo

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Laboratorium nr 5 Podpis elektroniczny i certyfikaty Laboratorium nr 5 Podpis elektroniczny i certyfikaty Wprowadzenie W roku 2001 Prezydent RP podpisał ustawę o podpisie elektronicznym, w która stanowi że podpis elektroniczny jest równoprawny podpisowi

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

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

Bezpieczeństwo danych, zabezpieczanie safety, security

Bezpieczeństwo danych, zabezpieczanie safety, security Bezpieczeństwo danych, zabezpieczanie safety, security Kryptologia Kryptologia, jako nauka ścisła, bazuje na zdobyczach matematyki, a w szczególności teorii liczb i matematyki dyskretnej. Kryptologia(zgr.κρυπτός

Bardziej szczegółowo

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

Matematyka dyskretna. Wykład 11: Kryptografia z kluczem publicznym. Gniewomir Sarbicki Matematyka dyskretna Wykład 11: Kryptografia z kluczem publicznym Gniewomir Sarbicki Idea kryptografii z kluczem publicznym: wiadomość f szyfrogram f 1 wiadomość Funkcja f (klucz publiczny) jest znana

Bardziej szczegółowo

Wprowadzenie do technologii VPN

Wprowadzenie do technologii VPN Sieci komputerowe są powszechnie wykorzystywane do realizacji transakcji handlowych i prowadzenia działalności gospodarczej. Ich zaletą jest błyskawiczny dostęp do ludzi, którzy potrzebują informacji.

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

Bezpieczeństwo w Internecie

Bezpieczeństwo w Internecie Elektroniczne Przetwarzanie Informacji Konsultacje: czw. 14.00-15.30, pokój 3.211 Plan prezentacji Szyfrowanie Cechy bezpiecznej komunikacji Infrastruktura klucza publicznego Plan prezentacji Szyfrowanie

Bardziej szczegółowo

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S.

Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S. Załóżmy, że musimy zapakować plecak na wycieczkę. Plecak ma pojemność S. Przedmioty mają objętości,,...,, których suma jest większa od S. Plecak ma być zapakowany optymalnie, tzn. bierzemy tylko te przedmioty,

Bardziej szczegółowo

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera

Twierdzenie Eulera. Kongruencje wykład 6. Twierdzenie Eulera Kongruencje wykład 6 ... Euler, 1760, Sankt Petersburg Dla każdego a m zachodzi kongruencja a φ(m) 1 (mod m). Przypomnijmy: φ(m) to liczba reszt modulo m względnie pierwszych z m; φ(m) = m(1 1/p 1 )...

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

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

Podstawy Secure Sockets Layer

Podstawy Secure Sockets Layer Podstawy Secure Sockets Layer Michał Grzejszczak 20 stycznia 2003 Spis treści 1 Wstęp 2 2 Protokół SSL 2 3 Szyfry używane przez SSL 3 3.1 Lista szyfrów.................................... 3 4 Jak działa

Bardziej szczegółowo

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Laboratorium nr 3 Podpis elektroniczny i certyfikaty Laboratorium nr 3 Podpis elektroniczny i certyfikaty Wprowadzenie W roku 2001 Prezydent RP podpisał ustawę o podpisie elektronicznym, w która stanowi że podpis elektroniczny jest równoprawny podpisowi

Bardziej szczegółowo

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE W ALGORYTMACH KOMUNIKACJI Krzysztof Bartyzel Wydział Matematyki Fizyki i Informatyki, Uniwersytet Marii Curii-Skłodowskiej w Lublinie Streszczenie: Komunikacja

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

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

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna 1. Wstęp Wprowadzenie do PKI Infrastruktura klucza publicznego (ang. PKI - Public Key Infrastructure) to termin dzisiaj powszechnie spotykany. Pod tym pojęciem kryje się standard X.509 opracowany przez

Bardziej szczegółowo

Przewodnik użytkownika

Przewodnik użytkownika STOWARZYSZENIE PEMI Przewodnik użytkownika wstęp do podpisu elektronicznego kryptografia asymetryczna Stowarzyszenie PEMI Podpis elektroniczny Mobile Internet 2005 1. Dlaczego podpis elektroniczny? Podpis

Bardziej szczegółowo

Zastosowania informatyki w gospodarce Wykład 5

Zastosowania informatyki w gospodarce Wykład 5 Instytut Informatyki, Automatyki i Robotyki Zastosowania informatyki w gospodarce Wykład 5 Podstawowe mechanizmy bezpieczeństwa transakcji dr inż. Dariusz Caban dr inż. Jacek Jarnicki dr inż. Tomasz Walkowiak

Bardziej szczegółowo

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność

Systemy Mobilne i Bezprzewodowe laboratorium 12. Bezpieczeństwo i prywatność Systemy Mobilne i Bezprzewodowe laboratorium 12 Bezpieczeństwo i prywatność Plan laboratorium Szyfrowanie, Uwierzytelnianie, Bezpieczeństwo systemów bezprzewodowych. na podstawie : D. P. Agrawal, Q.-A.

Bardziej szczegółowo

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

PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES. Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska PROBLEMATYKA BEZPIECZEŃSTWA SIECI RADIOWYCH Algorytm szyfrowania AES Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Wprowadzenie Problemy bezpieczeństwa transmisji Rozwiązania stosowane dla

Bardziej szczegółowo

Kryptografia publiczna (asymetryczna) Szyfrowanie publiczne (asym) Problem klucza publicznego. Podpisujemy cyfrowo. Jak zweryfikować klucz publiczny?

Kryptografia publiczna (asymetryczna) Szyfrowanie publiczne (asym) Problem klucza publicznego. Podpisujemy cyfrowo. Jak zweryfikować klucz publiczny? Kryptografia publiczna (asymetryczna) Wykład 7 Systemy kryptograficzne z kluczem publicznym Wiedza o kluczu szyfrującym nie pozwala odgadnąć klucza deszyfrującego Odbiorca informacji generuje parę kluczy

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

VIII Festiwal Nauki i Sztuki. Wydziale Fizyki UAM

VIII Festiwal Nauki i Sztuki. Wydziale Fizyki UAM VIII Festiwal Nauki i Sztuki na Wydziale Fizyki UAM VIII Festiwal Nauki i Sztuki na Wydziale Fizyki UAM Kryptografia kwantowa raz jeszcze Ryszard Tanaś http://zon8physdamuedupl/~tanas 13 października 2005

Bardziej szczegółowo

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl

Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy

Bardziej szczegółowo

Kryptografia szyfrowanie i zabezpieczanie danych

Kryptografia szyfrowanie i zabezpieczanie danych Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej WSTĘP DO INFORMATYKI Adrian Horzyk Kryptografia szyfrowanie i zabezpieczanie danych www.agh.edu.pl

Bardziej szczegółowo

Elementy teorii liczb. Matematyka dyskretna

Elementy teorii liczb. Matematyka dyskretna Elementy teorii liczb Matematyka dyskretna Teoria liczb dziedzina matematyki, zajmująca się badaniem własności liczb (początkowo tylko naturalnych). Jej początki sięgają starożytności. Zajmowali się nią

Bardziej szczegółowo

Marcin Szeliga Dane

Marcin Szeliga Dane Marcin Szeliga marcin@wss.pl Dane Agenda Kryptologia Szyfrowanie symetryczne Tryby szyfrów blokowych Szyfrowanie asymetryczne Systemy hybrydowe Podpis cyfrowy Kontrola dostępu do danych Kryptologia Model

Bardziej szczegółowo

Plan całości wykładu. Ochrona informacji 1

Plan całości wykładu. Ochrona informacji 1 Plan całości wykładu Wprowadzenie Warstwa aplikacji Warstwa transportu Warstwa sieci Warstwa łącza i sieci lokalne Podstawy ochrony informacji (2 wykłady) (2 wykłady) (2 wykłady) (3 wykłady) (3 wykłady)

Bardziej szczegółowo

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania

WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania WEP: przykład statystycznego ataku na źle zaprojektowany algorytm szyfrowania Mateusz Kwaśnicki Politechnika Wrocławska Wykład habilitacyjny Warszawa, 25 października 2012 Plan wykładu: Słabości standardu

Bardziej szczegółowo

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski

Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP. Marcin Pilarski Systemy Operacyjne zaawansowane uŝytkowanie pakietu PuTTY, WinSCP Marcin Pilarski PuTTY PuTTY emuluje terminal tekstowy łączący się z serwerem za pomocą protokołu Telnet, Rlogin oraz SSH1 i SSH2. Implementuje

Bardziej szczegółowo

Elementy kryptografii Twierdzenie Halla. Pozostałe tematy. Barbara Przebieracz B. Przebieracz Pozostałe tematy

Elementy kryptografii Twierdzenie Halla. Pozostałe tematy. Barbara Przebieracz B. Przebieracz Pozostałe tematy Pozostałe tematy Barbara Przebieracz 04.06.2016 Spis treści 1 2 Podstawowe pojęcia Kryptografia to nauka o metodach przesyłania wiadomości w zakamuflowanej postaci tak, aby tylko adresat mógł odrzucić

Bardziej szczegółowo

KONGRUENCJE. 1. a a (mod m) a b (mod m) b a (mod m) a b (mod m) b c (mod m) a c (mod m) Zatem relacja kongruencji jest relacją równoważności.

KONGRUENCJE. 1. a a (mod m) a b (mod m) b a (mod m) a b (mod m) b c (mod m) a c (mod m) Zatem relacja kongruencji jest relacją równoważności. KONGRUENCJE Dla a, b, m Z mówimy, że liczba a przystaje do liczby b modulo m a b (mod m) m (a b) (a b (mod m) można też zapisać jako: a = km + b, k Z). Liczbę m nazywamy modułem kongruencji. Własności:

Bardziej szczegółowo

Bezpieczeństwo danych i systemów informatycznych. Wykład 5

Bezpieczeństwo danych i systemów informatycznych. Wykład 5 Bezpieczeństwo danych i systemów informatycznych Wykład 5 Kryptoanaliza Atak na tekst zaszyfrowany dostępny tylko szyfrogram Atak poprzez tekst częściowo znany istnieją słowa, których prawdopodobnie użyto

Bardziej szczegółowo

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

Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe. kradzieŝy! Jak się przed nią bronić? Bezpieczeństwo Danych Technologia Informacyjna Uwaga na oszustów! Wasze dane takie jak: numery kart kredytowych, identyfikatory sieciowe czy hasła mogą być wykorzystane do kradzieŝy! Jak się przed nią

Bardziej szczegółowo

Równania wielomianowe

Równania wielomianowe Instytut Matematyki Uniwersytetu Jagiellońskiego 20 marca 2009 Kraków Równanie z jedną niewiadomą Wielomian jednej zmiennej to wyrażenie postaci P(x) = a n x n + a n 1 x n 1 + + a 1 x + a 0, gdzie współczynniki

Bardziej szczegółowo

Zestaw 2. Definicje i oznaczenia. inne grupy V 4 grupa czwórkowa Kleina D n grupa dihedralna S n grupa symetryczna A n grupa alternująca.

Zestaw 2. Definicje i oznaczenia. inne grupy V 4 grupa czwórkowa Kleina D n grupa dihedralna S n grupa symetryczna A n grupa alternująca. Zestaw 2 Definicja grupy Definicje i oznaczenia grupa zbiór z działaniem łącznym, posiadającym element neutralny, w którym każdy element posiada element odwrotny grupa abelowa (przemienna) grupa, w której

Bardziej szczegółowo

Kryptografia. Wykład z podstaw klasycznej kryptografii z elementami kryptografii kwantowej. dla studentów IV roku. Ryszard Tanaś

Kryptografia. Wykład z podstaw klasycznej kryptografii z elementami kryptografii kwantowej. dla studentów IV roku. Ryszard Tanaś Kryptografia Wykład z podstaw klasycznej kryptografii z elementami kryptografii kwantowej dla studentów IV roku Ryszard Tanaś Zakład Optyki Nieliniowej, Instytut Fizyki UAM tanas@kielich.amu.edu.pl Serdecznie

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

Seminarium Ochrony Danych

Seminarium Ochrony Danych Opole, dn. 15 listopada 2005 Politechnika Opolska Wydział Elektrotechniki i Automatyki Kierunek: Informatyka Seminarium Ochrony Danych Temat: Nowoczesne metody kryptograficzne Autor: Prowadzący: Nitner

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

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Kryptografia Rok akademicki: 2032/2033 Kod: IIN-1-784-s Punkty ECTS: 3 Wydział: Informatyki, Elektroniki i Telekomunikacji Kierunek: Informatyka Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Kryptografia kwantowa

Kryptografia kwantowa Kryptografia kwantowa Wykład popularno-naukowy dla młodzieży szkół średnich Ryszard Tanaś http://zon8physdamuedupl/~tanas 20 marca 2002 Enigma niemiecka maszyna szyfrująca Marian Rejewski Jerzy Różycki

Bardziej szczegółowo

Plan wykładu. Ochrona zasobów w systemach gospodarki elektronicznej. Usługi ochrony. Klasyfikacja zagrożeń. Wykład: Systemy gospodarki elektronicznej

Plan wykładu. Ochrona zasobów w systemach gospodarki elektronicznej. Usługi ochrony. Klasyfikacja zagrożeń. Wykład: Systemy gospodarki elektronicznej Ochrona zasobów w systemach gospodarki mgr inż. K. Trybicka-Francik Plan wykładu Rola kryptografii Klasyfikacja usług kryptograficznych Umieszczenie funkcji szyfrującej Generacja i dystrybucja y Złożone

Bardziej szczegółowo

Potencjalne ataki Bezpieczeństwo

Potencjalne ataki Bezpieczeństwo Potencjalne ataki Bezpieczeństwo Przerwanie przesyłania danych informacja nie dociera do odbiorcy Przechwycenie danych informacja dochodzi do odbiorcy, ale odczytuje ją również strona trzecia szyfrowanie

Bardziej szczegółowo

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI.

KUS - KONFIGURACJA URZĄDZEŃ SIECIOWYCH - E.13 ZABEZPIECZANIE DOSTĘPU DO SYSTEMÓW OPERACYJNYCH KOMPUTERÓW PRACUJĄCYCH W SIECI. Zabezpieczanie systemów operacyjnych jest jednym z elementów zabezpieczania systemów komputerowych, a nawet całych sieci komputerowych. Współczesne systemy operacyjne są narażone na naruszenia bezpieczeństwa

Bardziej szczegółowo