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

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

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

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

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

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

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

Copyright by K. Trybicka-Francik 1

Copyright by K. Trybicka-Francik 1

Przewodnik użytkownika

WSIZ Copernicus we Wrocławiu

Kryptografia systemy z kluczem publicznym. Kryptografia systemy z kluczem publicznym

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

Zarys algorytmów kryptograficznych

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

Zastosowanie teorii liczb w kryptografii na przykładzie szyfru RSA

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

Podstawy systemów kryptograficznych z kluczem jawnym RSA

Algorytmy asymetryczne

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

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 15, Kryptografia: algorytmy asymetryczne (RSA)

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

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

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

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

Szyfrowanie RSA (Podróż do krainy kryptografii)

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

SSL (Secure Socket Layer)

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

Laboratorium nr 3 Podpis elektroniczny i certyfikaty

KRYPTOGRAFIA Z KLUCZEM PUBLICZNYM (Ellis 1970)

Zastosowania informatyki w gospodarce Wykład 5

Praktyczne aspekty wykorzystania nowoczesnej kryptografii. Wojciech A. Koszek

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

Bezpieczeństwo danych, zabezpieczanie safety, security

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

Szyfrowanie informacji

Authenticated Encryption

Wprowadzenie ciag dalszy

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

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

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

Recenzja rozprawy doktorskiej mgr Anny Lauks Dutki. pt. Applied Cryptographic Schemes based on Discrete logarithm Problem

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

Spis treści. Przedmowa... 9

INSTRUKCJA INSTALACJI I OBSŁUGI GPG4Win

Bezpiecze ństwo systemów komputerowych.

Post-kwantowy algorytm podpisu cyfrowego Kryptosystem NTRU

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

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

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

Kryptografia kwantowa

Seminarium Ochrony Danych

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

2 Kryptografia: algorytmy symetryczne

Inne algorytmy z kluczem publicznym

Inżynieria biomedyczna

KAMELEON.CRT OPIS. Funkcjonalność szyfrowanie bazy danych. Wtyczka kryptograficzna do KAMELEON.ERP. Wymagania : KAMELEON.ERP wersja

VIII Festiwal Nauki i Sztuki. Wydziale Fizyki UAM

Wykorzystanie protokołu T=CL w systemach kontroli dostępu

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

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

Bezpieczeństwo systemów komputerowych

Sieci komputerowe Wykład 7. Bezpieczeństwo w sieci. Paweł Niewiadomski Katedra Informatyki Stosowanej Wydział Matematyki UŁ niewiap@math.uni.lodz.

KRYPTOGRAFIA ASYMETRYCZNA I JEJ ZASTOSOWANIE

Wykład 7. komputerowych Integralność i uwierzytelnianie danych - główne slajdy. 16 listopada 2011

Laboratorium nr 5 Podpis elektroniczny i certyfikaty

Kryptologia. Bezpieczeństwo komunikacji elektronicznej

Podstawy Secure Sockets Layer

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

ZESZYTY NAUKOWE WYDZIAŁU ETI POLITECHNIKI GDAŃSKIEJ Nr 4 Seria: Technologie Informacyjne 2006 ANALIZA METODY SZYFROWANIA "ZT-UNITAKOD"

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

Copyright by K. Trybicka-Francik 1

Kryptografia na procesorach wielordzeniowych

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

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

Kwalifikowane certyfikaty, podpisy i pieczęcie elektroniczne. po 1 lipca 2018 roku. po 1 lipca 2018 roku. Wersja 1.0

Bezpieczeństwo kart elektronicznych

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

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

Bezpieczeństwo korespondencji elektronicznej

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

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

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

Wybrane zagadnienia teorii liczb

Protokoªy komunikacyjne

PRACE NAUKOWE Akademii im. Jana Długosza w Częstochowie Informatyka, Inżynieria Bezpieczeństwa


Wykład 4. Schematy Identyfikacji

Laboratorium nr 2 Szyfrowanie, podpis elektroniczny i certyfikaty

Wykład 9. komputerowych Głosowanie internetowe - główne slajdy. 23 listopada Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Bezpieczna poczta i PGP

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

Czym jest kryptografia?

Bezpieczeństwo systemów komputerowych

POLITYKA PCCE DLA CERTYFIKATÓW OID: { } Symbol Dokumentu: P3.032 Data: r. Wersja: 1.6

KRYPTOGRAFIA I OCHRONA DANYCH. Krzysztof Kaczmarczyk

Wprowadzenie do technologii VPN

KRAKOWSKA AKADEMIA im. Andrzeja Frycza Modrzewskiego

Transkrypt:

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................... 4 14.3 Podpis z wykorzystaniem jednokierunkowej funkcji hashującej....................... 5 14.4 Schemat ElGamala podpisu cyfrowego....... 7 14.5 DSA Digital Signature Algorithm........ 11 14.6 Ślepe podpisy cyfrowe............... 16 14.7 Niezaprzeczalne podpisy cyfrowe.......... 19

