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

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

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zarys algorytmów kryptograficznych

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

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Wybrane zagadnienia teorii liczb

Szyfrowanie RSA (Podróż do krainy kryptografii)

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

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

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

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

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

Algorytmy asymetryczne

Bezpieczeństwo danych, zabezpieczanie safety, security

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

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

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

Czym jest kryptografia?

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

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

WSIZ Copernicus we Wrocławiu

Spis treści. Przedmowa... 9

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

Seminarium Ochrony Danych

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

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

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

2 Kryptografia: algorytmy symetryczne

Kryptologia przykład metody RSA

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

MADE IN CHINA czyli SYSTEM RESZTOWY

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

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

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.

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

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

Parametry systemów klucza publicznego

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

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

Szyfrowanie informacji

Bezpieczeństwo systemów komputerowych

Wprowadzenie do technologii VPN

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

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

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

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

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

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

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

Przewodnik użytkownika

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

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

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

Algorytmy i struktury danych. Wykład 4

Bezpieczna poczta i PGP

Marcin Szeliga Dane

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM NR 2 ALGORYTM XOR ŁAMANIE ALGORYTMU XOR

Bezpieczeństwo systemów komputerowych. Metody łamania szyfrów. Kryptoanaliza. Badane własności. Cel. Kryptoanaliza - szyfry przestawieniowe.

Bezpieczeństwo systemów komputerowych. Kryptoanaliza. Metody łamania szyfrów. Cel BSK_2003. Copyright by K.Trybicka-Francik 1

Podstawy Secure Sockets Layer

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

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

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

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Zastosowania arytmetyki modularnej. Zastosowania arytmetyki modularnej

Przykładowe zadania z teorii liczb

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

Kryptografia szyfrowanie i zabezpieczanie danych

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

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

ALGORYTMY MATEMATYCZNE Ćwiczenie 1 Na podstawie schematu blokowego pewnego algorytmu (rys 1), napisz listę kroków tego algorytmu:

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

Bezpieczeństwo systemów komputerowych

Technologie cyfrowe semestr letni 2018/2019

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

SSL (Secure Socket Layer)

Matematyka dyskretna

Zastosowania informatyki w gospodarce Wykład 5

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

Zadanie 2: Kryptosystem Rabina

Kongruencje oraz przykłady ich zastosowań

Szyfrowanie RSA. Liczba pierwsza jest liczbą naturalną posiadającą dokładnie dwa różne podzielniki - 1 oraz samą siebie.

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

Bezpieczeństwo w Internecie

Bezpieczeństwo kart elektronicznych

Sieci komputerowe. Wykład 11: Podstawy kryptografii. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski

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

Matematyka dyskretna

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

Technologie informacyjne - wykład 5 -

Kongruencje pierwsze kroki

Algorytm Euklidesa. Największy wspólny dzielnik dla danych dwóch liczb całkowitych to największa liczba naturalna dzieląca każdą z nich bez reszty.

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

ABI i ASI w organizacji

Projekt AS KOMPETENCJI jest współfinansowany przez Unię Europejską w ramach środków Europejskiego Funduszu Społecznego

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

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

Bezpieczeństwo systemów komputerowych. Opis działania PGP. Poczta elektroniczna. System PGP (pretty good privacy) Sygnatura cyfrowa MD5

Transkrypt:

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 przez Ronalda Rivesta, Adi Shamira i Leonarda Adlemana, od inicjałów których pochodzi jego nazwa twórców. Algorytm ten jest chroniony patentem USA numer 4405892 ( System i metoda komunikacji kryptograficznej ). Wniosek został zgłoszony 14 grudnia 1977 roku, zaś patent wygasł 20 września 2000 roku. Metody tej można było jednak używać bezpłatnie poza obszarem USA, gdyż algorytm został opublikowany wcześniej, niż złożono wniosek. Algorytm RSA może być używany do szyfrowania danych, jak i podpisów cyfrowych. Moc algorytmu wynika z trudności rozłożenia dużej liczby na czynniki pierwsze, czyli faktoryzacji dużych liczb oraz obliczania logarytmów dyskretnych. Schemat blokowy algorytmu RSA przedstawiony jest na rys. 2.1. Klucze publiczny (jest to para liczb (e, n) jawna dla każdego, nadawcy wiadomości, według którego szyfrowana jest wiadomość) i tajny (liczba d znana tylko właścicielowi i umożliwia rozszyfrowanie otrzymanej wiadomości według klucza publicznego), wiadomość m i kryptogram c są wyrażony w postaci liczb należących do zbioru liczb całkowitych gdzie Z n = {0, 1, 2,..., n-1}, (2.1) n = p q, (2.2) przy czym p i q losowe duże liczby pierwsze.

