• Nie Znaleziono Wyników

krypt05.pdf ,

N/A
N/A
Protected

Academic year: 2021

Share "krypt05.pdf ,"

Copied!
40
0
0

Pełen tekst

(1)

Kryptografia

z elementami kryptografii kwantowej

Ryszard Tanaś

http://zon8.physd.amu.edu.pl/~tanas

(2)

Spis treści

9 Algorytmy asymetryczne — RSA 3

9.1 Algorytm RSA . . . 4

9.2 Szyfrowanie . . . 6

9.3 Deszyfrowanie . . . 6

9.4 Uzasadnienie . . . 7

(3)

9 Algorytmy asymetryczne — RSA

• Witfield Diffie i Martin Hellman — idea kryptografii z kluczem publicznym, rok 1976

• RSA — Ron Rivest, Adi Shamir i Leonard Adleman, rok 1978 • bezpieczeństwo algorytmu RSA opiera się na trudności

obliczeniowej związanej z rozkładem dużych liczb na czynniki (faktoryzacja)

(4)

9 Algorytmy asymetryczne — RSA

• Witfield Diffie i Martin Hellman — idea kryptografii z kluczem publicznym, rok 1976

• RSA — Ron Rivest, Adi Shamir i Leonard Adleman, rok 1978 • bezpieczeństwo algorytmu RSA opiera się na trudności

obliczeniowej związanej z rozkładem dużych liczb na czynniki (faktoryzacja)

(5)

9 Algorytmy asymetryczne — RSA

• Witfield Diffie i Martin Hellman — idea kryptografii z kluczem publicznym, rok 1976

• RSA — Ron Rivest, Adi Shamir i Leonard Adleman, rok 1978

• bezpieczeństwo algorytmu RSA opiera się na trudności

obliczeniowej związanej z rozkładem dużych liczb na czynniki (faktoryzacja)

(6)

9 Algorytmy asymetryczne — RSA

• Witfield Diffie i Martin Hellman — idea kryptografii z kluczem publicznym, rok 1976

• RSA — Ron Rivest, Adi Shamir i Leonard Adleman, rok 1978

• bezpieczeństwo algorytmu RSA opiera się na trudności

obliczeniowej związanej z rozkładem dużych liczb na czynniki (faktoryzacja)

(7)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q} • Obliczamy ich iloczyn (łatwo): n = pq

• Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1) • Liczba e będzie kluczem szyfrującym

• Znajdujemy liczbę d taką, że ed ≡ 1 (mod (p − 1)(q − 1)) • lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(8)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q}

• Obliczamy ich iloczyn (łatwo): n = pq • Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1) • Liczba e będzie kluczem szyfrującym

• Znajdujemy liczbę d taką, że ed ≡ 1 (mod (p − 1)(q − 1)) • lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(9)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q}

• Obliczamy ich iloczyn (łatwo): n = pq

• Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1) • Liczba e będzie kluczem szyfrującym

• Znajdujemy liczbę d taką, że ed ≡ 1 (mod (p − 1)(q − 1)) • lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(10)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q} • Obliczamy ich iloczyn (łatwo): n = pq

• Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1)

• Liczba e będzie kluczem szyfrującym • Znajdujemy liczbę d taką, że

ed ≡ 1 (mod (p − 1)(q − 1)) • lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(11)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q} • Obliczamy ich iloczyn (łatwo): n = pq

• Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1)

• Liczba e będzie kluczem szyfrującym

• Znajdujemy liczbę d taką, że ed ≡ 1 (mod (p − 1)(q − 1)) • lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(12)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q} • Obliczamy ich iloczyn (łatwo): n = pq

• Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1) • Liczba e będzie kluczem szyfrującym

• Znajdujemy liczbę d taką, że

ed ≡ 1 (mod (p − 1)(q − 1))

• lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(13)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q} • Obliczamy ich iloczyn (łatwo): n = pq

• Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1) • Liczba e będzie kluczem szyfrującym

• Znajdujemy liczbę d taką, że ed ≡ 1 (mod (p − 1)(q − 1))

• lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(14)

9.1 Algorytm RSA

• Wybieramy dwie duże liczby pierwsze: {p, q} • Obliczamy ich iloczyn (łatwo): n = pq

• Wybieramy losowo liczbę e < n

względnie pierwszą z liczbą (p − 1)(q − 1) • Liczba e będzie kluczem szyfrującym

• Znajdujemy liczbę d taką, że ed ≡ 1 (mod (p − 1)(q − 1)) • lub inaczej

d ≡ e−1 (mod (p − 1)(q − 1))

(15)

• Do obliczenia d można użyć rozszerzonego algorytmu Euklidesa

• Liczba d jest kluczem deszyfrującym

• Liczby {e, n} stanowią klucz publiczny, który ujawniamy • Liczby {d, n} stanowią klucz prywatny, który powinien być

(16)

• Do obliczenia d można użyć rozszerzonego algorytmu Euklidesa

• Liczba d jest kluczem deszyfrującym