14 Podpis cyfrowy 14.1 Przypomnienie System kryptograficzny z kluczem publicznym może być wykorzystany do podpisywania dokumentów cyfrowych. Alicja szyfruje dokument używając swojego klucza prywatnego, podpisując w ten sposób dokument Alicja przesyła tak podpisany dokument do Bolka Bolek deszyfruje dokument używając klucza publicznego Alicji, weryfikując w ten sposób podpis Alicji

14 Podpis cyfrowy 14.1 Przypomnienie System kryptograficzny z kluczem publicznym może być wykorzystany do podpisywania dokumentów cyfrowych. Alicja szyfruje dokument używając swojego klucza prywatnego, podpisując w ten sposób dokument Alicja przesyła tak podpisany dokument do Bolka Bolek deszyfruje dokument używając klucza publicznego Alicji, weryfikując w ten sposób podpis Alicji

14 Podpis cyfrowy 14.1 Przypomnienie System kryptograficzny z kluczem publicznym może być wykorzystany do podpisywania dokumentów cyfrowych. Alicja szyfruje dokument używając swojego klucza prywatnego, podpisując w ten sposób dokument Alicja przesyła tak podpisany dokument do Bolka Bolek deszyfruje dokument używając klucza publicznego Alicji, weryfikując w ten sposób podpis Alicji

14 Podpis cyfrowy 14.1 Przypomnienie System kryptograficzny z kluczem publicznym może być wykorzystany do podpisywania dokumentów cyfrowych. Alicja szyfruje dokument używając swojego klucza prywatnego, podpisując w ten sposób dokument Alicja przesyła tak podpisany dokument do Bolka Bolek deszyfruje dokument używając klucza publicznego Alicji, weryfikując w ten sposób podpis Alicji

14 Podpis cyfrowy 14.1 Przypomnienie System kryptograficzny z kluczem publicznym może być wykorzystany do podpisywania dokumentów cyfrowych. Alicja szyfruje dokument używając swojego klucza prywatnego, podpisując w ten sposób dokument Alicja przesyła tak podpisany dokument do Bolka Bolek deszyfruje dokument używając klucza publicznego Alicji, weryfikując w ten sposób podpis Alicji

14.2 Cechy podpisu Podpis jest prawdziwy; Bolek weryfikuje go deszyfrując kryptogram kluczem publicznym Alicji Podpis nie może być sfałszowany; tylko Alicja zna jej klucz prywatny Podpis nie może być przeniesiony do innego dokumentu Podpisany dokument nie może być zmieniony; zmieniony dokument nie da się rozszyfrować kluczem publicznym Alicji Podpis jest niezaprzeczalny; Wada: podpis jest conajmniej tak długi jak sam dokument

14.2 Cechy podpisu Podpis jest prawdziwy; Bolek weryfikuje go deszyfrując kryptogram kluczem publicznym Alicji Podpis nie może być sfałszowany; tylko Alicja zna jej klucz prywatny Podpis nie może być przeniesiony do innego dokumentu Podpisany dokument nie może być zmieniony; zmieniony dokument nie da się rozszyfrować kluczem publicznym Alicji Podpis jest niezaprzeczalny; Wada: podpis jest conajmniej tak długi jak sam dokument

14.2 Cechy podpisu Podpis jest prawdziwy; Bolek weryfikuje go deszyfrując kryptogram kluczem publicznym Alicji Podpis nie może być sfałszowany; tylko Alicja zna jej klucz prywatny Podpis nie może być przeniesiony do innego dokumentu Podpisany dokument nie może być zmieniony; zmieniony dokument nie da się rozszyfrować kluczem publicznym Alicji Podpis jest niezaprzeczalny; Wada: podpis jest conajmniej tak długi jak sam dokument

14.2 Cechy podpisu Podpis jest prawdziwy; Bolek weryfikuje go deszyfrując kryptogram kluczem publicznym Alicji Podpis nie może być sfałszowany; tylko Alicja zna jej klucz prywatny Podpis nie może być przeniesiony do innego dokumentu Podpisany dokument nie może być zmieniony; zmieniony dokument nie da się rozszyfrować kluczem publicznym Alicji Podpis jest niezaprzeczalny; Wada: podpis jest conajmniej tak długi jak sam dokument

14.2 Cechy podpisu Podpis jest prawdziwy; Bolek weryfikuje go deszyfrując kryptogram kluczem publicznym Alicji Podpis nie może być sfałszowany; tylko Alicja zna jej klucz prywatny Podpis nie może być przeniesiony do innego dokumentu Podpisany dokument nie może być zmieniony; zmieniony dokument nie da się rozszyfrować kluczem publicznym Alicji Podpis jest niezaprzeczalny; Wada: podpis jest conajmniej tak długi jak sam dokument

