Kryptologia przykład metody RSA

Podobne dokumenty
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru 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.)

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

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

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

Zarys algorytmów kryptograficznych

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

2 Kryptografia: algorytmy symetryczne

Podstawy systemów kryptograficznych z kluczem jawnym RSA

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

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

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

Wybrane zagadnienia teorii liczb

Przykładowe zadania z teorii liczb

Algorytmy asymetryczne

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

Bezpieczeństwo danych, zabezpieczanie safety, security

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

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

Szyfrowanie RSA (Podróż do krainy kryptografii)

Parametry systemów klucza publicznego

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

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

Spis treści. Przedmowa... 9

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

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

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

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

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

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

INFORMATYKA WYBRANE ALGORYTMY OPTYMALIZACYJNE KRYPTOLOGIA.

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

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

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

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

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Szyfrowanie wiadomości

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

Bezpieczeństwo w Internecie

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.

Kongruencje pierwsze kroki

0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

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

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

Pierwiastki pierwotne, logarytmy dyskretne

Seminarium Ochrony Danych

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

Liczby całkowite. Zadania do pierwszych dwóch lekcji

Informatyka na WPPT. prof. dr hab. Jacek Cichoń dr inż. Marek Klonowski

kryptografię (z gr. κρυπτός oraz γράφω gráfo pisać ), czyli gałąź wiedzy o utajnianiu wiadomości;

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

Kryptografia systemy z kluczem tajnym. Kryptografia systemy z kluczem tajnym

Arytmetyka komputera

Od problemu żarówek do nowego systemu szyfrowania

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

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.

Kryptografia na procesorach wielordzeniowych

Kongruencje i ich zastosowania

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

Bezpieczeństwo systemów komputerowych

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

Liczby pierwsze na straży tajemnic

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

ŁAMIEMY SZYFR CEZARA. 1. Wstęp. 2. Szyfr Cezara w szkole. Informatyka w Edukacji, XV UMK Toruń, 2018

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

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

MADE IN CHINA czyli SYSTEM RESZTOWY

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

Kryptografia szyfrowanie i zabezpieczanie danych

Przewodnik użytkownika

Zadania do samodzielnego rozwiązania

Zadanie 1. Test (6 pkt) Zaznacz znakiem X w odpowiedniej kolumnie P lub F, która odpowiedź jest prawdziwa, a która fałszywa.

Laboratorium. Szyfrowanie algorytmami Vernam a oraz Vigenere a z wykorzystaniem systemu zaimplementowanego w układzie

HITCON CTF 2015 Rsabin

II klasa informatyka rozszerzona SZYFROWANIE INFORMACJI

Kryptologia(nie)stosowana

Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego

Pracownia Komputerowa wykład V

Matematyka dyskretna

Kongruencje oraz przykłady ich zastosowań

Liczby pierwsze. Jacek Nowicki Wersja 1.0

Tajna wiadomość. Scenariusz lekcji

Kod U2 Opracował: Andrzej Nowak

Matematyka dyskretna

Podstawy Secure Sockets Layer

Liczby pierwsze. Jacek Nowicki Wersja 0.92

ZADANIE 1 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z D

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2016/2017

SSL (Secure Socket Layer)

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

EGZAMIN MATURALNY Z INFORMATYKI WYBRANE: ... (system operacyjny) ... (program użytkowy) ... (środowisko programistyczne)

Potencjalne ataki Bezpieczeństwo

Algorytmy podstawieniowe

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

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

FUNKCJE. (odwzorowania) Funkcje 1

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

Laboratorium nr 1 Szyfrowanie i kontrola integralności

Transkrypt:

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 e=29 - potrzebne jest d: (d*e) mod[(p-1)(q-1)] = 1 - d=129 (rozszerzony algorytm Euklidesa) (129 * 29) mod 220 = 1 - przyjacielowi przesyłamy dwie liczby (e,n) 1

Kryptologia przykład metody RSA kodowania dokonuje przyjaciel: - np. chce przesłać literę h; jego wartość ASCII to 101 - C = pow(101,29) mod (253) = 50 - przysyła nam wartość C

