Algorithmische Kryptographie Kapitel 13
Zero-Knowledge
Walter Unger
Lehrstuhl f¨ur Informatik 1
30. Januar 2009
Einf¨uhrung
Anschauliches Beispiel
Zero-Knowledge-Proof f¨ur die 3-F¨arbung eines Graphen Weitere Beispiele
Kenntnis der Faktoren, 3-F¨arbung
Graphenisomorphismus und Graphennichtisomorphismus Unabh¨angige Mengen und Hamilton-Kreis
3-SAT
Formale Definition, Varianten und Beweisstruktur Idee zur Beweisf¨uhrung
Definition von Zero-Knowledge Verfahren von Shamir
Verfahren von Shamir ist Zero-Knowledge Protokolle
Aussagen und Anwendungen
Zero-Knowledge-Proof und Komplexit¨atsklassen Komposition von Zero-Knowledge-Proofs Identifikation mit Zero-Knowledge-Proofs Unterschriften mit Zero-Knowledge-Proofs
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
(13:1) Walter Unger Z
Einleitung
I
Beteiligt sind P und V .
I
P , der Prover, m¨ ochte Behauptung beweisen.
I
V , der Verifizierer, will Beweis sehen.
I
P m¨ ochte keine Information preisgeben.
I
V m¨ ochte aber trotzdem ¨ uberzeugt werden.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Anschauliches Beispiel (13:2) Walter Unger Z
Einfaches Beispiel
Biologie/ChemiePhysik/ChemieMathematikInformatik
” Bekanntlich“ gibt es nur
I
6 Edelgase
I
3 Wilson-Primzahlen
I
20 Aminos¨ auren
I
4 Farben
Jemand (Peter) behauptet: Es gibt
I
ein weiteres Edelgas
I
eine weitere Wilson-Primzahl
I
eine weitere Aminos¨ aure
I
eine weitere Farbe Nun muss Peter seine Behauptung beweisen.
I
Wenn Peter ein neues Objekt kennt, dann kann er dessen Existenz beweisen.
I
Eine L¨ uge von Peter soll erkannt werden.
I
Peter will aber keine weitere Information preisgeben.
I
L¨ osung: Zero-Knowledge-Proof
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Anschauliches Beispiel (13:3) Walter Unger Z
Idee
I
Vera und Peter haben viele Kugeln mit 4 Farben.
vvvvI
Peter hat Kugel mit weiterer Farbe.
vI
Vorhanden sind zwei verschließbare K¨ asten mit Trichter.
I
Nur Peter hat den Schl¨ ussel zu den K¨ asten.
@@
!
@@
! s
s
s s
s
s s
s
Peter
s
s
Peter
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Anschauliches Beispiel (13:4) Walter Unger Z
Das Protokoll (Betrugsversuch)
1. Peter verschließt K¨ asten und f¨ ullt verdeckt Kugeln ein.
2. Vera f¨ ullt verdeckt Kugeln ein.
3. Verdeckt vertauscht Vera ggf. die K¨ asten.
4. Peter ¨ offnet die K¨ asten und sagtr¨ at, ob ein Austausch vorliegt.
@@
!
@@
! s
s
s s
s
s s
s
Peter
s
s
Peter
y y y y y y y
y
y y y y
y y
y y y y y
yy y y yyy y
yyy yy yyy y
y y
y y
y y
y yy yy
y y
y y y
y y y
y y y
y y y y
y y
y y y y
y y
y y
yyy yy yyyy y y y
y y
y y y
y y y
y y y
y y y y
y y
y y y y
y y
y
y y y y
y y
y y y y y
yy y y yyy y
yyy yy yyy y
y y
y y
y y y y y y y
y
y y y y
y y
y y y y y
yy y y yyy y
yyy yy yyy y
y y
y y
y y
y yy yy
y y
y y y
y y y
y y y
y y y y
y y
y y y y
y y
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen Zero-Knowledge-Proof f¨ur die 3-F¨arbung eines Graphen (13:5) Walter Unger Z
Muster beim Zero-Knowledge-Proof
Phase 1: Commitment (Hinterlegung) Phase 2: Challenge (Herausforderung) Phase 3: Response (Antwort)
P: kennt W und x V: kennt W
w¨ ahlt Co Co
-
a w¨ ahlt a bestimmt Re
Co,aRe
Co,a-
Testet (Co, a, Re
Co,a, W )
Wiederhole zum Verkleinern der Betrugswahrscheinlichkeit.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen Zero-Knowledge-Proof f¨ur die 3-F¨arbung eines Graphen (13:6) Walter Unger Z
ZKP f¨ ur die 3-F¨ arbung eines Graphen G = (V , E )
u
u
u
u u
Z Z Z Z ZZ
\
\
\
\
\
\\
XX
XX XX XX XX X
u u
u
u u
I
V = {1, 2, · · · , n} Menge der Knoten
I
E ⊆ P
2(V ) Menge der Kanten
I
Es gibt eine 3-F¨ arbung der Knoten:
∃col : V → {1, 2, 3} : ∀{a, b} ∈ E : col (a) 6= col(b)
I
Peter will nun beweisen, dass er eine 3-F¨ arbung f¨ ur G kennt.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen Zero-Knowledge-Proof f¨ur die 3-F¨arbung eines Graphen (13:7) Walter Unger Z
ZKP f¨ ur die 3-F¨ arbung eines Graphen G = (V , E )
H HH HH H
H HH HH H
H HH HH H
H HH HH H HH
HH HH
HH HH HH
HH HH HH
HH HH HH
XX XX XX XX XX X
XX XX XX XX XX X
XX XX XX XX XX X XX XX XX XX XX X
XX XX XX XX XX X
XX XX XX XX XX X
\
\
\
\
\
\\
\
\
\
\
\
\\
\
\
\
\
\
\\
\
\
\
\
\
\\
H HH HH H
\
\
\
\
\
\\
XX
XX XX XX XX X
1
2
3
4
5 1
u2
u3
u4
u5
u1
u2
u3
u4
u5
u1
u2
u3
u4
u5
u1
u2
u3
u4
u5
uI
Verschließbare K¨ asten f¨ ur Knoten
I
Verschließbare K¨ asten f¨ ur Farben in allen Kombinationen
I
Verschließbare K¨ asten f¨ ur alle m¨ oglichen Kanten
I
Im Protokoll werden die K¨ asten ungeordnet ¨ ubertragen.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen Zero-Knowledge-Proof f¨ur die 3-F¨arbung eines Graphen (13:8) Walter Unger Z
ZKP f¨ ur die 3-F¨ arbung eines Graphen G = (V , E )
H HH HH H
H HH HH H
H HH HH H
H HH HH H HH
HH HH
HH HH HH
HH HH HH
HH HH HH
XX XX XX XX XX X
XX XX XX XX XX X
XX XX XX XX XX X XX XX XX XX XX X
XX XX XX XX XX X
XX XX XX XX XX X
\
\
\
\
\
\\
\
\
\
\
\
\\
\
\
\
\
\
\\
\
\
\
\
\
\\
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
H HH HH H
\
\
\
\
\
\\
XX
XX XX XX XX X
Zwei m¨ ogliche Anfragen: 1. Fall
1. Peter erzeugt alle verschließbaren Boxen
2. Vera fragt: Zeige mir den Graphen G = (V , E )
3. Peter ¨ offnet alle Knotenk¨ asten und alle Kantenk¨ asten
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen Zero-Knowledge-Proof f¨ur die 3-F¨arbung eines Graphen (13:9) Walter Unger Z
ZKP f¨ ur die 3-F¨ arbung eines Graphen G = (V , E )
H HH HH H
H HH HH H
H HH HH H
H HH HH H HH
HH HH
HH HH HH
HH HH HH
HH HH HH
XX XX XX XX XX X
XX XX XX XX XX X
XX XX XX XX XX X XX XX XX XX XX X
XX XX XX XX XX X
XX XX XX XX XX X
\
\
\
\
\
\\
\
\
\
\
\
\\
\
\
\
\
\
\\
\
\
\
\
\
\\
u u u u u
u u u u u
u u u u u
Zwei m¨ ogliche Anfragen: 2. Fall
1. Peter erzeugt alle verschließbaren Boxen
2. Vera fordert einen Beweis der korrekten F¨ arbung
3. Peter ¨ offnet alle Farbenboxen und Kantenboxen zwischen
gleichen Farben
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen Zero-Knowledge-Proof f¨ur die 3-F¨arbung eines Graphen (13:10) Walter Unger Z
Betrugsversuch bei der 3-F¨ arbung eines Graphen
1
u2
u3
u4
u5
u1
u2
u3
u4
u5
u1
u2
u3
u4
u5
u1
u2
u3
u4
u5
u
\
\
\
\
\
\\
XX XX XX XX XX X
4 1. Peter gibt Kante {3, 4} an und Vera will Graph sehen.
4 2. Peter verschweigt Kante {3, 4} und Vera will F¨ arbungsbeweis.
8 3. Peter gibt Kante {3, 4} an und Vera will F¨ arbungsbeweis.
8 4. Peter verschweigt Kante {3, 4} und Vera will Graph sehen.
Jeder 2. Betrug ist erfolgreich.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
(13:11) Walter Unger Z
3-F¨ arbung eines Graphen
I P kennt die 3-F¨arbung eines GraphenG = (V,E) mit|V|=t.
I Zur Erinnerung: Ein GraphG = (V,E) heisst 3-f¨arbbar, wenn c:V → {1,2,3}mit∀(a,b)∈E:c(a)6=c(b) I P bereitet folgende Boxen vor:
I Bi,16i 63t,enth¨alt Knoten, wobeiδ(Bi) den Inhalt der Box angibt
I Bic,16i63t,enth¨alt eine Farbe, d.h. δ(Bic)∈ {1,2,3}
I F¨ur jedes Paar (v,c) mitv∈V,c∈ {1,2,3}gibt es einen Indexj mit δ(Bj) =v undδ(Bjc) =c.
I Bij,16i 6j63t,enth¨alt eine Kante, d.h.δ(Bij) = 1 :⇐⇒
(δ(Bi), δ(Bj))∈E undδ(Bic) =c(δ(Bi)) undδ(Bjc) =c(δ(Bj)).
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
(13:12) Walter Unger Z
3-F¨ arbung eines Graphen
P:G= (V,E),|V|=t V:G = (V,E),t
kenntc:V→ {1,2,3}mit:∀(a,b)∈E:c(a)6=c(b)
bestimmtBi,Bic,Bij (16i,j63t):
∀(v,c)∈V× {1,2,3}:∃j:δ(Bj) =vj∧δ(Bjc) =c δ(Bij) = 1⇐⇒(δ(Bi), δ(Bj))∈E∧
δ(Bci) =c(δ(Bi))∧δ(Bcj) =c(δ(Bj)) Bi,Bic,Bij 16i,j63t-
x w¨ahltx ∈ {0,1}
Fallsx = 0, dann machen beide δ(Bi), δ(Bij)
16i,j63t- testetG und 2t isolierte Knoten Fallsx = 1, dann machen beide δ(Bic), δ(Bij)
16i,j63t δ(Bci) =δ(Bjc)
- testet: keine Kante sichtbar
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Kenntnis der Faktoren, 3-F¨arbung (13:13) Walter Unger Z
Kenntnis der Faktoren
P will V davon ¨uberzeugen, dass erpundqkennt, aberpundq sollen geheim bleiben.
P:p,q,n=p·q V:n
w¨ahltx∈IN y y :=x
4modn Berechnet Wurzelnx1undx2
d.h.xi2≡y (modn),i∈ {1,2}
Bestimmtx mitx2≡xi (modn) f¨ur eini
±x2 -
Testet Wert
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Graphenisomorphismus und Graphennichtisomorphismus (13:14) Walter Unger Z
Einleitung
Definition
Zwei Graphen G = (V , E ) und G
0= (V
0, E
0) heissen isomorph, gdw:
1. ∃e : V 7→ V
0mit 2. e ist Bijektion und
3. ∀a, b ∈ V : {a, b} ∈ E ⇐⇒ {e (a), e(b)} ∈ E
0Schreibweise: G ∼ = G
0bzw. G ∼ =
eG
0D.h. G und G
0sind bis auf die Knotennamen nicht zu
unterscheiden.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Graphenisomorphismus und Graphennichtisomorphismus (13:15) Walter Unger Z
Graphenisomorphismus
P kennt einen Graphenisomorphismus zwischenG1undG2 und willV von der Kenntnis ¨uberzeugen.
P:G1,G2,e:G1∼=e G2 V:G1= (V,E),G2= (V0,E0) w¨ahlt Isomorphismuse0
bestimmtGα:Gα∼=e0G1 Gα
-
w¨ahltx∈ {1,2}
x fallsx = 1 :f :=e0
fallsx = 2 :f :=e0◦e f -
testet:Gα∼=f Gx
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Graphenisomorphismus und Graphennichtisomorphismus (13:16) Walter Unger Z
Nicht-Isomorphismus
P kennt Unterschied zwischenG1undG2 und willV von der Kenntnis
¨uberzeugen.
P:G1= (V,E),G2= (V0,E0) V:G1= (V,E),G2= (V0,E0) w¨ahlti1, . . . ,ik∈ {1,2}
bestimmtHj∼=Gij
Hj
16j6k f¨ur 16j6k bestimmtxj:Hj∼=Gxj
f¨ur 16j6k xj
16j6-k
testetxj
=? ijf¨ur 16j6k
Frage: welche Rechenleistung k¨onnen/m¨ussenPundV haben.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Unabh¨angige Mengen und Hamilton-Kreis (13:17) Walter Unger Z
Independent Set
Definition
Ein Graph G = (V , E) hat eine unabh¨ angige Menge (independet set) der Gr¨ oße k, gdw. es existiert I ⊂ V , |I| = k mit:
∀a, b ∈ I : {a, b} 6∈ E .
F¨ ur gegebenes k und Graphen G festzustellen, ob G eine
unabh¨ angige Menge der Gr¨ oße k hat, ist NP-vollst¨ andig.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Unabh¨angige Mengen und Hamilton-Kreis (13:18) Walter Unger Z
Independent Set (Idee)
a b
c d
e f
Q
Q Q Q Q Q
T T T T T T T T T T
PP PP PP PP PP PP
Q Q Q Q Q Q
PP PP PP PP PP PP
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Unabh¨angige Mengen und Hamilton-Kreis (13:19) Walter Unger Z
Independent Set
P:G= (V,E),|V|=t,I ⊂V :|I|=kmit: V:G = (V,E),k
∀a,b∈I:{a,b} 6∈E bestimmtB1, . . . ,Bt mit:
δ(B1, . . . ,Bt) =V
bestimmtI0={i |δ(Bi)∈I} bestimmtBij,16i <j6tmit:
δ(Bij) = 1 ⇐⇒ {δ(Bj), δ(Bi)} ∈E
Bij,Bi 16i<j6-t
x w¨ahlex ∈ {0,1}
Fallsx = 0, dann machen beide δ(Bi), δ(Bij)
16i6t i<j6t
- testetG Fallsx = 1, dann machen beide δ(Bij)
{i,j} ⊂I-0 testetI
0
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Unabh¨angige Mengen und Hamilton-Kreis (13:20) Walter Unger Z
Hamilton-Kreis
Definition
Ein Graph G = (V , E) hat einen Hamilton-Kreis, gdw. es existiert H = (V , {{v
1, v
2}, {v
2, v
3}, . . . , {v
n, v
1}}) ∼ = C
|V|als Teilgraph von G.
Das Problem, festzustellen, ob G = (V , E ) einen Hamilton-Kreis hat, ist NP-vollst¨ andig.
Beachte: C
kist ein Kreis der L¨ ange k (mit k Knoten).
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Unabh¨angige Mengen und Hamilton-Kreis (13:21) Walter Unger Z
Hamilton-Kreis (Idee)
a b c d
e f g h
i j k l
T
T T T T T T T T T
Q Q Q Q Q Q
T T T T T T T T T T
Q Q Q Q Q Q
PP PP PP PP PP PP
T T T T T T T T T T
Q Q Q Q Q Q
PP PP PP PP PP PP
Q
Q Q Q Q Q
Q Q Q Q Q Q
PP PP PP PP PP PP
Q Q Q Q Q Q
PP PP PP PP PP PP
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Unabh¨angige Mengen und Hamilton-Kreis (13:22) Walter Unger Z
Hamilton-Kreis
P:G = (V,E),|V|=tundH mit: V:G= (V,E),t H= (V,F)∼=Ct
bestimmtB1, . . . ,Bt mit:
δ(B1, . . . ,Bt) =V
bestimmtBij,16i<j6t mit:
δ(Bij) = 1 ⇐⇒ {δ(Bj), δ(Bi)} ∈E F0={{i,j} | {δ(Bi), δ(Bj)} ∈F}
Bij,Bi 16i<j6-t
x w¨ahlex∈ {0,1}
Fallsx= 0, dann machen beide δ(Bi), δ(Bij)
16i6t i<j6t
- testetG Fallsx= 1, dann machen beide δ(Bij)
i<j {i,j} ∈F0
- testetCt
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
3-SAT (13:23) Walter Unger Z
3-SAT
Definition
Eine Boolesche FormelF ist in Exact-3-KNF:
F(x1,x2, ...,xr) = Vm i=1ci
(Klauseln) ci = (li1∨li2∨l3i) ∀16i6m (Literale) lij =
¬xk oder
xk f¨ur eink: 16k6r
ff ∀16i6mund
∀16j63
Eine Belegung ist eine FunktionW :{x1,x2, ...,xr} 7→ {0,1}.
Es ist NP-vollst¨andig, festzustellen, ob es f¨urF eine erf¨ullende Belegung gibt.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
3-SAT (13:24) Walter Unger Z
3-SAT Idee: Aufbau
i 1 2 3 4 5 6 7 8 9 10 11 12
B
ix
1x
2x
3x
4x
5x
6x
1x
2x
3x
4x
5x
6B
iT0 0 0 0 0 0 1 1 1 1 1 1
δ(B
3,4,8) = 1 F = . . . ∧ (x
3∨ x
4∨ x
2) ∧ . . .
W (x
3) = 0 ∧ W (x
4) = 0 ∧ W (x
2) = 1
δ(B
3,4,8) = 1 F = . . . ∧ (x
3∨ x
4∨ x
2) ∧ . . .
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
3-SAT (13:25) Walter Unger Z
3-SAT Idee: Anfrage nach Erf¨ ullung
i 1 2 3 4 5 6 7 8 9 10 11 12
B
ix
1x
2x
3x
4x
5x
6x
1x
2x
3x
4x
5x
6B
iT0 0 0 0 0 0 1 1 1 1 1 1
Nicht ¨ offnen: δ(B
3,4,8) = 1 F = . . . ∧ (x
3∨ x
4∨ x
2) ∧ . . .
Nur ¨ offnen: δ(B
3,4,2)
Dann sollte gelten: δ(B
3,4,2) = 0
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
3-SAT (13:26) Walter Unger Z
3-SAT (Idee)
I Die FormelF haber Variablen, d.h. 2r Literale.
I W :{x1,x2, ...,xr} 7→ {0,1}ist erf¨ullende Belegung.
I 2r K¨astenBi, mit 16i 62r undδ(Bi)∈ {x1,x2, . . . ,xr}.
I 2r K¨astenBiT, mit 16i62r undδ(BiT)∈ {0,1}.
I Mit∀x∈ {x1,x2, . . . ,xr},w ∈ {0,1}:∃i :δ(Bi) =x∧δ(BiT) =w. I (4r)3K¨astenBijk miti,j,k∈ {1, . . . ,2r,1, . . . ,2r}und
I δ(Bi0j0k0) = 1 ⇐⇒ F enth¨alt zugeh¨orige Klausel ( ˜vi,v˜j,v˜k):
I i0=i∧δ(Bi) =vi∧δ(BiT) =W(vi)∧v˜i =vi.
I i0=i∧δ(Bi) =vi∧δ(BiT) =W(vi)∧v˜i =vi.
I j0 =j∧δ(Bj) =vj∧δ(BjT) =W(vj)∧v˜j =vj.
I j0 =j∧δ(Bj) =vj∧δ(BjT) =W(vj)∧v˜j =vj.
I k0=k∧δ(Bk) =vk ∧δ(BkT) =W(vk)∧v˜k =vk.
I k0=k∧δ(Bk) =vi∧δ(BkT) =W(vk)∧v˜k =vk.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
3-SAT (13:27) Walter Unger Z
3-SAT
P:F V:F
Bestimmt
Bijk,Bi,BiT Bijk,Bi,BiT -
x w¨ahlex ∈ {0,1}
fallsx = 0 δ(Bi) undδ(Bijk)
- teste die Darstellung der FormelF fallsx = 1 δ(BiT) und
δ(Bijk) mit (∗)- teste auf korrekte Wahrheitsbelegung, d.h.
alle ge¨offnetenBijk m¨ussen 0 enthalten (d.h. keine Klausel istfalse)
Dabei bedeutet (∗): Jeder Index ist entweder von der Formxundδ(BTx) =false oder von der Formxundδ(BxT) =true.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Idee zur Beweisf¨uhrung (13:28) Walter Unger Z
R¨ uckblick
I Wenn Peter das Geheimnis kennt, kann er den Beweis f¨uhren.
I Wenn Peter das Geheimnis nicht kennt, dann wird er mit hoher Wahrscheinlichkeit ¨uberf¨uhrt.
I Es ist noch zu zeigen: Das Geheimnis von Peter ist sicher.
I D.h. durch die Teilnahme am Protokoll wird nichts verraten.
I Man kann die Nachrichten einesanalogenProtokolls erzeugen:
1. Vera kann Simone bitten, viele Durchl¨aufe zu versuchen.
2. Nur ca. 50% der Durchl¨aufe sind korrekt.
3. Die korrekten Versuche gleichen den Durchl¨aufen von Peter.
4. Aus den korrekten Versuchen ergibt sich einanalogesProtokoll.
I Durch die Teilnahme von Peter wird sein Geheimnis nicht verraten.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Definition von Zero-Knowledge (13:29) Walter Unger Z
Grundlagen
Seien im Folgenden P und V Algorithmen (Turingmaschinen) mit:
I
polynomieller Laufzeit
I
k¨ onnen probabilistisch sein
I
gemeinsames x als Eingabe
I
k¨ onnen gemeinsam ¨ uber Kan¨ ale (B¨ ander) kommunizieren
I
P sendet die Nachrichten m
1, m
3, m
5, · · · , m
n.
I
V sendet die Nachrichten m
2, m
4, m
6, · · · , m
n−1. Das Transscript der Kommunikation zwischen V und P ist:
tr
P,V(x) = (m
1, m
2, m
3, m
4, m
5, · · · , m
n).
Dies wird ein interaktives System genannt.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Definition von Zero-Knowledge (13:30) Walter Unger Z
Formale Definition, die Anforderungen
Definition
Ein interaktives System ist Zero-Knowledge, falls gilt:
I Es gibt einen probabilistischen SimulatorS(V,x) mit:
I S bestimmt ein akzeptierendes Transscriptt in polynomieller Zeit.
I t undtrP,V(x) sind statistisch (algorithmisch) nicht zu unterscheiden.
Motivation:
V kann ohneP mitS(V,x) ein akzeptierendes Transscript erzeugen und damit ggf. an das Geheimnis vonP kommen.
Wichtig: Es mussV (ggf. betr¨ugerisch) verwendet werden.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Verfahren von Shamir (13:31) Walter Unger Z
Verfahren von Shamir
Kenntnis einer Quadratwurzel
I
Sei im Folgenden n = p · q, p 6= q Primzahlen,
I
QR
ndie quadratischen Reste in Z Z
∗nQR
n= {a ∈ Z Z
∗n| ∃b ∈ Z Z
∗n: b
2mod n = a}.
I
Sei x ∈ QR
nund x = y
2mod n, d.h. y die Wurzel von x.
P: n, p , q, x, y V: n, x w¨ ahlt r ∈ Z Z
∗nzuf¨ allig
a := r
2mod n a
-
e w¨ ahlt e ∈ {0, 1} zuf¨ allig b := ry
emod n b
-Test b
2 ?≡ ax
e(mod n)
Falls e = 0 b = r Test r
2 ?≡ a (mod n)
Falls e = 1 b = ry Test r
2y
2≡
?ax (mod n)
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Verfahren von Shamir (13:32) Walter Unger Z
Verfahren von Shamir (Betrugsversuch)
I
Sei im Folgenden n = p · q, p 6= q Primzahlen,
I
QR
ndie quadratischen Reste in Z Z
∗nQR
n= {a ∈ Z Z
∗n| ∃b ∈ Z Z
∗n: b
2mod n = a}.
I
Sei x ∈ QR
nund x = y
2mod n, d.h. y die Wurzel von x.
P: n, x V: n, x
w¨ ahlt zuf¨ allig:
r ∈ Z Z
∗nund e
0∈ {0, 1}
a := r
2x
−e0mod n a
-
e w¨ ahlt e ∈ {0, 1} zuf¨ allig
b := r b
-Test b
2 ?≡ ax
e(mod n)
x
e0a ≡ r
2(mod n) b
2≡ ax
e0≡
?ax
e(mod n)
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Verfahren von Shamir ist Zero-Knowledge (13:33) Walter Unger Z
Verfahren von Shamir
Satz
Das Shamir-Protokoll ist ein Zero-Knowledge-Protokoll.
Beweis.
Transscript der Kommunikation:
tr(n) ={(a,e,b)∈QRn× {0,1} ×ZZ∗n |b2≡axe (modn)}
Simulator (V,x):
while true do
1. w¨ahlee0∈ {0,1},b∈ZZ∗n gleichverteilt 2. a:=b2x−e0
3. e:=V(a)
4. fallse=e0 return (a,e0,b)
Wichtig: Es mussV (ggf. betr¨ugerisch) verwendet werden.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Verfahren von Shamir ist Zero-Knowledge (13:34) Walter Unger Z
Bemerkungen
Simulator (V,x):
while true do
1. w¨ahlee0∈ {0,1},b∈ZZ∗ngleichverteilt 2. a:=b2x−e0
3. e:=V(a)
4. fallse=e0return (a,e0,b)
1. Die a Werte sind zuf¨ allig gew¨ ahlte Quadratische Reste in QR
n. 2. Die e Werte sind in beiden Transscripten gleich verteilt.
3. Die b Werte sind zuf¨ allig gew¨ ahlte Quadratwurzeln.
4. Der Simulator wird erwartungsgem¨ ass in jedem zweiten Durchlauf ein Tripple erzeugen.
5. Wichtig: Es muss V (ggf. betr¨ ugerisch) verwendet werden.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Verfahren von Shamir ist Zero-Knowledge (13:35) Walter Unger Z
Uberzeugung ¨
Satz
Wenn der Prover im Shamir-Protokoll mit Wahrscheinlichkeit
> 1/2 betr¨ ugen kann, dann kann er die Quadratwurzel bestimmen.
Beweis.
1. Betr¨ uger kennt b
1und b
2mit: b
12= a und b
22= ax .
2. Damit kann er bestimmen: y = b
2/b
1, d.h. die Wurzel von x.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Verfahren von Shamir ist Zero-Knowledge (13:36) Walter Unger Z
Zusammenfassung
1. Der Prover kann mit Kenntnis der Quadratwurzel immer
¨ uberzeugen.
2. Wenn der Verifier mit Wahrscheinlichkeit > 1 − 2
kuberzeugt ¨ ist, dann kennt der Prover auch mit Wahrscheinlichkeit
> 1 − 2
kdie Quadratwurzel.
3. Das Protokoll ist ein Zero-Knowledge-Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Protokolle (13:37) Walter Unger Z
3-F¨ arbung eines Graphen
P:G= (V,E),|V|=t V:G = (V,E),t
kenntc:V→ {1,2,3}mit:∀(a,b)∈E:c(a)6=c(b)
bestimmtBi,Bic,Bij (16i,j63t):
∀(v,c)∈V× {1,2,3}:∃j:δ(Bj) =vj∧δ(Bjc) =c δ(Bij) = 1⇐⇒(δ(Bi), δ(Bj))∈E∧
δ(Bci) =c(δ(Bi))∧δ(Bcj) =c(δ(Bj)) Bi,Bic,Bij
16i,j63t- w¨ahltx ∈ {0,1}
x
Fallsx = 0, dann machen beide δ(Bi), δ(Bij)
16i,j63t- testetG und 2t isolierte Knoten Fallsx = 1, dann machen beide δ(Bic), δ(Bij)
16i,j63t δ(Bci) =δ(Bjc)
- testet: keine Kante sichtbar
Ist ZKP Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Protokolle (13:38) Walter Unger Z
Kenntnis der Faktoren
P will V davon ¨uberzeugen, dass erpundqkennt, aberpundq sollen geheim bleiben.
P:p,q,n=p·q V:n
w¨ahltx∈IN Berechnet Wurzelnx1undx2 y
y :=x
4modn d.h.xi2≡y (modn),i∈ {1,2}
Bestimmtx mitx2≡xi (modn) f¨ur eini ±x2
- Testet Wert
Ist kein ZKP Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Protokolle (13:39) Walter Unger Z
Nicht-Isomorphismus
P kennt Unterschied zwischenG1undG2 und willV von der Kenntnis
¨uberzeugen.
P:G1= (V,E),G2= (V0,E0) V:G1= (V,E),G2= (V0,E0) w¨ahlti1, . . . ,ik∈ {1,2}
Hj
16j6k bestimmtHj∼=Gij f¨ur 16j6k bestimmtxj:Hj∼=Gxj
f¨ur 16j6k xj
16j6-k testetxj
=? ijf¨ur 16j6k
Ist kein ZKP Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Protokolle (13:40) Walter Unger Z
Graphenisomorphismus
P kennt einen Graphenisomorphismus zwischenG1undG2 und willV von der Kenntnis ¨uberzeugen.
P:G1,G2,e:G1∼=e G2 V:G1= (V,E),G2= (V0,E0) w¨ahlt Isomorphismuse0
bestimmtGα:Gα∼=e0G1 Gα
- w¨ahltx∈ {1,2}
fallsx = 1 :f :=e0 x
fallsx = 2 :f :=e0◦e f - testet:Gα∼=f Gx
Ist ZKP Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Protokolle (13:41) Walter Unger Z
Independent Set
P:G= (V,E),|V|=t,I ⊂V :|I|=kmit: V:G = (V,E),k
∀a,b∈I:{a,b} 6∈E bestimmtB1, . . . ,Bt mit:
δ(B1, . . . ,Bt) =V
bestimmtI0={i |δ(Bi)∈I} bestimmtBij,16i <j6tmit:
δ(Bij) = 1 ⇐⇒ {δ(Bj), δ(Bi)} ∈E Bij,Bi 16i<j6-t
x w¨ahlex ∈ {0,1}
Fallsx = 0, dann machen beide δ(Bi), δ(Bij)
16i6t i<j6t
- testetG Fallsx = 1, dann machen beide δ(Bij)
{i,j} ⊂I-0 testetI
0
Ist ZKP Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Protokolle (13:42) Walter Unger Z
Hamilton-Kreis
P:G = (V,E),|V|=tundH mit: V:G= (V,E),|V|=t H= (V,F)∼=Ct
bestimmtB1, . . . ,Bt mit:
δ(B1, . . . ,Bt) =V
bestimmtBij,16i <j6tmit:
δ(Bij) = 1 ⇐⇒ {δ(Bj), δ(Bi)} ∈E
F0={{i,j} | {δ(Bi), δ(Bj)} ∈F} Bij,Bi 16i<j6-t
x w¨ahlex∈ {0,1}
Fallsx= 0, dann machen beide δ(Bi), δ(Bij)
16i6t i<j6t
- testetG Fallsx= 1, dann machen beide δ(Bij)
i<j {i,j} ∈F
- testetCt
Ist ZKP Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Protokolle (13:43) Walter Unger Z
3-SAT
P:F V:F
Bestimmt
Bijk,Bi,BiT Bijk,Bi,BiT
- w¨ahlex ∈ {0,1}
x
fallsx = 0 δ(Bi) undδ(Bijk)
- teste die Darstellung der FormelF fallsx = 1 δ(BiT) und
δ(Bijk) mit (∗)- teste auf korrekte Wahrheitsbelegung, d.h.
alle ge¨offnetenBijk m¨ussen 0 enthalten (d.h. keine Klausel istfalse)
Dabei bedeutet (∗): Jeder Index ist entweder von der Formxundδ(BTx) =false oder von der Formxundδ(BxT) =true.
Ist ZKP Protokoll.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Zero-Knowledge-Proof und Komplexit¨atsklassen (13:44) Walter Unger Z
Zero-Knowledge-Proofs und Komplexit¨ atsklassen
Definition
Die Sprachklasse ZK ist wie folgt definiert:
F¨ ur alle Sprachen L ∈ ZK und f¨ ur jedes x ∈ L gibt es einen Zero-Knowledge-Proof.
Satz
Falls es Ein-Weg-Funktionen gibt, dann gilt: N P ⊆ ZK.
Beweis.
Zero-Knowledge-Proof f¨ ur 3-SAT und
Polynomialzeit-Reduktionen
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Zero-Knowledge-Proof und Komplexit¨atsklassen (13:45) Walter Unger Z
Beweis
I
Sei x Instanz einer Sprache P ∈ NPC .
I
Es gibt Reduktion von 3-SAT auf P .
I
Es gibt Funktion r : Σ
P7→ Σ
3-
SATmit:
x ∈ P ⇐⇒ r(x) ∈ 3-SAT .
I
F¨ uhre folgendes Protokoll aus:
P:x∈ P V:P
Bestimmtb=r(x)
KodiertbinBi (16i 6t) Bi 16i6t -
x w¨ahlex∈ {0,1}
fallsx = 0 δ(Bi)
- teste die Darstellung der Formelb
fallsx = 1 δ(Bi) und
ipassend gew¨ahlt- teste auf korrekte Wahrheitsbelegung
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Komposition von Zero-Knowledge-Proofs (13:46) Walter Unger Z
Kompositionen I
Satz
Falls ein Protokoll Zero-Knowledge ist, dann ist dieHintereinanderausf¨uhrung des Protokolls auch Zero-Knowledge.
Beweis.
I tr1(n) [tr2(n0)] Transscript des 1. [2.] Zero-Knowledge-Proofs.
I Dann isttr1(n)◦tr2(n0) Transscript der Hintereinanderausf¨uhrung.
I SeiS1[S2] Simulator f¨ur den 1. [2.] Zero-Knowledge-Proofs.
I Sei weiterti Ausgabe von SimulatorSi (i ∈ {1,2}).
I Dann istt1◦t2statistisch (algorithmisch) nicht vontr1(n)◦tr2(n0) zu unterscheiden.
I Dann istS1◦S2Simulator f¨ur die Hintereinanderausf¨uhrung.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Komposition von Zero-Knowledge-Proofs (13:47) Walter Unger Z
Kompositionen II
Satz
Falls ein Protokoll Zero-Knowledge ist, dann ist dieParallelausf¨uhrungdes Protokolls nicht notwendigerweiseZero-Knowledge.
Beweis.
I Analoges Vorgehen wie bei der seriellen Ausf¨uhrung von Zero-Knowledge-Proofs gehtnicht.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Komposition von Zero-Knowledge-Proofs (13:48) Walter Unger Z
Kompositionen II
Satz
Es gibt ein Protokoll, welches Zero-Knowledge ist, aber dessen Parallelausf¨uhrungistnichtZero-Knowledge.
Seif :{0,1}2·n→ {0,1}nZufallsfunktion:
P:f,X V:
v w¨ahltv ∈ {1,2}
Fallsv= 1:
w¨ahltα∈ {0,1}n α - w¨ahltβ, γ∈ {0,1}
n
Testetf(αβ)=? γ β, γ
Geheimnis X- Fallsv= 2:
α w¨ahltα∈ {0,1}
n
w¨ahltβ∈ {0,1}n β,f(αβ) -
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Komposition von Zero-Knowledge-Proofs (13:49) Walter Unger Z
Kompositionen III
Satz
F¨ur jede Sprache ausN P gibt es ein Protokoll, welches Zero-Knowledge ist, und auch dessen Parallelausf¨uhrung ist Zero-Knowledge.
Satz
F¨ur jede Sprache ausN P gibt es ein Protokoll, welches Zero-Knowledge ist und konstante Rundenzahl hat.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Identifikation mit Zero-Knowledge-Proofs (13:50) Walter Unger Z
Einleitung
I
Ziel: Stelle sicher, dass nach einem Protokoll keiner die Identit¨ at des anderen annehmen kann.
I
Als Idee bietet sich an, eine ¨ offentliche und eine geheime Identit¨ at zu verwenden.
I
Erstes Beispiel: Allen bekannt ist dabei n = p · q, wobei p und
q mit p, q ≡ 3 mod 4 durch eine vertrauensw¨ urdige Person
bestimmt wurden.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Identifikation mit Zero-Knowledge-Proofs (13:51) Walter Unger Z
Beispiel 1
n=p·q p,q≡3 mod 4
P:i(P) = (c1, . . . ,ck) V: pi(P) = (d1, . . . ,dk) pi(P) = (d1, . . . ,dk)
F¨ur alle 16j6k gilt dabei:
djcj2≡ ±1 modn w¨ahler∈IN
w¨ahlex ∈ {±r2modn} x-
S w¨ahle TeilmengeS⊂ {1, . . . ,k}
y :=rQ
j∈Scjmodn y
-
Teste:x≡ ±y2Q
j∈Sdj (modn)
Beachte:y2Q
j∈Sdj≡r2Q
j∈Scj2dj≡ ±r2≡ ±x (modn).
Betrugsm¨oglichkeit: RateS und sende
±r2Q
j∈Sdjmodnalsx undy=r als Antwort.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Identifikation mit Zero-Knowledge-Proofs (13:52) Walter Unger Z
Bemerkungen:
n=p·q p,q≡3 mod 4 P:i(P) = (c1, . . . ,ck),pi(P) = (d1, . . . ,dk) V: pi(P) = (d1, . . . ,dk)
F¨ur alle 16j6kgilt dabei:
djc2j ≡ ±1 modn
w¨ahler∈IN, w¨ahlex∈ {±r2modn} x
- w¨ahle TeilmengeS⊂ {1, . . . ,k}
y:=rQ
j∈Scjmodn S
y
- Teste, obx≡ ±y2
Q
j∈Sdj(modn)
1. r ist notwendig, denn sonst k¨onnte V durch die Wahl vonS={j}den Wert voncjerfahren.
2. durch die Wahl vonpundqwird sichergestellt, dass diedj-Nummern alle Werte mit“d
j n
”
=±1 annehmen k¨onnen, sodass diecj auch existieren.
3. Zur Sicherheit: Es sollteggT(cj,n) = 1 gelten. Die Berechnung von Quadratwurzeln ist ein schweres Problem.
4. M¨oglichkeit f¨ur Betrug: RateS und sende±r2Q
j∈Sdjmodnalsx und
y =rals Antwort. Die Erfolgswahrscheinlichkeit betr¨agt hierf¨ur nacht Runden allerdings nur noch 2−kt.
Einf¨uhrung Weitere Beispiele Formale Definition, Varianten und Beweisstruktur Aussagen und Anwendungen
Identifikation mit Zero-Knowledge-Proofs (13:53) Walter Unger Z
Identifikation
Identifikation durch die Kenntnis eines Geheimnisses (Fiat-Shamir) Idee: ¨ Ubertrage Shamir-Verfahren auf einen Vektor.
P: n, p, q, x, y V: n, x mit: y = (y
1, . . . , y
t)
und x = (y
12, . . . , y
t2) und n = p · q
w¨ ahlt r ∈ Z Z
∗nzuf¨ allig
a := r
2a
-w¨ ahlt e ∈ {0, 1}
t
e e = (e
1, . . . , e
t) zuf¨ allig
b := r Q
ti=1
y
ieib
-Test b
2 ?≡ a Q
ti=1