14.2 Cechy podpisu Podpis jest prawdziwy; Bolek weryfikuje go deszyfrując kryptogram kluczem publicznym Alicji Podpis nie może być sfałszowany; tylko Alicja zna jej klucz prywatny Podpis nie może być przeniesiony do innego dokumentu Podpisany dokument nie może być zmieniony; zmieniony dokument nie da się rozszyfrować kluczem publicznym Alicji Podpis jest niezaprzeczalny; Wada: podpis jest conajmniej tak długi jak sam dokument

14.2 Cechy podpisu Podpis jest prawdziwy; Bolek weryfikuje go deszyfrując kryptogram kluczem publicznym Alicji Podpis nie może być sfałszowany; tylko Alicja zna jej klucz prywatny Podpis nie może być przeniesiony do innego dokumentu Podpisany dokument nie może być zmieniony; zmieniony dokument nie da się rozszyfrować kluczem publicznym Alicji Podpis jest niezaprzeczalny; Wada: podpis jest conajmniej tak długi jak sam dokument

14.3 Podpis z wykorzystaniem jednokierunkowej funkcji hashującej Alicja używa funkcji hashującej do dokumentu, który ma podpisać, otrzymując skrót ( odcisk palca ) dokumentu Alicja podpisuje skrót dokumentu szyfrując go swoim kluczem prywatnym Alicja przesyła Bolkowi dokument i podpisany skrót Bolek używa tej samej funkcji hashującej do otrzymania skrótu dokumentu, a następnie deszyfruje podpisany skrót używając klucza publicznego Alicji; jeśli zdeszyfrowany skrót zgadza się z otrzymanym przez niego od Alicji to podpis jest prawdziwy

14.3 Podpis z wykorzystaniem jednokierunkowej funkcji hashującej Alicja używa funkcji hashującej do dokumentu, który ma podpisać, otrzymując skrót ( odcisk palca ) dokumentu Alicja podpisuje skrót dokumentu szyfrując go swoim kluczem prywatnym Alicja przesyła Bolkowi dokument i podpisany skrót Bolek używa tej samej funkcji hashującej do otrzymania skrótu dokumentu, a następnie deszyfruje podpisany skrót używając klucza publicznego Alicji; jeśli zdeszyfrowany skrót zgadza się z otrzymanym przez niego od Alicji to podpis jest prawdziwy

14.3 Podpis z wykorzystaniem jednokierunkowej funkcji hashującej Alicja używa funkcji hashującej do dokumentu, który ma podpisać, otrzymując skrót ( odcisk palca ) dokumentu Alicja podpisuje skrót dokumentu szyfrując go swoim kluczem prywatnym Alicja przesyła Bolkowi dokument i podpisany skrót Bolek używa tej samej funkcji hashującej do otrzymania skrótu dokumentu, a następnie deszyfruje podpisany skrót używając klucza publicznego Alicji; jeśli zdeszyfrowany skrót zgadza się z otrzymanym przez niego od Alicji to podpis jest prawdziwy

14.3 Podpis z wykorzystaniem jednokierunkowej funkcji hashującej Alicja używa funkcji hashującej do dokumentu, który ma podpisać, otrzymując skrót ( odcisk palca ) dokumentu Alicja podpisuje skrót dokumentu szyfrując go swoim kluczem prywatnym Alicja przesyła Bolkowi dokument i podpisany skrót Bolek używa tej samej funkcji hashującej do otrzymania skrótu dokumentu, a następnie deszyfruje podpisany skrót używając klucza publicznego Alicji; jeśli zdeszyfrowany skrót zgadza się z otrzymanym przez niego od Alicji to podpis jest prawdziwy

14.3 Podpis z wykorzystaniem jednokierunkowej funkcji hashującej Alicja używa funkcji hashującej do dokumentu, który ma podpisać, otrzymując skrót ( odcisk palca ) dokumentu Alicja podpisuje skrót dokumentu szyfrując go swoim kluczem prywatnym Alicja przesyła Bolkowi dokument i podpisany skrót Bolek używa tej samej funkcji hashującej do otrzymania skrótu dokumentu, a następnie deszyfruje podpisany skrót używając klucza publicznego Alicji; jeśli zdeszyfrowany skrót zgadza się z otrzymanym przez niego od Alicji to podpis jest prawdziwy

Podpis jest znacznie krótszy od dokumentu Można sprawdzić istnienie podpisu bez oglądania samego dokumentu

Podpis jest znacznie krótszy od dokumentu Można sprawdzić istnienie podpisu bez oglądania samego dokumentu

14.4 Schemat ElGamala podpisu cyfrowego 14.4.1 Generowanie kluczy Alicja wybiera dużą liczbę pierwszą p oraz liczbę g Z p (generator grupy multiplikatywnej Z p ) Alicja wybiera liczbę losową 0 < a < p 1 oraz oblicza b g a (mod p) Kluczem publicznym Alicji są liczby {b, g, p} zaś kluczem prywatnym liczby {a, g, p}