Kryptologia przykład metody RSA dekodowanie: -otrzymaliśmy C=50 - wyliczamy M = pow(c,d) mod 253 = 101-101 to litera h; przekaz się udał!

Kryptologia przykład metody RSA Oto poszczególne kroki metody 1) wybierz duże liczby pierwsze p oraz q 2) zachowaj je wyłacznie dla siebie 3) wylicz n = p * q 4) wylicz phi = (p-1) * (q-1) 5) wybierz e, takie że phi oraz e nie mają wspólnych podzielników oprócz 1; np. e=13

Kryptologia przykład metody RSA 6) wylicz d z równania (e*d)mod phi = 1 ; takie d na pewno istnieje 7) przekaż liczby (e,n) przyjacielowi, który będzie szyfrował wiadomości przesyłąne do ciebie 8) kodowanie: C = pow(m,e) 9) dekodowanie M = pow(c,d)

Kryptologia przykład metody RSA (odrobina matematyki) pow(a, phi(n) + 1)(modulo n) = a to własność funkcji Eulera z tego wynika, że e * d = phi(n) +1 teraz dzielimy modulo phi(n) (e * d) modulo phi(n) = 1 to powyższe równanie daje się rozwiązać (algorytm Euklidesa) Jeśli n=pq, gdzie p, q to liczby pierwsze, to phi(n)=(p-1)(q-1)

Uzupełnienie dotyczące kryptologii Diffie-Hellman method of key exchange Osoba A chce do osoby B przesłać wiadomość, używając np. standardowego algorytmu kryptograficznego takiego jak DES (Data Encryption Standard). Potrzebny jest jakiś klucz szyfrowy (załóżmy, że na steganografię nie ma szans, przeciwnik pilnie nadsłuchuje wszystkich transmisji). (metodę wymyślono w 1976 r., autorzy to Whitfield Diffie, Martin Hellman, Ralph Merkle)

Uzupełnienie dotyczące kryptologii 1.Osoba A wymyśla jakąś liczbę całkowitą dodatnią g oraz liczbę pierwszą p taką, że g < p 2.A wybiera tajemny całkowity wykładnik m, taki że 0<m<p 3.A wylicza a = pow(g,m) modulo p, oczywiście może stosować metodę binarnego kwadratu i mnożenia 4.A przesyła liczby p, g, a do osoby B. Otwartym tekstem, przeciwnik (nieprzyjaciel C) słyszy. 5.B wybiera tajemny całkowity wykładnik n, taki że 0<n<p

Uzupełnienie dotyczące kryptologii 6.B wylicza b = pow(g,n) modulo p 7.B przesyła b do osoby A (otwartym tekstem, przeciwnik słyszy) 8.A wylicza klucz szyfrowy k=pow(b,m) modulo p 9.B wylicza klucz szyfrowy k=pow(a,n) modulo p 10. Zarówno A, jak i B mają ten sam klucz szyfrowy k!! (wynegocjowali go) typowo dobiera się liczbę pierwszą p rzędu 300 cyfr dziesiętnych; liczby m oraz n rzędu 100 cyfr dziesiętnych, jako liczbę g wybiera się najczęściej liczbę 5.

Uzupełnienie dotyczące kryptologii Jak przeciwnik mógłby poznać klucz szyfrowy k? Mógłby np. rozwiązać zadanie a = pow(g,m) modulo p, w celu odnalezienia m, a następnie policzyć tak jak osoba A k=pow(b,m) modulo p. Otóż rozwiązanie a = pow(g,m) modulo p, tak by znaleźć m jest szalenie żmudne (problem nosi nazwę dyskretnego problemu logarytmicznego)

Uzupełnienie dotyczące kryptologii Jeszcze jedna cecha podnosząca bezpieczeństwo: liczby m oraz n można teraz nieodwracalnie zniszczyć, nie są już potrzebne! Przy okazji widać, jak przydatna w języku programowania jest możliwość wygodnego dokonywania dzielenia modulo, czyli posiadanie operatora % by można wyliczać x % y resztę z dzielenia modulo.

Uzupełnienie dotyczące kryptologii Pojęcie klucza szyfrowego zastosowanie na przykładzie tablicy Vigenera

