Algorytmy asymetryczne

Podobne dokumenty
Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

Zarys algorytmów kryptograficznych

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

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

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

Podstawy systemów kryptograficznych z kluczem jawnym RSA

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

Copyright by K. Trybicka-Francik 1

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

Copyright by K. Trybicka-Francik 1

Wybrane zagadnienia teorii liczb

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

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

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

Parametry systemów klucza publicznego

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

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

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

Szyfrowanie RSA (Podróż do krainy kryptografii)

Bezpieczeństwo danych, zabezpieczanie safety, security

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-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 VIII. Systemy kryptograficzne Kierunek Matematyka - semestr IV. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

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

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

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

Efektywność Procedur Obliczeniowych. wykład 5

2 Kryptografia: algorytmy symetryczne

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

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

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

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

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

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

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

Post-kwantowy algorytm podpisu cyfrowego Kryptosystem NTRU

Kryptologia przykład metody RSA

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

Spis treści. Przedmowa... 9

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

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

Szyfrowanie informacji

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

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

Wprowadzenie ciag dalszy

Scenariusz lekcji. wymienić różnice pomiędzy kryptologią, kryptografią i kryptoanalizą;

Bezpieczeństwo systemów komputerowych

Matematyka dyskretna

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

Kryptografia szyfrowanie i zabezpieczanie danych

Bezpieczeństwo systemów komputerowych

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

Matematyka dyskretna

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

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

Bezpieczeństwo w Internecie

Zastosowania informatyki w gospodarce Wykład 5

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

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

Szyfry afiniczne. hczue zfuds dlcsr

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

Estymacja kosztów łamania systemu kryptograficznego

WSIZ Copernicus we Wrocławiu

Matematyka dyskretna

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Struktura danych. Sposób uporządkowania informacji w komputerze.

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

Nowości w kryptografii

PRZEWODNIK PO PRZEDMIOCIE

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

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

Przykładowe zadania z teorii liczb

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

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

Algorytmy w teorii liczb

LICZBY PIERWSZE. Jan Ciurej Radosław Żak

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

Bezpieczeństwo systemów komputerowych. Algorytmy kryptograficzne (1) Algorytmy kryptograficzne. Algorytmy kryptograficzne BSK_2003

Problem P = NP. albo czy informacja może. biec na skróty

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Pierwiastki pierwotne, logarytmy dyskretne

Algorytm faktoryzacji Petera Shora dla komputera kwantowego

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

Metody numeryczne w przykładach

Kryptologia(nie)stosowana

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

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

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

KRYPTOGRAFIA Z KLUCZEM PUBLICZNYM (Ellis 1970)

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

1. Liczby wymierne. x dla x 0 (wartością bezwzględną liczby nieujemnej jest ta sama liczba)

Obliczenia inspirowane Naturą

Rozdział 4. Macierze szyfrujące. 4.1 Algebra liniowa modulo 26

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Zał nr 4 do ZW. Dla grupy kursów zaznaczyć kurs końcowy. Liczba punktów ECTS charakterze praktycznym (P)

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

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

KRYPTOGRAFIA I OCHRONA DANYCH. Krzysztof Kaczmarczyk

Transkrypt:

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 w tym celu wykonać dość złożone obliczenia Zwykle jeden klucz z pary jest powszechnie dostępny, gdy drugi musi być przechowywany w tajemnicy (klucz publiczy i klucz prywatny)

Krótkie przypomnienie Problem NP :(niedeterministycznie wielomianowy, ang. nondeterministic polynomial) to problem decyzyjny, dla którego rozwiązanie można zweryfikować w czasie wielomianowym. Równoważna definicja mówi, że problem jest w klasie NP, jeśli może być rozwiązany w wielomianowym czasie na niedeterministycznej maszynie Turinga. Problem NP-zupełny (NPC) czyli problem zupełny w klasie NP ze względu na redukcje wielomianowe, to problem, który należy do klasy NP oraz dowolny problem należący do NP może być do niego zredukowany w czasie wielomianowym. Czasami zamiast redukcji w czasie wielomianowym używa się redukcji w pamięci logarytmicznej. Taka definicja problemów NP-zupełnych implikuje fakt, że jeśli tylko potrafimy rozwiązać jakikolwiek problem NP-zupełny w czasie wielomianowym, to potrafimy rozwiązać w czasie wielomianowym wszystkie problemy NP. Problemy NP-zupełne można więc traktować jako najtrudniejsze problemy klasy NP (z punktu widzenia wielomianowej rozwiązywalności).