14.4 Schemat ElGamala podpisu cyfrowego 14.4.1 Generowanie kluczy Alicja wybiera dużą liczbę pierwszą p oraz liczbę g Z p (generator grupy multiplikatywnej Z p ) Alicja wybiera liczbę losową 0 < a < p 1 oraz oblicza b g a (mod p) Kluczem publicznym Alicji są liczby {b, g, p} zaś kluczem prywatnym liczby {a, g, p}

14.4 Schemat ElGamala podpisu cyfrowego 14.4.1 Generowanie kluczy Alicja wybiera dużą liczbę pierwszą p oraz liczbę g Z p (generator grupy multiplikatywnej Z p ) Alicja wybiera liczbę losową 0 < a < p 1 oraz oblicza b g a (mod p) Kluczem publicznym Alicji są liczby {b, g, p} zaś kluczem prywatnym liczby {a, g, p}

14.4 Schemat ElGamala podpisu cyfrowego 14.4.1 Generowanie kluczy Alicja wybiera dużą liczbę pierwszą p oraz liczbę g Z p (generator grupy multiplikatywnej Z p ) Alicja wybiera liczbę losową 0 < a < p 1 oraz oblicza b g a (mod p) Kluczem publicznym Alicji są liczby {b, g, p} zaś kluczem prywatnym liczby {a, g, p}

14.4.2 Podpisywanie Alicja wybiera liczbę losową k (tajną), taką, że 0 < k < p 1 oraz NW D(k, p 1) = 1 Alicja oblicza r = g k (mod p), k 1 (mod p 1), s = k 1 [ H(M) ar ] (mod p 1). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.4.2 Podpisywanie Alicja wybiera liczbę losową k (tajną), taką, że 0 < k < p 1 oraz NW D(k, p 1) = 1 Alicja oblicza r = g k (mod p), k 1 (mod p 1), s = k 1 [ H(M) ar ] (mod p 1). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.4.2 Podpisywanie Alicja wybiera liczbę losową k (tajną), taką, że 0 < k < p 1 oraz NW D(k, p 1) = 1 Alicja oblicza r = g k (mod p), k 1 (mod p 1), s = k 1 [ H(M) ar ] (mod p 1). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.4.2 Podpisywanie Alicja wybiera liczbę losową k (tajną), taką, że 0 < k < p 1 oraz NW D(k, p 1) = 1 Alicja oblicza r = g k (mod p), k 1 (mod p 1), s = k 1 [ H(M) ar ] (mod p 1). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.4.3 Weryfikacja Bolek aby stwierdzić prawdziwość podpisu Alicji pobiera klucz publiczny Alicji {b, g, p} Bolek sprawdza czy 0 < r < p, jeśli nie, podpis nie jest prawdziwy Bolek oblicza x 1 = b r r s (mod p), x 2 = g H(M) (mod p). Bolek akceptuje podpis jeśli x 1 = x 2

14.4.3 Weryfikacja Bolek aby stwierdzić prawdziwość podpisu Alicji pobiera klucz publiczny Alicji {b, g, p} Bolek sprawdza czy 0 < r < p, jeśli nie, podpis nie jest prawdziwy Bolek oblicza x 1 = b r r s (mod p), x 2 = g H(M) (mod p). Bolek akceptuje podpis jeśli x 1 = x 2

14.4.3 Weryfikacja Bolek aby stwierdzić prawdziwość podpisu Alicji pobiera klucz publiczny Alicji {b, g, p} Bolek sprawdza czy 0 < r < p, jeśli nie, podpis nie jest prawdziwy Bolek oblicza x 1 = b r r s (mod p), x 2 = g H(M) (mod p). Bolek akceptuje podpis jeśli x 1 = x 2

14.4.3 Weryfikacja Bolek aby stwierdzić prawdziwość podpisu Alicji pobiera klucz publiczny Alicji {b, g, p} Bolek sprawdza czy 0 < r < p, jeśli nie, podpis nie jest prawdziwy Bolek oblicza x 1 = b r r s (mod p), x 2 = g H(M) (mod p). Bolek akceptuje podpis jeśli x 1 = x 2

14.4.3 Weryfikacja Bolek aby stwierdzić prawdziwość podpisu Alicji pobiera klucz publiczny Alicji {b, g, p} Bolek sprawdza czy 0 < r < p, jeśli nie, podpis nie jest prawdziwy Bolek oblicza x 1 = b r r s (mod p), x 2 = g H(M) (mod p). Bolek akceptuje podpis jeśli x 1 = x 2

14.4.4 Uzasadnienie Ponieważ s k [ 1 H(M) ar ] (mod p 1), to mnożąc stronami przez k mamy ks H(M) ar (mod p 1) i po przekształceniu H(M) ar + ks (mod p 1), a co za tym idzie g H(M) g ar+ks (g a ) r r s b r r s (mod p). Tak więc x 1 = x 2.

14.5 DSA Digital Signature Algorithm Algorytm podpisu cyfrowego zatwierdzony w 1994 r. przez NIST jako standard podpisu cyfrowego w USA (Digital Signature Standard DSS). Wykorzystuje funkcję hashującą SHA-1.

