Protokoły o zerowej wiedzy Wykład XV

Transkrypt

Protokoły o zerowej wiedzy Wykład XV
WST†P DO KRYPTOGRAFII
Grzegorz Szkibiel
Jesie« 2012/13
Spis tre±ci
1
Protokoªy o zerowej wiedzy i przekazy nierozró»nialne
3
1.1
Kolorowanie mapy
3
1.2
Logarytm dyskretny
. . . . . . . . . . . . . . . . . . . . . . .
5
1.3
Przekazy nierozró»nialne . . . . . . . . . . . . . . . . . . . . .
6
1.4
Dowód faktoryzacji . . . . . . . . . . . . . . . . . . . . . . . .
8
. . . . . . . . . . . . . . . . . . . . . . . .
2
Rozdziaª 1
Protokoªy o zerowej wiedzy i
przekazy nierozró»nialne
Poj¦cie zerowej wiedzy pojawiªo si¦ w kryptograi na pocz¡tku lat osiemdziesi¡tych.
Zostaªo ono sprowokowane rozwojem rynku nansowego, a w
szczególno±ci poª¡czeniem rynku usªug bankowych z rynkiem usªug telekomunikacyjnych. Dokªadnie, wyobra¹my sobie sytuacj¦, gdy klient znajduj¡cy
si¦ na Karaibach chce dokona¢ operacji w banku, który jest w Szwajcarii. W
tym celu u»ywa linii telefonicznej i zleca t¡ drog¡ wykonanie operacji. Problemem jest potwierdzenie to»samo±ci zleceniodawcy.
Oczywi±cie mo»e on
poda¢ jakie± hasªo, które go zidentykuje. Tylko, »e hasªo to zna¢ b¦dzie od
tej pory urz¦dnik bankowy oraz kilka innych osób, które w danej chwili przysªuchuj¡ si¦ rozmowie. Zleceniodawca chciaªby wi¦c nie tyle poda¢ hasªo co
u d o w o d n i ¢
fakt, »e to hasªo zna. Po przeprowadzeniu takiego dowodu,
urz¦dnik bankowy powinien by¢ pewien to»samo±ci zleceniodawcy, ale jego
wiedza na temat tajnego hasªa powinna by¢ taka sama jak przed rozmow¡.
Jak konkretnie przeprowadzi¢ dowód o zerowej wiedzy wytªumaczymy w
oparciu o dwa poni»sze przykªady.
1.1
Kolorowanie mapy
Jest udowodnione, »e ka»d¡ map¦ na pªaszczy¹nie mo»na pokolorowa¢ u»ywaj¡c czterech kolorów. Niektóre mapy mo»na pokolorowa¢ u»ywaj¡c tylko
trzech kolorów. Przypu±¢my, »e Urszuli udaªo si¦ pokolorowa¢ pewn¡ dosy¢
skomplikowan¡ map¦ trzema kolorami czerwonym, niebieskim i zielonym.
3
Chce ona przekona¢ Stefana, »e istotnie potra ona pokolorowa¢ dan¡ map¦,
ale jednocze±nie nie chce pokazywa¢ mapy.
Aby przeprowadzi¢ dowód o zerowej wiedzy musimy przeªo»y¢ map¦ na
j¦zyk matematyczny, a dokªadnie na j¦zyk teorii grafów.
Grafem
nazywamy par¦ zbiorów
zbiory dwuelementowe
{u, v}
(V, E), gdzie elementami zbioru E s¡
u, v ∈ V . Elementy zbioru V na-
przy czym
zywamy wierzchoªkami i interpretujemy je geometrycznie jako punkty, a
elementy zbioru
E
nazywamy kraw¦dziami i interpretujemy jako odcinki.
c, n, z , je±li istnieje
tylko {u, v} ∈ E .
Mówimy, »e graf jest pokolorowany kolorami
f : V → {c, n, z}
taka, »e
f (u) 6= f (v)
je»eli
funkcja
Map¦ uto»samiamy z grafem w ten sposób, »e zbiór pa«stw staje si¦
zbiorem
V,
a do zbioru
E
nale»¡ te i tylko te pary pa«stw, które maj¡
wspóln¡ granic¦.
Tak wi¦c zakªadamy, »e Urszula pokolorowaªa pewien graf i b¦dzie teraz
udowadnia¢ Stefanowi, »e dokonaªa tego w sposób prawidªowy. Wyobra¹my
sobie wierzchoªki tego grafu jako maªe, biaªe kuleczki, a kraw¦dzie jako pr¦ty.
W ±rodku kuleczek znajduj¡ si¦ trzy lampki: czerwona, niebieska i zielona.
Urszula posiada dwa urz¡dzenia:
A, które uaktywnia lampk¦ o wybranym kolorze w ka»dym z wierzchoªku;
B, które po naci±ni¦ciu przycisku wybiera losow¡ permutacj¦ trzech kolorów
i zmienia kolor aktywnej lampki w ka»dym wierzchoªku zgodnie z t¡
permutacj¡.
Zaªó»my, »e lampki wewn¡trz wierzchoªków zapalaj¡ si¦ je±li kto± chwyci
za pr¦t ª¡cz¡cy te dwa wierzchoªki. Urszula konstruuje 3kolorowanie grafu
i za pomoc¡ urz¡dzania A uaktywnia lampki w ka»dym z wierzchoªków. A
oto procedura, któr¡ wykonuje Stefan:
1. Stefan mo»e chwyci¢ za jeden pr¦t i zapali¢ lampki na jego ko«cach.
Je±li graf jest pokolorowany prawidªowo, wierzchoªki rozbªyskuj¡ róo»nymi kolorami.
2. Urszula naciska przycisk urz¡dzenia B i permutuje kolory.
3. Kroki 1. i 2. s¡ powtarzane tak dªugo, a» Stefan nie przekona si¦, »e
graf jest pokolorowany prawidªowo.
4
Zauwa»my, »e je±li graf nie jest pokolorowany prawidªowo, to w pewnym
momencie Stefan chwyci za pr¦t, którego wierzchoªki zapal¡ si¦ tym samym
kolorem. Po drugie, z uwagi na ci¡gªe permutowanie kolorów, Stefan nie jest
w stanie odtworzy¢ pokolorowania grafu.
Istotnie, gdyby Urszula znaªaby
Stefana na tyle, »e byªaby w stanie przwidzie¢, który pr¦t on chwyci, nie
musiaªaby w ogóle kolorowa¢ grafu, tylko po prostu zadbaªaby o to, by na
ko«cach pr¦ta, który zamierza chwyci¢ Stefan aktywne byªy lampki ró»nych
kolorów.
1.2
Logarytm dyskretny
Przyjmiemy tu, »e mamy dane pewne ciaªo sko«czone Fq oraz generator g
∗
jego grupy multyplikatywnej. Niech y ∈ Fq . Przypu±¢my, »e Urszula znalax
zªa rozwi¡zanie równania g = y , czyli logarytm dyskretny o podstawnie g z
elementu
y.
Chce ona teraz przekona¢ Stefana, i» faktycznie zna ona loga-
rytm dyskretny, ale nie chce podawa¢ warto±ci liczbowej
i Stefan znaj¡ ciaªo sko«czone
Fq
x.
Oboje, Urszula
oraz rz¡d jego grupy multyplikatywnej.
Oto ci¡g kroków, które wykonuj¡ w celu przeprowadzenia dowodu o zerowej
wiedzy:
Krok 1. Urszula generuje losow¡ liczb¦ dodatni¡
nowi element
e < q−1
i wysyªa Stefa-
b = ge.
Krok 2. Stefan decyduje, któr¡ z poni»szych czynno±ci ma wykona¢ (mo»e
wykona¢ dokªadnie jedn¡ z nich):
Krok 2a. Stefan prosi Urszul¦ o ujawnienie
sprawdza obliczaj¡c
ge
e.
Jej prawdomówno±¢
i porównuj¡c to z otrzyman¡ liczb¡
Krok 2b. Stefan prosi Urszul¦ o wskazanie reszty
przez
q − 1.
Je±li Urszula faktycznie zna
x
r
z dzielenia
b.
x+e
(a próbuje ona to
udowodni¢), to znalezienie tej reszty nie powinno jej przysporzy¢
r
problemu. Stefan sprawdza prawdomówno±¢ Urszuli obliczaj¡c g
x e
x+e
r
i przyrównuj¡c to do yb. Zauwa»my, »e yb = g g = g
=g .
Krok 3. Kroki 1. oraz 2. s¡ powtarzane tak dªugo, a» Stefan jest caªkowicie
przekonany, »e Urszula zna
x.
Zauwa»my najpierw, »e Stefan nie mo»e domaga¢ si¦ od Urszuli obu informacji z podpunktów 2a. oraz 2b. Gdyby poznaª on jednocze±nie
5
e
oraz
r,
to poznaªby te»
x = r − e.
Nast¦pnie zauwa»my, »e znajomo±¢
x
nie jest
Urszuli potrzebna je»eli Stefan decyduje si¦ na 2a. Jednak»e mo»e on zdecydowa¢ si¦ na krok 2b., a tu ju» znajomo±¢
x
jest potrzebna. Po co wi¦c jest
ge
w kroku
potrzebny krok 2a.? Gdyby go nie byªo, Urszula mogªaby wysªa¢
y
1., a w kroku 2b. po prostu e. Krok 2a. zapobiega takiej mo»liwo±ci.
W powy»szym dowodzie istotnie wyst¦puje zerowa wiedza. Je±li bowiem
kto± nie zna liczby
x,
ale jest w stanie przewidzie¢ post¦powanie Stefana,
tzn. wie, co on wybierze w nast¦pnym kroku, to bez trudu mo»e go oszuka¢.
Mianowicie, je±li wiadomo, »e Stefan zdecyduje si¦ na 2a., to nale»y mu
e
przesªa¢ g w kroku 1. oraz e w kroku 2a. Je»eli natomiast wiemy, »e Stefan
ge
zdecyduje si¦ na 2b., to wysyªamy mu
w kroku 1. oraz e w kroku 2b.
y
1.1 Przykªad. Ponownie wykorzystamy
F16129
g = a + 2,
x logarytmu
g e = 111a +
z generatorem
2
a + 1 = 0. Urszula udowodni Stefanowi, »e zna warto±¢
y = 96a + 106. W tym celu generuje e i wysyªa
120. Je±li Stefan poprosi o e, Urszula wy±le mu 41 i Stefan sprawdzi, »e
(a + 2)41 = 111a + 120. Urszula ponownie generuje e i tym razem wysyªa
82a + 62. Przypu±¢my, »e Stefan poprosi tym razem o reszt¦ z dzielenia x + e
przez 16128. Wtedy Urszula wysyªa mu liczb¦ 15276, a Stefan sprawdza,
15276
czy (a + 2)
= (82a + 62)(96a + 106). Czynno±ci te powtarzaj¡ a» Stefan
uzna, »e Urszula istotnie zna warto±¢ x
gdzie
dyskretnego z
1.3
Przekazy nierozró»nialne
Powy»ej przedstawione dowody byªy dowodami interaktywnymi, tzn. podczas uzasadniania Urszula oraz Stefan kontaktowali si¦ ze sob¡. Kanaª przekazów nierozró»nialnych sªu»y do konstruowania nieinteraktywnych dowodów
o zerowej wiedzy. Przebiega on zatem w jedn¡ stron¦ w kierunku sprawdzaj¡cego. Dopuszczamy tu jednak mo»liwo±¢, »e pewne informacje mog¡ by¢
przesªane w drug¡ stron¦, ale ju» nie kanaªem tylko ,,publicznie. Dokªadnie,
kanaª przekazów nierozró»nialnych umo»liwia Urszuli przekazanie Stefanowi
dwóch pakietów zaszyfrowanych informacji przy czym speªnione musz¡ by¢
nast¦puj¡ce warunki:
1. Stefan mo»e rozszyfrowa¢ dokªadnie jeden z przesªanych dwóch pakietów.
2. Urszula nie wie, który z pakietów zostanie rozszyfrowany.
6
3. Stefan oraz Urszula s¡ pewni, »e warunki 1) oraz 2) s¡ speªnione.
Opiszmy przykªad kanaªu przekazów nierozró»nialnych oparty na problemie logarytmu dyskretnego. Potrzebne nam b¦dzie (du»e) ciaªo sko«czone Fq
∗
x
y
oraz ustalony element b ∈ Fq taki, »e je±li znamy b oraz b , to trudno jest obxy
liczy¢ b
(czyli speªnione jest zaªo»enie DiegoHellmana). Dalej, potrzebne
n
nam b¦dzie przeksztaªcenie ψ : Fq → F2 . Przy czym warto±ci zarówno przeksztaªcenia
ψ
jak i przeksztaªcenia odwrotnego mog¡ by¢ obliczone w ªatwy
sposób. Zaªó»my, »e wszystkie ci¡gi n-bitowe maj¡ce na ko«cu 0 nale»¡ do
ψ . Je±li q = pf oraz elementy Fq uto»samimy z liczbami
przeciwdziedziny
caªkowitymi zapisanymi w systemie o podstawie
p, to ψ
mo»e odwzorowywa¢
te elementy przypisuj¡c im ci¡g bitów wyst¦puj¡cych w zapisie dwójkowym
odpowiadaj¡cych liczb.
Przypu±¢my, »e jednostkami tekstu s¡ ci¡gi
Potrzebny nam jeszcze b¦dzie ustalony element
nbitów, tzn. elementy Fn2 .
C ∈ F∗q taki, »e nikt nie zna
jego logarytmu dyskretnego.
Kanaª przekazów nierozró»nialnych dziaªa w nast¦puj¡cy sposób. Stefan
0 < x < q − 1 oraz 1 ∈ {1, 2}. Nast¦pnie tworzy
(β1 , β2 ), gdzie βi = bx oraz β3−i = bCx . Dopuszczamy tu
wybiera losowo liczby
swój klucz publiczny
mo»liwo±¢ utworzenia serii tego rodzaju kluczy publicznych. B¦d¡ one znane
Urszuli (tak jak i wszystkim innym).
rytmu dyskretnego liczby
liczby
β3−i
Zauwa»my, »e Stefan nie zna loga-
poniewa» nikt nie zna logarytmu dyskretnego
C.
Urszula wybiera teraz teksty
kietom.
m1
m2 , które przypisuje dwóm pay1 , y2 ∈ {0, 1, . . . , q − 1} i wysyªa
oraz
Wybiera ona te» liczby losowe
Stefanowi dwa pakiety:
by1 , α1 = m1 + ψ(β1y1 )
βiyi = (bx )yi , a
yi
wyznaczy¢ ψ(βi ), a co
Poniewa»
oraz
by2 , α2 = m2 + ψ(β2y2 ).
Stefan zna zarówno
by 1
oraz
x,
wi¦c mo»e on ªatwo
yi
za tym idzie, tak»e wyznaczy¢ mi = αi + ψ(βi ).
Odczytanie wiadomo±ci m3−i jest jednak niemo»liwe, poniewa» znajomo±¢
y3−i
by3−i oraz C nie jest wystarczaj¡ca do znalezienia β3−i
(zaªo»enie Diego
Hellmana). Tak wi¦c Stefan mo»e odczyta¢ dokªadnie jedn¡ z przesªanych
wiadomo±ci.
Urszula mo»e bez trudu sprawdzi¢, »e
β1 β2 = C , wi¦c
β1 oraz β2 .
zna¢ logarytmów dyskretnych z obu elementów
interesie le»y posiadanie jak najwi¦cej informacji.
Stefan nie mo»e
Jednak»e w jego
Urszula mo»e wi¦c by¢
pewna, »e Stefan zna logarytm dyskretny dokªadnie jednej z liczb
7
β1 , β2 .
Nie
ma jednak sposobu na to, by zdecydowa¢ jednoznacznie z którego elementu
zna Stefan logarytm dyskretny. Tak wi¦c warunki 2) oraz 3) denicji kanaªu
przekazów nierozró»nialnych s¡ speªnione.
1.4
Dowód faktoryzacji
Opiszemy procedur¦ nieiteraktywnego dowodu o zerowej wiedzy, za pomoc¡
którego Urszula przekona stefana, »e zna ona rozkªad na czynniki liczby caªkowitej
n.
Wykorzystamy tu fakt, »e znajomo±¢ faktoryzacji liczby
n jest równz
nowa»na umiej¦tno±ci znajdywania pierwiastków kwadratowych modulo
n na iloczyn liczb pierwszych
p oraz q i mamy rozwi¡za¢ kongruencj¦ y ≡ x2 (mod n), to rozwi¡zujemy
2
2
dwie kongruencje y ≡ x (mod p) oraz y ≡ x (mod q) a nast¦pnie stosujemy
dowolnej liczby. Istotnie, je±li znamy rozkªad
chi«skie twierdzenie o resztach dostaj¡c cztery pierwiastki wyj±ciowej kon2
gruencji. Je±li natomiast potramy rozwi¡za¢ kongruencj¦ y ≡ x (mod n),
2
2
czyli znale¹¢ ±x1 oraz ±x2 , takie, »e x1 ≡ x2 (mod n), to znajdziemy te»
nietrywialny dzielnik liczby n, który jest równy NWD(x1 + x2 , n).
Opiszemy teraz procedur¦ dowodu o zerowej wiedzy. Zakªadamy tutaj, »e
nad wszystkim czuwa niezale»ny arbiter okre±lany mianem Centrum, który
dostarcza te» pewnych informacji zarówno dla Urszuli jak i dla Stefana.
1. Centrum generuje losow¡ liczb¦
y = x2 mod n.
x i wysyªa do Urszuli i do Stefana liczb¦
2. Urszula oblicza cztery pierwiastki kwadratowe
±x1
oraz
±x2
z liczby
y.
Jeden z nich nazywa x0 . Nast¦pnie wybiera losow¡ liczb¦ r i ozna2
cza s = r
mod n. Potem kªadzie m1 = r mod n oraz m2 = x0 r
mod n.
Ostatecznie Urszula wysyªa Stefanowi za pomoc¡ kanaªu prze-
kazów nierozró»nialnych wiadomo±ci
przekazuje mu
m1
oraz
m2 ,
a drog¡ publiczn¡
s.
3. Stefan jest w stanie odczyta¢ tylko jedn¡ wiadomo±¢. Sprawdza, czy
jej kwadrat przystaje modulo
n
do
s,
czy do
ys.
4. Czynno±ci 1.3. s¡ powtarzane dopóty, dopóki nie sko«cz¡ si¦ wszystkie
klucze publiczne
(β1 , β2 )
Stefana u»ywane do aktywacji kanaªu przeka-
Je±li byªo T kluczy, to Stefan jest pewny z
−T
prawdopodobie«stwem 1 − 2
, »e Urszula zna rozkªad liczby n na
zów nierozró»nialnych.
czynniki.
8
Przeprowad¹my teraz zwykª¡ dyskusj¦ na temat, czy powy»szy protokóª
jest istotnie dowodem o zerowej wiedzy.
Zastanówmy si¦ najpierw, w jaki
sposób Urszula mogªaby oszuka¢ Stefana. Wiadomo±¢
wiastka z
y,
ale wiadomo±¢
m2
zawiera pierwiastek z
m1 nie zawiera piery i nie mo»na nic na
to poradzi¢. Jedyn¡ szans¡ uszustwa byªoby wi¦c tutaj przesyªanie dwóch
identycznych wiadomo±ci
m1 .
Szybko jednak Stefan nabraªby podejrze«, po-
niewa» za ka»dym razem przy sprawdzaniu otrzymywaªby
s, a taki
(β1 , β2 )
przydarza si¦ tylko wówczas, gdy przy generowaniu klucza
losow¡
i
ukªad
liczb¡
jest zawsze 1. Czy Stefan odtworzyªby wszystkie pierwiastki kwa-
y ? Tak¡ mo»liwo±¢ daje mu tylko wiadomo±¢ m2 . Poniewa» jednak liczba r nie jest mu znana, wi¦c nie mo»e on obliczy¢ x0 znaj¡c tylko
x0 r mod n oraz r2 mod n. Tak wi¦c Stefan nie jest w stanie znale¹¢ nawet
2
jednego pierwiastka kongruencji y ≡ x (mod n).
dratowe z
9