Teoria złożoności obliczeniowej Problem kryptoanalizy: Dane są kryptogram G, klucz publiczny K służący do szyfrowania, szukamy pasującego klucza L do deszyfrowania taki, że E(K(D(L,G)) = G Tw. 1: Problem kryptoanalizy jest zagadnieniem z klasy NP Dowód: Następujący algorytm z klasy NP rozwiązuje problem kryptoanalizy: Zgadnij niedeterministycznie klucz do deszyfrowania Deszyfruj kryptogram za pomocą zgadniętego klucza Sprawdź czy otrzymany tekst szyfruje się z powrotem do podanego na wstępie kryptogramu Zatem: złamanie szyfrów utworzonych przy pomocy algorytmów asymetrycznych nie może być trudniejsze niż rozwiązanie problemu NP-zupełnego

Wnioski Jest to poważne ostrzeżenie przed używaniem algorytmu asymetrycznego Nigdy nie osiągnie się takiego poziomu bezpieczeństwa jak np. dla one-time-pad Można odnieść wrażenie, że algorytmu asymetryczne są słabe ale:

Wnioski Teoria złożoności obliczeniowej operuje asymptotyczną złożonością problemów: dla danego problemu M poszukuje się takiej funkcji f, że dla prawie wszystkich n istnieją dane x o długości n, dla których obliczenie M(x) kosztuje f(n) Koszt może być mierzony w rozmiarach pamięci albo czasie obliczeń. Teoria złożoności obliczeniowej posługuje się wyrażeniami typu O(...). Wyznacza to złożoność problemu z dokładnością do stałego czynnika Dla kryptografii ważna jest złożoność problemu w średnim przypadku (tzn. dla ustalonej długości n badamy, jaka jest przeciętna złożoność). Istotne jest również jak złożoność odbiega od średniej. Teoria złożoności obliczeniowej bada złożoność w najgorszym przypadku.

Wnioski Mimo powyższych zastrzeżeń, możliwe jest wykorzystanie rezultatów teorii złożoności obliczeniowej jako wskazówki, wśród których problemów należy szukać podstaw dla konstrukcji asymetrycznych algorytmów szyfrujących. Rozważa się zagadnienie NP-zupełne jako najbardziej złożone w klasie NP. Sztandarowym podejściem są szyfry plecakowe, które jednak nie są praktycznie używane.

Szyfry plecakowe Problem plecakowy : dane są liczby naturalne (a1..an), k. Szuka się takich liczb (i1..in) ze zbioru {0,1} że i j aj=k Problem plecakowy jest NP-zupełny Istnieje wiele metod szyfrowania opartych o algorytmy plecakowe. Większość z nich została złamana

Prosty algorytm plecakowy Przykład Złamany metodą Shamira pozwalającą na odnalezienie tekstu jawnego bez znajomości tajnego klucza deszyfrującego Szyfrowanie: i j aj Ciąg bitów (i1..in) kodowany jest przez liczbę pojawiają się jednak następujące problemy: Pojedynczy kryptogram musi odpowiadać jednemu tekstowi jawnemu Złamanie takich kodów jest trudne ze względu na NPzupełność algorytmu plecakowego, ale nie znamy żadnej metody żeby za pomocą klucza taki kryptogrma deszyfrować

Dodatkowe ograniczenia Wektory superrosnące to takie (a1..an) dla których j<i a j <a i Dla każdego i<n Dla każdego wektora superrosnącego 1. Każdemu kryptogramowi odpowiada dokładnie jeden tekst jawny 2. deszyfrowanie może być dokonane w czasie proporcjonalnym do długości wektora superrosnącego Problem Dzięki wektorom superrosnącym kryptogramy odpowiadają jednoznacznie tekstom jawnym. Każdy kto zna taki wektor może szyfrować i deszyfrować nie będzie to zatem algorytm asymetryczny Utajnianie wektora superrosnącego stosujemy inny wektor szyfrujący: M > i n a i W < M takie, że W > 1 oraz największy wspólny dzielnik (W,M) = 1 (W nie może być małe np. W > M/2) Niech ai' = ai*w mod M Tu nie ma żadnego powodu żeby ciąg (a1'..an') buł superrosnący. Ciąg ten permutuje się i podaje jako klucz publiczny. Kluczem prywatnym jest wektor (a1..an), liczby M oraz W a ponadto użyta permutacja.

Szyfrowanie Dla uproszczenia zakadamy permutację (a1'..an') do takiej samej postaci (brak permutacji) Szyfrowanie i1..in odbywa się standardowo za pomocą ciągu będącego kluczem jawnym : Kryptogram jest równy liczbie : n j=1 i j a j ' Deszyfrowanie jest możliwe dzięki konwersji kryptogramu: Niech y=i1*a1'+...+in*an' będzie rozważanym kryptogramem, dla którego szukamy i1..in Wykonujemy następujące działania: 1. Ponieważ W i M są względnie pierwsze, więc za pomocą algorytmu Euklidesa można wyznaczyć liczbę W^-1 mod M 2. Obliczamy W^-1*y mod M. Liczba ta jest równa W^-1(i1a1'+...+in*an') = W^-1(i1*a1*W +..+in*an*w) = i1*a1 +...+ in*an modm 3. Dla kryptogramu W^-1 *y i wektora superrosnącego (a1..an) znajdujemy tekst jawny i1..in. Można tego dokonać w czasie proporcjonalnym do n. Algorytm nie może być stosowany w praktyce zostala znaleziona szybka metoda deszyfrowania bez znajomości tajnego klucza (co prawda tylko dla specjalnych wektorów (a1'..an') uzyskanych z wektorów superrosnących. Dla dowolnych wektorów dalej nie jest znana żadna efektywna metoda Istnieje algorytm Chora-Rivesta, który jak dotąd nie został złamany

We wszystkich kryptosystemach uzyskanie klucza prywatnego na podstawie publicznego musi być obliczeniowo trudne. W RSA zależność między kluczem publicznym i prywatnym jest symetryczna uzyskanie klucza publicznego na podstawie prywatnego jest równie trudne jak uzyskanie prywatnego na podstawie publicznego. Składowe kluczy i obliczane są przy użyciu dwóch dużych i zbliżonych długością liczb pierwszych ( i ) generowanych w sposób możliwie przypadkowy. i otrzymuje się na podstawie równania (jest losowane, obliczane lub odwrotnie): Iloczyn i jest częścią klucza oznaczaną przez. Klucz publiczny i prywatny tworzą odpowiednio pary i. Liczby i, poza procesem generowania kluczy nie są potrzebne i zwykle są kasowane, jednakże istnieje wariant algorytmu w którym wchodzą one w skład klucza prywatnego (są wykorzystywane w celu zwiększenia prędkości działania kryptosystemu). W systemie ElGamal wybierana jest liczba pierwsza, generator, następnie losowana jest liczba. Kluczem prywatnym jest, kluczem publicznym zaś, w grupie multiplikatywnej liczb całkowitych modulo p. Klucz publiczny może być obliczony na podstawie prywatnego, co zresztą ma miejsce podczas generacji kluczy. Bardzo podobnie wygląda sytuacja w innych systemach opartych o logarytm dyskretny, takich jak kryptografia krzywych eliptycznych. W tych metodach grupę Zp zastępuje się inną grupą, np. utworzoną z punktów leżących na krzywej eliptycznej.