14.5 DSA Digital Signature Algorithm Algorytm podpisu cyfrowego zatwierdzony w 1994 r. przez NIST jako standard podpisu cyfrowego w USA (Digital Signature Standard DSS). Wykorzystuje funkcję hashującą SHA-1.

14.5 DSA Digital Signature Algorithm Algorytm podpisu cyfrowego zatwierdzony w 1994 r. przez NIST jako standard podpisu cyfrowego w USA (Digital Signature Standard DSS). Wykorzystuje funkcję hashującą SHA-1.

14.5.1 Generacja klucza Alicja wybiera liczbę pierwszą q o długości 160 bitów Alicja wybiera liczbę pierwszą p o długości 512 l 1024, przy czym 64 l, taką, że q p 1 Alicja wybiera element g Z p i oblicza b = g (p 1)/q (mod p); jeśli b = 1 to wybiera inne g. Alicja wybiera liczbę losową a, 0 < a < q, i oblicza c = b a (mod p) Kluczem publicznym Alicji jest zbiór liczb {b, c, p, q}

14.5.1 Generacja klucza Alicja wybiera liczbę pierwszą q o długości 160 bitów Alicja wybiera liczbę pierwszą p o długości 512 l 1024, przy czym 64 l, taką, że q p 1 Alicja wybiera element g Z p i oblicza b = g (p 1)/q (mod p); jeśli b = 1 to wybiera inne g. Alicja wybiera liczbę losową a, 0 < a < q, i oblicza c = b a (mod p) Kluczem publicznym Alicji jest zbiór liczb {b, c, p, q}

14.5.1 Generacja klucza Alicja wybiera liczbę pierwszą q o długości 160 bitów Alicja wybiera liczbę pierwszą p o długości 512 l 1024, przy czym 64 l, taką, że q p 1 Alicja wybiera element g Z p i oblicza b = g (p 1)/q (mod p); jeśli b = 1 to wybiera inne g. Alicja wybiera liczbę losową a, 0 < a < q, i oblicza c = b a (mod p) Kluczem publicznym Alicji jest zbiór liczb {b, c, p, q}

14.5.1 Generacja klucza Alicja wybiera liczbę pierwszą q o długości 160 bitów Alicja wybiera liczbę pierwszą p o długości 512 l 1024, przy czym 64 l, taką, że q p 1 Alicja wybiera element g Z p i oblicza b = g (p 1)/q (mod p); jeśli b = 1 to wybiera inne g. Alicja wybiera liczbę losową a, 0 < a < q, i oblicza c = b a (mod p) Kluczem publicznym Alicji jest zbiór liczb {b, c, p, q}

14.5.1 Generacja klucza Alicja wybiera liczbę pierwszą q o długości 160 bitów Alicja wybiera liczbę pierwszą p o długości 512 l 1024, przy czym 64 l, taką, że q p 1 Alicja wybiera element g Z p i oblicza b = g (p 1)/q (mod p); jeśli b = 1 to wybiera inne g. Alicja wybiera liczbę losową a, 0 < a < q, i oblicza c = b a (mod p) Kluczem publicznym Alicji jest zbiór liczb {b, c, p, q}

14.5.1 Generacja klucza Alicja wybiera liczbę pierwszą q o długości 160 bitów Alicja wybiera liczbę pierwszą p o długości 512 l 1024, przy czym 64 l, taką, że q p 1 Alicja wybiera element g Z p i oblicza b = g (p 1)/q (mod p); jeśli b = 1 to wybiera inne g. Alicja wybiera liczbę losową a, 0 < a < q, i oblicza c = b a (mod p) Kluczem publicznym Alicji jest zbiór liczb {b, c, p, q}

14.5.2 Podpisywanie Alicja wybiera tajną liczbę losową k, 0 < k < q, Alicja oblicza r = (b k (mod p)) (mod q), k 1 (mod q), s = k 1 [ H(M) + ar ] (mod q). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.5.2 Podpisywanie Alicja wybiera tajną liczbę losową k, 0 < k < q, Alicja oblicza r = (b k (mod p)) (mod q), k 1 (mod q), s = k 1 [ H(M) + ar ] (mod q). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.5.2 Podpisywanie Alicja wybiera tajną liczbę losową k, 0 < k < q, Alicja oblicza r = (b k (mod p)) (mod q), k 1 (mod q), s = k 1 [ H(M) + ar ] (mod q). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.5.2 Podpisywanie Alicja wybiera tajną liczbę losową k, 0 < k < q, Alicja oblicza r = (b k (mod p)) (mod q), k 1 (mod q), s = k 1 [ H(M) + ar ] (mod q). Podpisem Alicji dla wiadomości M jest para liczb {r, s}

14.5.3 Weryfikacja Bolek pobiera klucz publiczny Alicji {b, c, p, q} Bolek sprawdza czy 0 < r < q i 0 < s < q, jeśli nie, to podpis jest fałszywy Bolek oblicza H(M) i w = s 1 (mod q), u 1 = w H(M) (mod q), u 2 = rw (mod q), v = (b u 1 c u 2 (mod p)) (mod q). Bolek uznaje podpis za prawdziwy jeśli v = r.