Generator klucza Losowanie p, q i e n = p q φ(n) = (p 1)(q 1) e d = 1 mod (φ(n)) Klucz publiczny (e, n) Klucz tajny d; n Wiadomość m Є {0, n-1} Szyfrowanie c = m e mod n Odszyfrowanie m = c d mod n Rys. 2.1. Schemat blokowy algorytmu RSA

W celu zabezpieczenia maksymalnego bezpieczeństwa liczby p i q są wybrane tej samej długości oraz utrzymywany w tajemnicy. Zbiór Z n z dwoma działaniami: dodawaniem i mnożeniem według modułu n (modulo n) tworzy arytmetyku modulo n. Klucz jawny e jest wybrany losowo, aby spełnić zależności: 1< e φ(n), NWD (e, φ(n)) = 1, φ(n) = (p 1)(q 1), (2.3) gdzie φ(n) funkcja Eulera, zdefiniowana jako liczba liczb naturalnych mniejszych od n i względnie pierwszych z e; NWD największy wspólny dzielnik. Liczby e i φ(n) są względnie pierwszymi, jeśli nie mają wspólnych podzielników innych niż 1. Funkcja Eulera φ(n) zawsze przyjmuje wartość mniejszą niż n. Następnie obliczamy klucz tajny d, służący do odszyfrowania kryptogramu c. W tym celu wykorzystujemy rozszerzony algorytm Euklidesa (załącznik 1). Liczba d spełnia zależność e d mod φ(n) = 1, (2.4) czyli kongruencje e d mod φ(n) 1 (mod φ(n)), (2.5) albo d e -1 (mod (p 1)(q 1)). (2.6) Zauważmy, ze liczba d musi być względnie pierwszą z liczbą n. Klucz jawny e jest wykorzystywany do szyfrowania danych, a klucz tajny d do odszyfrowania. Po obliczeniu kluczy liczby p i q należy wymazać z systemu, żeby nie zostały ujawnione.

Procedura szyfrowania E wyznacza kryptogram c przez parę (klucz jawny e, wiadomość m), zgodnie z następującym wzorem: c = E e (m) = m e (mod n). (2.7) W celu szybkiego obliczania wartości c jest wykorzystywany ciąg kolejnych podnoszeń do kwadratu liczby całkowitej m oraz mnożeń na m ze sprowadzeniem według modułu n. Operacja odwrotna polegająca w obliczaniu m według c, e i n jest praktycznie niewykonywalna dla n 2 512. Mając parę (kryptogram c oraz klucz tajny d), możemy obliczyć wiadomość m za pomocą procedury deszyfrowania D z równania m = D d (c) = c d (mod n). (2.8) Wiadomość można również zaszyfrować za pomocą liczby d, a odszyfrować za pomocą liczby e. Owszem, jeśli kryptogram c c = m e (mod n) (2.9) jest potęgowany według potęgi d, to otrzymujemy odnowiony tekst wejściowy m, ponieważ (m e ) d = m ed = m n φ(n) + 1 m(mod n). (2.10)

Uogólnienie. Użytkownik B tworzący kryptosystem ochrania dwa parametry: 1) klucz tajny d i 2) parę liczb (p, q), iloczyn których jest równy n. Z innej strony, użytkownik B ujawnia liczbę n i klucz jawny e. Niepowołanym osobom są znane tylko liczby e i n. Jeśli oni mogłyby rozłożyć mnożniki p i q (zadanie faktoryzacji), to każda z tych osób mogła by dowiedzieć się o tajnym chodzie trójce liczb (p, q i n), następnie obliczyć funkcje Eulera φ(n) = (p 1)(q 1) i znaleźć klucz tajny d. W 1994 r. szyfr RSA został złamany, za pomocą sieci Internet. Pracowało nad tym 600 osób na pięciu kontynentach, przez osiem miesięcy od sierpnia 1993 r. do kwietnia 1994 r. Odczytano wtedy tekst The magic words are squeamish ossifrage zaszyfrowany przez twórców RSA siedemnaście lat wcześniej, przy czym: n liczba o dlugości 129 znaków dziesiętnych, p liczba pierwsza o dlugości 64 znaków dziesiętnych, q liczba pierwsza o dlugości 65 znaków dziesiętnych, e = 9007. Mimo to algorytm RSA w sposób praktycznie bezkonkurencyjny jest powszechnie uważany za algorytm bezpieczny. Algorytm RSA został zrealizowany sprzętowo przez wiele firm. Szybkość transmisji, jaką osiągnięto w realizacji sprzętowej, wynosi 64 Kbit/s w blokach 512-bitowych. Jedną z poważnych wad jaką można zarzucić algorytmowi RSA jest szybkość działania, która w porównaniu do algorytmu DES jest około 1000 razy mniejsza w realizacji sprzętowej, a około 100 razy mniejsza w realizacji programowej.

