• Keine Ergebnisse gefunden

Algorithmische Kryptographie Kapitel 13 Zero-Knowledge

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmische Kryptographie Kapitel 13 Zero-Knowledge"

Copied!
63
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmische Kryptographie Kapitel 13

Zero-Knowledge

Walter Unger

Lehrstuhl f¨ur Informatik 1

30. Januar 2009

(2)

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

(3)

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.

(4)

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

(5)

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.

vvvv

I

Peter hat Kugel mit weiterer Farbe.

v

I

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

(6)

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

(7)

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,a

Re

Co,a

-

Testet (Co, a, Re

Co,a

, W )

Wiederhole zum Verkleinern der Betrugswahrscheinlichkeit.

(8)

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.

(9)

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

u

2

u

3

u

4

u

5

u

1

u

2

u

3

u

4

u

5

u

1

u

2

u

3

u

4

u

5

u

1

u

2

u

3

u

4

u

5

u

I

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.

(10)

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

(11)

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

(12)

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

u

2

u

3

u

4

u

5

u

1

u

2

u

3

u

4

u

5

u

1

u

2

u

3

u

4

u

5

u

1

u

2

u

3

u

4

u

5

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.

(13)

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

(14)

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

(15)

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

(16)

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

0

mit 2. e ist Bijektion und

3. ∀a, b ∈ V : {a, b} ∈ E ⇐⇒ {e (a), e(b)} ∈ E

0

Schreibweise: G ∼ = G

0

bzw. G ∼ =

e

G

0

D.h. G und G

0

sind bis auf die Knotennamen nicht zu

unterscheiden.

(17)

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

(18)

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 ur 16j6k bestimmtxj:Hj∼=Gxj

f¨ur 16j6k xj

16j6-k

testetxj

=? ijf¨ur 16j6k

Frage: welche Rechenleistung k¨onnen/m¨ussenPundV haben.

(19)

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.

(20)

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

(21)

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

(22)

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

k

ist ein Kreis der L¨ ange k (mit k Knoten).

(23)

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

(24)

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

(25)

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 = (li1li2l3i) 16i6m (Literale) lij =

¬xk oder

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

(26)

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

i

x

1

x

2

x

3

x

4

x

5

x

6

x

1

x

2

x

3

x

4

x

5

x

6

B

iT

0 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

) ∧ . . .

(27)

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

i

x

1

x

2

x

3

x

4

x

5

x

6

x

1

x

2

x

3

x

4

x

5

x

6

B

iT

0 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

(28)

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.

(29)

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

(30)

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.

(31)

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.

(32)

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.

(33)

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

n

die quadratischen Reste in Z Z

n

QR

n

= {a ∈ Z Z

n

| ∃b ∈ Z Z

n

: b

2

mod n = a}.

I

Sei x ∈ QR

n

und x = y

2

mod n, d.h. y die Wurzel von x.

P: n, p , q, x, y V: n, x w¨ ahlt r ∈ Z Z

n

zuf¨ allig

a := r

2

mod n a

-

e w¨ ahlt e ∈ {0, 1} zuf¨ allig b := ry

e

mod 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

2

y

2

?

ax (mod n)

(34)

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

n

die quadratischen Reste in Z Z

n

QR

n

= {a ∈ Z Z

n

| ∃b ∈ Z Z

n

: b

2

mod n = a}.

I

Sei x ∈ QR

n

und x = y

2

mod n, d.h. y die Wurzel von x.

P: n, x V: n, x

w¨ ahlt zuf¨ allig:

r ∈ Z Z

n

und e

0

∈ {0, 1}

a := r

2

x

−e0

mod n a

-

e w¨ ahlt e ∈ {0, 1} zuf¨ allig

b := r b

-

Test b

2 ?

≡ ax

e

(mod n)

x

e0

a ≡ r

2

(mod n) b

2

≡ ax

e0

?

ax

e

(mod n)

(35)

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} ×ZZn |b2≡axe (modn)}