14.5.3 Weryfikacja Bolek pobiera klucz publiczny Alicji {b, c, p, q} Bolek sprawdza czy 0 < r < q i 0 < s < q, jeśli nie, to podpis jest fałszywy Bolek oblicza H(M) i w = s 1 (mod q), u 1 = w H(M) (mod q), u 2 = rw (mod q), v = (b u 1 c u 2 (mod p)) (mod q). Bolek uznaje podpis za prawdziwy jeśli v = r.

14.5.3 Weryfikacja Bolek pobiera klucz publiczny Alicji {b, c, p, q} Bolek sprawdza czy 0 < r < q i 0 < s < q, jeśli nie, to podpis jest fałszywy Bolek oblicza H(M) i w = s 1 (mod q), u 1 = w H(M) (mod q), u 2 = rw (mod q), v = (b u 1 c u 2 (mod p)) (mod q). Bolek uznaje podpis za prawdziwy jeśli v = r.

14.5.3 Weryfikacja Bolek pobiera klucz publiczny Alicji {b, c, p, q} Bolek sprawdza czy 0 < r < q i 0 < s < q, jeśli nie, to podpis jest fałszywy Bolek oblicza H(M) i w = s 1 (mod q), u 1 = w H(M) (mod q), u 2 = rw (mod q), v = (b u 1 c u 2 (mod p)) (mod q). Bolek uznaje podpis za prawdziwy jeśli v = r.

14.5.3 Weryfikacja Bolek pobiera klucz publiczny Alicji {b, c, p, q} Bolek sprawdza czy 0 < r < q i 0 < s < q, jeśli nie, to podpis jest fałszywy Bolek oblicza H(M) i w = s 1 (mod q), u 1 = w H(M) (mod q), u 2 = rw (mod q), v = (b u 1 c u 2 (mod p)) (mod q). Bolek uznaje podpis za prawdziwy jeśli v = r.

14.5.4 Uzasadnienie Jeśli {r, s} jest prawdziwym podpisem Alicji dla wiadomości M, to H(M) ar + ks (mod q). Mnożąc stronami przez w i przekształcając otrzymujemy w H(M) + arw k (mod q), co jest równoważne u 1 + au 2 k (mod q). Podnosząc b do potęgi lewej i prawej strony tej kongruencji otrzymujemy (b u 1+au 2 (mod p)) (mod q) (b k (mod p)) (mod q) i dalej mamy (b u 1 c u 2 (mod p)) (mod q) (b k (mod p)) (mod q), a to oznacza v = r.

14.6 Ślepe podpisy cyfrowe Zasadniczym założeniem protokołów podpisów cyfrowych jest, że podpisujący dokument wie co podpisuje. Nie należy podpisywać dokumentów wyglądających na losowy ciąg bitów. Od powyższej zasady są jednak odstępstwa. Przypuśćmy, że Bolek jest notariuszem, zaś Alicja chce aby Bolek potwierdził notarialnie istnienie dokumentu, ale nie chce aby ten dokument obejrzał. Mamy wtedy do czynienia z tzw. ślepym podpisem.

14.6 Ślepe podpisy cyfrowe Zasadniczym założeniem protokołów podpisów cyfrowych jest, że podpisujący dokument wie co podpisuje. Nie należy podpisywać dokumentów wyglądających na losowy ciąg bitów. Od powyższej zasady są jednak odstępstwa. Przypuśćmy, że Bolek jest notariuszem, zaś Alicja chce aby Bolek potwierdził notarialnie istnienie dokumentu, ale nie chce aby ten dokument obejrzał. Mamy wtedy do czynienia z tzw. ślepym podpisem.

14.6 Ślepe podpisy cyfrowe Zasadniczym założeniem protokołów podpisów cyfrowych jest, że podpisujący dokument wie co podpisuje. Nie należy podpisywać dokumentów wyglądających na losowy ciąg bitów. Od powyższej zasady są jednak odstępstwa. Przypuśćmy, że Bolek jest notariuszem, zaś Alicja chce aby Bolek potwierdził notarialnie istnienie dokumentu, ale nie chce aby ten dokument obejrzał. Mamy wtedy do czynienia z tzw. ślepym podpisem.

14.6 Ślepe podpisy cyfrowe Zasadniczym założeniem protokołów podpisów cyfrowych jest, że podpisujący dokument wie co podpisuje. Nie należy podpisywać dokumentów wyglądających na losowy ciąg bitów. Od powyższej zasady są jednak odstępstwa. Przypuśćmy, że Bolek jest notariuszem, zaś Alicja chce aby Bolek potwierdził notarialnie istnienie dokumentu, ale nie chce aby ten dokument obejrzał. Mamy wtedy do czynienia z tzw. ślepym podpisem.