Procedura szyfrowania i odszyfrowania. Niech użytkownik A (nadawca) chce wysłać wiadomość skierowaną do użytkownika B (odbiorca, posiadacz klucza tajnego). Wtedy kolejność działań użytkowników A i B jest taka. Użytkownik B: 1. Wybiera dwie dowolne liczby pierwsze p i q nie ujawniając ich. 2. Oblicza moduł n = p q. 3. Oblicza funkcję Eulera φ(n) = (p 1)(q 1). 4. Wybiera losowo klucz jawny e taki, że e jest liczbą pierwszą względem φ(n): 1< e φ(n), NWD ( e, φ(n)) = 1. 5. Ustala klucz tajny d taki, że d e = 1 (mod φ(n)) i że d < φ(n). 6. Przekazuje użytkowniku A parę liczb (e, n) bezpiecznym kanałem transmisyjnym. Użytkownik A: 7. Dzieli tekst jawny m na bloki m i, każdy z których jest liczbą m i = {0, n 1}. e 8. Szyfruje tekst zgodnie ze wzorem c i = m i (mod n). 9. Wysyła kryptogram c 1, c 2, c 3,..., c i,..., użytkowniku B. Użytkownik B: 10. Odszyfrowuje przekazany kryptogram c 1, c 2, c 3,..., c i,..., d stosując klucz tajny d, zgodnie ze wzorem m i = c i (mod n).

Opracowanie przykładu RSA. Aby pokazać jak RSA generuje klucze, przeprowadzimy przykładowe obliczenie. Wybieramy liczby, które można względnie łatwo zweryfikować, lecz do prawdziwego zastosowania RSA korzysta z dużo większych liczb. Działania użytkownika B: 1. Najpierw wybiera dwie liczby pierwsze. W tym przypadku p = 3, a q = 11. 2. Teraz oblicza n = p q. To znaczy, że n = 3*11 = 33. 3. Teraz musi obliczyć φ(n) = (p 1)(q 1) = (3 1)(11 1) = 20.. 4. Wybiera liczbę e taką, że e jest względnie pierwsze do φ(n) = 20. Jako te liczbę wybiera e = 7. 5. Musi ustalić d takie, że d e = 1 (mod φ(n)). Tak więc d 7-1 mod 20, a d musi być równocześnie mniejsze od 20. Ustalamy, że d = 3 (3 razy 7 równa się 21. 21 podzielone przez 20 równa się 1 z resztą 1). 6. Wysyła użytkowniku A parę liczb (e = 7, n = 33). Aby wykonać właściwe szyfrowanie i odszyfrowanie korzystamy z pierwotnych wzorów: Tekst zaszyfrowany = (tekst jawny) e mod n, Tekst jawny = (tekst zaszyfrowany) d mod n. Przyjmijmy, że użytkownik A chce wysłać użytkowniku B wiadomość m o treści 312. Działania użytkownika A: 7. Dzieli wiadomość m = 312 na bloki m 1 = 3, m 2 = 1, m 3 = 2. 8. Stosuje wzór szyfrowania i otrzymuje: c 1 = 3 7 (mod 33) = 2187 (mod 33) = 9, c 2 = 1 7 (mod 33) = 1 (mod 33) = 1, c 3 = 2 7 (mod 33) = 128 (mod 33) =2 9. 9. Wysyła użytkowniku B kryptogram c 1, c 2, c 3 = 9, 1, 29. Działania użytkownika B: 10.Kiedy zaszyfrowana wiadomość jest otrzymana, przechodzi przez algorytm deszyfrujący: m 1 = 9 3 (mod 33) = 729 (mod 33) = 3, m 2 = 1 3 (mod 33) = 1 (mod 33) = 1, m 3 = 29 3 (mod 33) = 24389 (mod 33) = 2. Odnowiony tekst jawny m = 312.

Międzynarodowa organizacja standaryzacyjna ISO zarejestrowała 9796 standardów, które opierają się na algorytmie RSA. Ten algorytm jest stosowany miedzy innymi w: ogólnoświatowych sieci bankowych, zwłaszcza do wykonywania operacji za pomocą kart kredytowych; banku międzynarodowym SWIFT (Society for Worldwide Interbank Financial Telecommunications); francuskim systemie finansowym standard ETEBAC 5; systemie bankowym USA; australijskim standardzie zarządzania kluczami szyfrowymi; programie szyfrującym komunikaty poczty elektronicznej PGP (Pretty Good Privacy), w połączeniu z symetrycznym algorytmem kryptograficznym IDEA (International Data Encryption Algorithm); standardzie zabezpieczania poczty elektronicznej SMIME (Secure Multipurpose Internet Mail Extention), będącym normą szyfrowania wiadomości i składania podpisu cyfrowego; protokole zabezpieczania przekazów przesyłanych w warstwie 4 (transportowej) ISO/OSI. TLS (Transport Layer Security) modelu