Uzupełnienie dotyczące kryptologii Czy algorytm RSA jest bezpieczny? Konkurencja: Algorytm plecakowy (Ralph Merkle, Martin Hellman, Knapsack method, 1976) http://www.time.com/time/magazine/article/0,9171,953625,00.html...ten zakład został przegrany...algorytm plecakowy przegrał, RSA jeszcze nie przegrał...

Algorytm plecakowy (knapsack method) Następujący pomysł: kluczem jest uszeregowany zbiór liczb. Klucz prywatny to liczby uporządkowane rosnąco. Komunikujący się posiadają pewną tajną transformację modulo, którą przekształca się klucz prywatny w klucz publiczny. Klucz publiczny może poznać każdy. Klucz prywatny musi być utajniony. Teraz mamy liczbę a (reprezentującą tekst pierwotny, niekodowany) który chcemy przesłać. Liczbę tą przedstawiamy w układzie dwójkowym. Z tego przedstawienia oraz klucza publicznego tworzy się tekst kodowany. Ten tekst kodowany zostaje przesłany (wtedy w szczególności może go poznać nieprzyjaciel; nic nie szkodzi). Tekst zakodowany po dotarciu na miejsce zostaje poddany operacji odwrotnej do tajnej operacji modulo. Dzięki temu otrzymuje pewną liczbę w; teraz należy znaleźć to łatwe które liczby z klucza sumują się do liczby w. Tak otrzymuje się liczbę-tekst pierwotny a.

Przykład: Algorytm plecakowy (knapsack method) 1.klucz prywatny (1,3,5,10,20) 2.tajna operacja modulo p=7, b=40 (mnożenie przez p, następnie dzielenie modulo przez b) 3.znalezienie operacji odwrotnej do tej z punktu 2; jest to mnożenie przez 23 a następnie dzielenie modulo przez 40 (można sprawdzić, (7*23) mod 40 = 1. Operacja taka istnieje, gdyż 7 oraz 40 są względnie pierwsze 4. przy pomocy tajnej operacji z punktu 2 przekształcamy klucz z punktu 1

Algorytm plecakowy (knapsack method) 5.otrzymujemy klucz publiczny, w tym przykładzie to (7,21,35,30,20) 6.klucz publiczny przesyłamy przyjacielowi, klucz publiczny może poznać nieprzyjaciel 7.przyjaciel ma coś nam przesłać, np. chce przesłać literę m 8.litera m to w ASCII wartość 13 dziesiętnie czyli 01101 binarnie 9.przyjaciel korzysta teraz z klucza publicznego 10.wylicza (0*7+1*21+1*35+0*30+1*20) = 76

Algorytm plecakowy (knapsack method) 11.tekst kodowany czyli 76 zostaje przesłany do nas; zapewne nieprzyjaciel również poznaje ten tekst 12.tekst kodowany poddajemy transformacji odwrotnej: (23*76) mod 40 = 28 13.odnajdujemy, które liczby z klucza prywatnego należy dodać, aby otrzymać 28; trzeba dodać 20+5+3 14.czyli wiadomość od przyjaciela jest binarnie 01101 15.to znak ASCII m; transfer wiadomości powiódł się.

Dlaczego są potrzebne metody szyfrowania z parą kluczy: prywatny oraz publiczny? Rozpatrzmy układ N użytkowników. Niech będzie tak, że chcą się porozumiewać parami, by nikt inny ich rozmowy nie słyszał. Potrzeba wtedy 0.5 *N*(N-1) kluczy szyfrowych typu DES czy innych kluczy symetrycznych. Tymczasem w przypadku szyfrowania z parą kluczy (publiczny, prywatny) każdy z użytkowników przygotowuje sobie te dwa klucze dla siebie, po czym klucz publiczny może dać WSZYSTKIM INNYM. I tak tylko on potrafi zaszyfrowaną wiadomość odszyfrować. Czyli potrzeba tylko N par kluczy (prywatny+publiczny).

Kryptologia zagrożenia dla metody RSA funkcja dzeta Riemanna czy istnieją dostatecznie wielkie liczby pierwsze?