14.6 Ślepe podpisy cyfrowe Zasadniczym założeniem protokołów podpisów cyfrowych jest, że podpisujący dokument wie co podpisuje. Nie należy podpisywać dokumentów wyglądających na losowy ciąg bitów. Od powyższej zasady są jednak odstępstwa. Przypuśćmy, że Bolek jest notariuszem, zaś Alicja chce aby Bolek potwierdził notarialnie istnienie dokumentu, ale nie chce aby ten dokument obejrzał. Mamy wtedy do czynienia z tzw. ślepym podpisem.

Wyobraźmy sobie taką systuację: Alicja wkłada list do koperty łącznie z kalką, zakleja kopertę, a potem prosi Bolka o złożenie podpisu na zaklejonej kopercie. Po otwarciu koperty na liście będzie kopia podpisu Bolka. Cyfrowo ślepy podpis można zrealizować korzystając np. z algorytmu RSA.

Wyobraźmy sobie taką systuację: Alicja wkłada list do koperty łącznie z kalką, zakleja kopertę, a potem prosi Bolka o złożenie podpisu na zaklejonej kopercie. Po otwarciu koperty na liście będzie kopia podpisu Bolka. Cyfrowo ślepy podpis można zrealizować korzystając np. z algorytmu RSA.

Wyobraźmy sobie taką systuację: Alicja wkłada list do koperty łącznie z kalką, zakleja kopertę, a potem prosi Bolka o złożenie podpisu na zaklejonej kopercie. Po otwarciu koperty na liście będzie kopia podpisu Bolka. Cyfrowo ślepy podpis można zrealizować korzystając np. z algorytmu RSA.

Wyobraźmy sobie taką systuację: Alicja wkłada list do koperty łącznie z kalką, zakleja kopertę, a potem prosi Bolka o złożenie podpisu na zaklejonej kopercie. Po otwarciu koperty na liście będzie kopia podpisu Bolka. Cyfrowo ślepy podpis można zrealizować korzystając np. z algorytmu RSA.

14.6.1 Ślepy podpis z użyciem RSA Alicja pobiera klucz publiczny Bolka {e, n} Alicja wybiera liczbę losową k, 0 < k < n, Alicja oblicza z = M k e (mod n) i przesyła z do Bolka Bolek oblicza z d = (M k e ) d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji Alicja oblicza s = z d /k (mod n). Ponieważ z d (M k e ) d M d k (mod n), więc z d /k = M d k/k M d (mod n), czyli s = M d (mod n) jest podpisem Bolka na wiadomości M.

14.6.1 Ślepy podpis z użyciem RSA Alicja pobiera klucz publiczny Bolka {e, n} Alicja wybiera liczbę losową k, 0 < k < n, Alicja oblicza z = M k e (mod n) i przesyła z do Bolka Bolek oblicza z d = (M k e ) d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji Alicja oblicza s = z d /k (mod n). Ponieważ z d (M k e ) d M d k (mod n), więc z d /k = M d k/k M d (mod n), czyli s = M d (mod n) jest podpisem Bolka na wiadomości M.

14.6.1 Ślepy podpis z użyciem RSA Alicja pobiera klucz publiczny Bolka {e, n} Alicja wybiera liczbę losową k, 0 < k < n, Alicja oblicza z = M k e (mod n) i przesyła z do Bolka Bolek oblicza z d = (M k e ) d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji Alicja oblicza s = z d /k (mod n). Ponieważ z d (M k e ) d M d k (mod n), więc z d /k = M d k/k M d (mod n), czyli s = M d (mod n) jest podpisem Bolka na wiadomości M.

14.6.1 Ślepy podpis z użyciem RSA Alicja pobiera klucz publiczny Bolka {e, n} Alicja wybiera liczbę losową k, 0 < k < n, Alicja oblicza z = M k e (mod n) i przesyła z do Bolka Bolek oblicza z d = (M k e ) d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji Alicja oblicza s = z d /k (mod n). Ponieważ z d (M k e ) d M d k (mod n), więc z d /k = M d k/k M d (mod n), czyli s = M d (mod n) jest podpisem Bolka na wiadomości M.

14.6.1 Ślepy podpis z użyciem RSA Alicja pobiera klucz publiczny Bolka {e, n} Alicja wybiera liczbę losową k, 0 < k < n, Alicja oblicza z = M k e (mod n) i przesyła z do Bolka Bolek oblicza z d = (M k e ) d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji Alicja oblicza s = z d /k (mod n). Ponieważ z d (M k e ) d M d k (mod n), więc z d /k = M d k/k M d (mod n), czyli s = M d (mod n) jest podpisem Bolka na wiadomości M.

14.6.1 Ślepy podpis z użyciem RSA Alicja pobiera klucz publiczny Bolka {e, n} Alicja wybiera liczbę losową k, 0 < k < n, Alicja oblicza z = M k e (mod n) i przesyła z do Bolka Bolek oblicza z d = (M k e ) d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji Alicja oblicza s = z d /k (mod n). Ponieważ z d (M k e ) d M d k (mod n), więc z d /k = M d k/k M d (mod n), czyli s = M d (mod n) jest podpisem Bolka na wiadomości M.