• Liczby {e, n} stanowią klucz publiczny, który ujawniamy • Liczby {d, n} stanowią klucz prywatny, który powinien być

(17)

• Do obliczenia d można użyć rozszerzonego algorytmu Euklidesa

• Liczba d jest kluczem deszyfrującym

• Liczby {e, n} stanowią klucz publiczny, który ujawniamy

• Liczby {d, n} stanowią klucz prywatny, który powinien być ściśle chroniony (liczba d)

(18)

• Do obliczenia d można użyć rozszerzonego algorytmu Euklidesa

• Liczba d jest kluczem deszyfrującym

• Liczby {e, n} stanowią klucz publiczny, który ujawniamy

• Liczby {d, n} stanowią klucz prywatny, który powinien być ściśle chroniony (liczba d)

(19)

9.2 Szyfrowanie

Wiadomość dzielimy na bloki mi mniejsze niż n, które szyfrujemy używając formuły

(20)

9.2 Szyfrowanie

Wiadomość dzielimy na bloki mi mniejsze niż n, które szyfrujemy używając formuły

ci ≡ mei (mod n)

9.3 Deszyfrowanie

Tekst jawny z kryptogramu otrzymujemy obliczając

(21)

9.4 Uzasadnienie

Ponieważ ed ≡ 1 (mod (p − 1)(q − 1)), to istnieje liczba całkowita k

taka, że ed = 1 + k(p − 1)(q − 1). Z małego twierdzenia Fermata, dla

N W D(m, p) = 1, mamy

mp−1 ≡ 1 (mod p)

Podnosząc obie strony tej kongruencji do potęgi k(q − 1) oraz mnożąc przez m otrzymujemy

m1+k(p−1)(q−1) ≡ m (mod p)

Kongruencja ta jest także prawdziwa dla N W D(m, p) = p, ponieważ wtedy obie strony przystają do 0 (mod p). Zatem, zawsze mamy

med ≡ m (mod p).

Podobnie,

(22)

a ponieważ p i q są różnymi liczbami pierwszymi, to z chińskiego twierdzenia o resztach otrzymujemy

(23)

9.5 Przykład (trywialny)

(24)

9.5 Przykład (trywialny)

Znajdowanie klucza

(25)

9.5 Przykład (trywialny)

Znajdowanie klucza

p = 1123 q = 1237 n = pq = 1389151

(26)

9.5 Przykład (trywialny)

Znajdowanie klucza

p = 1123 q = 1237 n = pq = 1389151

(27)

9.5 Przykład (trywialny) Znajdowanie klucza p = 1123 q = 1237 n = pq = 1389151 φ = (p − 1)(q − 1) = 1386792 e = 834781

(28)

9.5 Przykład (trywialny) Znajdowanie klucza p = 1123 q = 1237 n = pq = 1389151 φ = (p − 1)(q − 1) = 1386792 e = 834781 d ≡ e−1 (mod φ) = 1087477

(29)
(30)

Szyfrowanie

(31)

Szyfrowanie

m = 983415

(32)

Szyfrowanie

m = 983415

c ≡ me (mod n) e = 834781

(33)

Szyfrowanie

m = 983415

c ≡ me (mod n) e = 834781

(34)

Szyfrowanie m = 983415 c ≡ me (mod n) e = 834781 n = 1389151 983415834781 (mod 1389151) = 190498

(35)
(36)

Deszyfrowanie

(37)

Deszyfrowanie

m ≡ cd (mod n) c = 190498

(38)

Deszyfrowanie

m ≡ cd (mod n) c = 190498

(39)

Deszyfrowanie

m ≡ cd (mod n) c = 190498

n = 1389151

(40)

Deszyfrowanie m ≡ cd (mod n) c = 190498 n = 1389151 d ≡ e−1 (mod φ) = 1087477 1904981087477 (mod 1389151) = 983415

Cytaty

Powiązane dokumenty

[r]

Wynika bezpo´srednio z definicji poj˛e´c reguły dopuszczalnej oraz reguły wypro-

Pokazali´smy zatem, ˙ze ze zbioru X ∪ {¬α} wyprowadzi´c mo˙zna par˛e formuł wzajem sprzecznych, co ko´nczy dowód 5.4.2... Pocz ˛ atkowy

Dowód jest natychmiastowy, na mocy faktu, ˙ze reguła odrywania RO jest jedn ˛ a z reguł pierwotnych systemu

W dowolnym rosnącym postępie geometrycznym 10-wyrazowym, w którym wyrazy pierwszy, trzeci i czwarty tworzą (w tej właśnie ko- lejności) rosnący postęp arytmetyczny, także

Przez funkcję arytmeytczną przyjęło się nazywać dowolną funkcję f : N → C, która wyraża pewne własności arytmetyczne liczb

Urządzenie może być obsługiwane przez dzieci od 8 roku życia oraz osoby o obniżonych zdolnościach fizycznych, sensorycznych lub mentalnych lub osoby nieposiadające

 rozpropagowanie konkursu wśród uczniów oraz zebranie zgłoszeń od rodziców,1.  sporządzenie i wysłanie do organizatorów