• Nie Znaleziono Wyników

krypt09.pdf ,

N/A
N/A
Protected

Academic year: 2021

Share "krypt09.pdf ,"

Copied!
81
0
0

Pełen tekst

(1)

Kryptografia

z elementami kryptografii kwantowej

Ryszard Tanaś

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

(2)

Spis treści

14 Podpis cyfrowy

3

14.1 Przypomnienie

. . . .

3

14.2 Cechy podpisu

. . . .

4

14.3 Podpis z wykorzystaniem jednokierunkowej funkcji

ha-shującej

. . . .

5

14.4 Schemat ElGamala podpisu cyfrowego

. . . .

7

14.5 DSA — Digital Signature Algorithm

. . . .

11

14.6 Ślepe podpisy cyfrowe

. . . .

16

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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;

(9)

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;

(10)

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;

(11)

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;

(12)

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;

(13)

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;

(14)

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;

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

Podpis jest znacznie krótszy od dokumentu

(21)

Podpis jest znacznie krótszy od dokumentu

(22)

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}

(23)

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}

(24)

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}

(25)

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}

(26)

14.4.2 Podpisywanie

• Alicja wybiera liczbę

losową

k

(tajną), taką, że

0 < k < p − 1

oraz

N W 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)

.

(27)

14.4.2 Podpisywanie

• Alicja wybiera liczbę

losową

k

(tajną), taką, że

0 < k < p − 1

oraz

N W 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)

.

(28)

14.4.2 Podpisywanie

• Alicja wybiera liczbę

losową

k

(tajną), taką, że

0 < k < p − 1

oraz

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

(29)

14.4.2 Podpisywanie

• Alicja wybiera liczbę

losową

k

(tajną), taką, że

0 < k < p − 1

oraz

N W 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)

.

(30)

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)

.

(31)

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)

.

(32)

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)

.

(33)

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

(34)

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)

.

(35)

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 gH(M ) ≡ gar+ks ≡ (ga)rrs ≡ brrs (mod p). Tak więc x1 = x2.

(36)

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

(37)

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

(38)

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

(39)

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 ∈ Zp 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 = ba (mod p)

(40)

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 ∈ Zp 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 = ba (mod p)

(41)

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 ∈ Zp 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 = ba (mod p)

(42)

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 ∈ Zp 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 = ba (mod p)

(43)

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 ∈ Zp 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 = ba (mod p)

(44)

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 ∈ Zp 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 = ba (mod p)

(45)

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)

.

(46)

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)

.

(47)

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

(48)

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)

.

(49)

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

u1

c

u2

(mod p)) (mod q)

.

(50)

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

u1

c

u2

(mod p)) (mod q)

.

(51)

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

u1

c

u2

(mod p)) (mod q)

.

(52)

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

u1

c

u2

(mod p)) (mod q).

(53)

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

u1

c

u2

(mod p)) (mod q)

.

(54)

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

u1 + au2 ≡ k (mod q).

Podnosząc b do potęgi lewej i prawej strony tej kongruencji otrzymujemy

(bu1+au2 (mod p)) (mod q) ≡ (bk (mod p)) (mod q)

i dalej mamy

(bu1cu2 (mod p)) (mod q) ≡ (bk (mod p)) (mod q),

(55)

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

(56)

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

(57)

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

(58)

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

(59)

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

(60)

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.

(61)

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.

(62)

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.

(63)

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.

(64)

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 ke (mod n) i przesyła z do Bolka

Bolek oblicza zd = (M ke)d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji

Alicja oblicza s = zd/k (mod n). Ponieważ zd ≡ (M ke)d ≡ Mdk (mod n), więc

zd/k = Mdk/k ≡ Md (mod n), czyli

s = Md (mod n)

(65)

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 ke (mod n) i przesyła z do Bolka

Bolek oblicza zd = (M ke)d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji

Alicja oblicza s = zd/k (mod n). Ponieważ zd ≡ (M ke)d ≡ Mdk (mod n), więc

zd/k = Mdk/k ≡ Md (mod n), czyli

s = Md (mod n)

(66)

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 ke (mod n) i przesyła z do Bolka

Bolek oblicza zd = (M ke)d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji

Alicja oblicza s = zd/k (mod n). Ponieważ zd ≡ (M ke)d ≡ Mdk (mod n), więc

zd/k = Mdk/k ≡ Md (mod n), czyli

s = Md (mod n)

(67)

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 ke (mod n) i przesyła z do Bolka

Bolek oblicza zd = (M ke)d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji

Alicja oblicza s = zd/k (mod n). Ponieważ zd ≡ (M ke)d ≡ Mdk (mod n), więc

zd/k = Mdk/k ≡ Md (mod n), czyli

s = Md (mod n)

(68)

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 ke (mod n) i przesyła z do Bolka

Bolek oblicza zd = (M ke)d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji

Alicja oblicza s = zd/k (mod n). Ponieważ zd ≡ (M ke)d ≡ Mdk (mod n), więc

zd/k = Mdk/k ≡ Md (mod n), czyli

s = Md (mod n)

(69)

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 ke (mod n) i przesyła z do Bolka

Bolek oblicza zd = (M ke)d (mod n) używając swojego klucza prywatnego {d, n} i wynik przesyła Alicji

Alicja oblicza s = zd/k (mod n). Ponieważ zd ≡ (M ke)d ≡ Mdk (mod n), więc

zd/k = Mdk/k ≡ Md (mod n), czyli

s = Md (mod n)

(70)

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,

(71)

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,

(72)

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,

(73)

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,

(74)

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

(75)

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

(76)

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

(77)

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

(78)

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

(79)

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

(80)

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

(81)

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

Cytaty

Powiązane dokumenty

  Psy wojny: Kiedy wasza szajka znajduje się w stanie wojny (−3 do statusu u danej frakcji), nie otrzymuje −1 do kontroli, BG nadal mają po dwie akcje przestoju zamiast

Pech jednak chciał, że były to już czasy łabędziego śpiewu semiotyki jako dyscypliny naukowej – Alicja (a wraz z nią krakowski trzon zespołu śląskiego) przebywała od

Spotkania w Gminie wnosiły do projektu możliwość bezpośredniego przekazu celów jakie Gmina Koszyce zamierzała osiągnąć w wyniku realizacji projektu – budowania

Dnia 3 kwietnia 2014 roku odbyło się posiedzenie Rady Wydziału Nauk Spo- łecznych Uniwersytetu Gdańskiego w celu sfinalizowania postępowania ha- bilitacyjnego dr

Dzisiaj nie myśl o niczem innem, tylko jedynie o tem, by kupić bilet – rewelacyjnie tani – i przyjść na rewję „Przez dziurkę od klucza!” Początek

W ówczesnej sytuacji społeczno - politycznej, wiele działań, które prezentowały przywiązanie do idei &#34;S&#34; oraz wrogi stosunek do ówczesnych władz, rodziło

Ćwiczenia w Zakładzie Symulacji Medycznych odbywają się na zasadzie udziału w scenariuszu symulacji wysokiej wierności z użyciem symulatorów, a studenci pełnią

Prawnuczki Alicji domagają się spadku po niej wskazując, że po odrzucenie spadku przez Michała wstępują one w jego sytuację prawną.. 1.Kto i w jakich udziałach dziedziczy