14.7 Niezaprzeczalne podpisy cyfrowe Podpis niezaprzeczalny nie może być sprawdzony bez zgody osoby podpisującej. Podpisujący nie może się wyprzeć swojego podpisu, ale może także dowieść, że podpis jest fałszywy (jeśli jest).

14.7 Niezaprzeczalne podpisy cyfrowe Podpis niezaprzeczalny nie może być sprawdzony bez zgody osoby podpisującej. Podpisujący nie może się wyprzeć swojego podpisu, ale może także dowieść, że podpis jest fałszywy (jeśli jest).

14.7 Niezaprzeczalne podpisy cyfrowe Podpis niezaprzeczalny nie może być sprawdzony bez zgody osoby podpisującej. Podpisujący nie może się wyprzeć swojego podpisu, ale może także dowieść, że podpis jest fałszywy (jeśli jest).

14.7 Niezaprzeczalne podpisy cyfrowe Podpis niezaprzeczalny nie może być sprawdzony bez zgody osoby podpisującej. Podpisujący nie może się wyprzeć swojego podpisu, ale może także dowieść, że podpis jest fałszywy (jeśli jest).

14.7.1 Niezaprzeczalny podpis oparty na logarytmach dyskretnych Przypuśćmy, że stroną podpisującą dokument jest Alicja. Generacja klucza Alicja posiada klucz prywatny {a, g, p} oraz klucz publiczny {b, g, p} wygenerowany jak w algorytmie ElGamala. Podpisywanie Alicja oblicza z = M a (mod p) i to jest jej podpis dla dokumentu M

14.7.1 Niezaprzeczalny podpis oparty na logarytmach dyskretnych Przypuśćmy, że stroną podpisującą dokument jest Alicja. Generacja klucza Alicja posiada klucz prywatny {a, g, p} oraz klucz publiczny {b, g, p} wygenerowany jak w algorytmie ElGamala. Podpisywanie Alicja oblicza z = M a (mod p) i to jest jej podpis dla dokumentu M

14.7.1 Niezaprzeczalny podpis oparty na logarytmach dyskretnych Przypuśćmy, że stroną podpisującą dokument jest Alicja. Generacja klucza Alicja posiada klucz prywatny {a, g, p} oraz klucz publiczny {b, g, p} wygenerowany jak w algorytmie ElGamala. Podpisywanie Alicja oblicza z = M a (mod p) i to jest jej podpis dla dokumentu M

Weryfikacja 1. Bolek wybiera dwie liczby losowe r i s mniejsze od p, oblicza w = z r b s (mod p) i przesyła Alicji 2. Alicja oblicza t = a 1 (mod p 1) v = w t (mod p) i przesyła Bolkowi v 3. Bolek sprawdza czy v = M r g s (mod p) Uzasadnienie Zauważmy, że v = w t = z rt b st = (z t ) r (b t ) s = (M at ) r (g at ) s = M r g s (mod p)

Weryfikacja 1. Bolek wybiera dwie liczby losowe r i s mniejsze od p, oblicza w = z r b s (mod p) i przesyła Alicji 2. Alicja oblicza t = a 1 (mod p 1) v = w t (mod p) i przesyła Bolkowi v 3. Bolek sprawdza czy v = M r g s (mod p) Uzasadnienie Zauważmy, że v = w t = z rt b st = (z t ) r (b t ) s = (M at ) r (g at ) s = M r g s (mod p)

Weryfikacja 1. Bolek wybiera dwie liczby losowe r i s mniejsze od p, oblicza w = z r b s (mod p) i przesyła Alicji 2. Alicja oblicza t = a 1 (mod p 1) v = w t (mod p) i przesyła Bolkowi v 3. Bolek sprawdza czy v = M r g s (mod p) Uzasadnienie Zauważmy, że v = w t = z rt b st = (z t ) r (b t ) s = (M at ) r (g at ) s = M r g s (mod p)

Weryfikacja 1. Bolek wybiera dwie liczby losowe r i s mniejsze od p, oblicza w = z r b s (mod p) i przesyła Alicji 2. Alicja oblicza t = a 1 (mod p 1) v = w t (mod p) i przesyła Bolkowi v 3. Bolek sprawdza czy v = M r g s (mod p) Uzasadnienie Zauważmy, że v = w t = z rt b st = (z t ) r (b t ) s = (M at ) r (g at ) s = M r g s (mod p)

Weryfikacja 1. Bolek wybiera dwie liczby losowe r i s mniejsze od p, oblicza w = z r b s (mod p) i przesyła Alicji 2. Alicja oblicza t = a 1 (mod p 1) v = w t (mod p) i przesyła Bolkowi v 3. Bolek sprawdza czy v = M r g s (mod p) Uzasadnienie Zauważmy, że v = w t = z rt b st = (z t ) r (b t ) s = (M at ) r (g at ) s = M r g s (mod p)