Simulator (V,x):

while true do

1. w¨ahlee0∈ {0,1},b∈ZZn gleichverteilt 2. a:=b2x−e0

3. e:=V(a)

4. fallse=e0 return (a,e0,b)

Wichtig: Es mussV (ggf. betr¨ugerisch) verwendet werden.

(36)

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. ahlee0∈ {0,1},bZZngleichverteilt 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.

(37)

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

1

und b

2

mit: b

12

= a und b

22

= ax .

2. Damit kann er bestimmen: y = b

2

/b

1

, d.h. die Wurzel von x.

(38)

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

k

uberzeugt ¨ ist, dann kennt der Prover auch mit Wahrscheinlichkeit

> 1 − 2

k

die Quadratwurzel.

3. Das Protokoll ist ein Zero-Knowledge-Protokoll.

(39)

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

(40)

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.

(41)

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.

(42)

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α

- ahltx∈ {1,2}

fallsx = 1 :f :=e0 x

fallsx = 2 :f :=e0◦e f - testet:Gα=f Gx

Ist ZKP Protokoll.

(43)

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

(44)

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

(45)

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

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

(46)

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

(47)

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 : Σ

P

7→ Σ

3

-

SAT

mit:

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 ahlex∈ {0,1}

fallsx = 0 δ(Bi)

- teste die Darstellung der Formelb

fallsx = 1 δ(Bi) und

ipassend gew¨ahlt- teste auf korrekte Wahrheitsbelegung

(48)

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.

(49)

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.

(50)

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 ahltv ∈ {1,2}

Fallsv= 1:

w¨ahltα∈ {0,1}n α - ahltβ, γ∈ {0,1}

n

Testetf(αβ)=? γ β, γ

Geheimnis X- Fallsv= 2:

α ahltα∈ {0,1}

n

w¨ahltβ∈ {0,1}n β,f(αβ) -

(51)

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.

(52)

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.

(53)

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,q3 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 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.

(54)

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,q3 mod 4 P:i(P) = (c1, . . . ,ck),pi(P) = (d1, . . . ,dk) V: pi(P) = (d1, . . . ,dk)

ur alle 16j6kgilt dabei:

djc2j ≡ ±1 modn

ahlerIN, w¨ahlex∈ {±r2modn} x

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

(55)

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

n

zuf¨ allig

a := r

2

a

-

w¨ ahlt e ∈ {0, 1}

t

e e = (e

1

, . . . , e

t

) zuf¨ allig

b := r Q

t

i=1

y

iei

b

-

Test b

2 ?

≡ a Q

t

i=1

x

iei

(mod n)

Referenzen

ÄHNLICHE DOKUMENTE

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen. 3 Inhaltsverzeichnis Walter Unger 12.12.2015 15:32

Um die zu verhindern reicht es aus, OAEP oder kollisionssichere Hashfunktionen zu

4:26 Idee der Datenübertragung Walter Unger 12.12.2015 16:03 WS2015/16 Z?.

Kompositionen III Satz Für jede Sprache aus N P gibt es ein Protokoll, welches Zero-Knowledge ist, und auch dessen Parallelausführung ist Zero-Knowledge.. Satz Für jede Sprache aus N

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen. (3:2.3) &lt;&gt; Walter Unger 17.10.2013 16:34

Einleitung Hilfsfunktionen Weitere Angriffe Bit-Sicherheit Bestimmung von Primzahlen Agrawal, Kayal und Saxena (3:60) &lt;&gt; Walter Unger 17.10.2013 17:01 WS2013/14 Z n.

Stattdessen wird vom Verschlüsseler eine zusätzliche Information angegeben, mit deren Hilfe der Emfänger entschlüsseln kann... ElGamal (1985

ElGamal Elliptische Kurven Quantenkryptographie Idee der Datenübertragung (4:26) &lt;&gt; Walter Unger 26.11.2013 10:42 WS2013/14 Z n?.