Zero-Knowledge Proofs 1 Zero-Knowledge Proofs Lecture 15 1 - - PowerPoint PPT Presentation

zero knowledge proofs
SMART_READER_LITE
LIVE PREVIEW

Zero-Knowledge Proofs 1 Zero-Knowledge Proofs Lecture 15 1 - - PowerPoint PPT Presentation

Zero-Knowledge Proofs 1 Zero-Knowledge Proofs Lecture 15 1 Interactive Proofs 2 Interactive Proofs 2 Interactive Proofs Prover wants to convince verifier that x has some property 2 Interactive Proofs Prover wants to convince verifier


slide-1
SLIDE 1

Zero-Knowledge Proofs

1

slide-2
SLIDE 2

Zero-Knowledge Proofs

Lecture 15

1

slide-3
SLIDE 3

Interactive Proofs

2

slide-4
SLIDE 4

Interactive Proofs

2

slide-5
SLIDE 5

Prover wants to convince verifier that x has some property

Interactive Proofs

2

slide-6
SLIDE 6

Prover wants to convince verifier that x has some property

i.e. x is in language L

Interactive Proofs

2

slide-7
SLIDE 7

x ∈ L Prover wants to convince verifier that x has some property

i.e. x is in language L

Interactive Proofs

2

slide-8
SLIDE 8

x ∈ L Prover wants to convince verifier that x has some property

i.e. x is in language L

Interactive Proofs

Prove to me!

2

slide-9
SLIDE 9

x ∈ L Prover wants to convince verifier that x has some property

i.e. x is in language L

Interactive Proofs

Prove to me!

2

slide-10
SLIDE 10

x ∈ L Prover wants to convince verifier that x has some property

i.e. x is in language L

Interactive Proofs

Prove to me! OK

2

slide-11
SLIDE 11

x ∈ L Prover wants to convince verifier that x has some property

i.e. x is in language L

All powerful prover, computationally bounded verifier (for now)

Interactive Proofs

Prove to me! OK

2

slide-12
SLIDE 12

Interactive Proofs

3

slide-13
SLIDE 13

Interactive Proofs

Completeness

3

slide-14
SLIDE 14

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

3

slide-15
SLIDE 15

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

3

slide-16
SLIDE 16

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

If x not in L, honest Verifier won’t accept any purported proof

3

slide-17
SLIDE 17

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

If x not in L, honest Verifier won’t accept any purported proof

3

slide-18
SLIDE 18

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

If x not in L, honest Verifier won’t accept any purported proof

x ∈ L

3

slide-19
SLIDE 19

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

If x not in L, honest Verifier won’t accept any purported proof

x ∈ L

yeah right!

3

slide-20
SLIDE 20

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

If x not in L, honest Verifier won’t accept any purported proof

x ∈ L

yeah right!

3

slide-21
SLIDE 21

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

If x not in L, honest Verifier won’t accept any purported proof

x ∈ L

yeah right! Reject!

3

slide-22
SLIDE 22

An Example

4

slide-23
SLIDE 23

An Example

Coke in bottle or can

4

slide-24
SLIDE 24

An Example

Coke in bottle or can

Prover claims: coke in bottle and coke in can are different

4

slide-25
SLIDE 25

An Example

Coke in bottle or can

Prover claims: coke in bottle and coke in can are different

IP protocol:

4

slide-26
SLIDE 26

An Example

Coke in bottle or can

Prover claims: coke in bottle and coke in can are different

IP protocol:

Pour into from can

  • r bottle

4

slide-27
SLIDE 27

An Example

Coke in bottle or can

Prover claims: coke in bottle and coke in can are different

IP protocol:

Pour into from can

  • r bottle

4

slide-28
SLIDE 28

An Example

Coke in bottle or can

Prover claims: coke in bottle and coke in can are different

IP protocol:

prover tells whether cup was filled from can or bottle

Pour into from can

  • r bottle

5

slide-29
SLIDE 29

An Example

Coke in bottle or can

Prover claims: coke in bottle and coke in can are different

IP protocol:

prover tells whether cup was filled from can or bottle

Pour into from can

  • r bottle

can/bottle

5

slide-30
SLIDE 30

An Example

Coke in bottle or can

Prover claims: coke in bottle and coke in can are different

IP protocol:

prover tells whether cup was filled from can or bottle repeat till verifier is convinced

Pour into from can

  • r bottle

can/bottle

6

slide-31
SLIDE 31

An Example

Graph Non-Isomorphism

Prover claims: G0 not isomorphic to G1

IP protocol:

prover tells whether G* is an isomorphism of G0 or G1 repeat till verifier is convinced

Set G* to be !(G0) or !(G1) (! random)

7

slide-32
SLIDE 32

An Example

Graph Non-Isomorphism

Prover claims: G0 not isomorphic to G1

IP protocol:

prover tells whether G* is an isomorphism of G0 or G1 repeat till verifier is convinced G*

Set G* to be !(G0) or !(G1) (! random)

7

slide-33
SLIDE 33

An Example

Graph Non-Isomorphism

Prover claims: G0 not isomorphic to G1

IP protocol:

prover tells whether G* is an isomorphism of G0 or G1 repeat till verifier is convinced G0/G1 G*

Set G* to be !(G0) or !(G1) (! random)

7

slide-34
SLIDE 34

Prove to me!

x ∈ L

Proofs for NP languages

8

slide-35
SLIDE 35

Prove to me!

x ∈ L Proving membership in an NP language L

Proofs for NP languages

8

slide-36
SLIDE 36

Prove to me!

x ∈ L Proving membership in an NP language L x ∈ L iff ∃w R(x,w)=1

Proofs for NP languages

8

slide-37
SLIDE 37

Prove to me!

x ∈ L Proving membership in an NP language L x ∈ L iff ∃w R(x,w)=1 IP protocol:

Proofs for NP languages

8

slide-38
SLIDE 38

Prove to me!

x ∈ L Proving membership in an NP language L x ∈ L iff ∃w R(x,w)=1 IP protocol:

prover sends w (non-interactive)

Proofs for NP languages

w

w

8

slide-39
SLIDE 39

Prove to me!

x ∈ L Proving membership in an NP language L x ∈ L iff ∃w R(x,w)=1 IP protocol:

prover sends w (non-interactive)

Proofs for NP languages

w

R(x,w)=1? w

8

slide-40
SLIDE 40

Prove to me!

x ∈ L Proving membership in an NP language L x ∈ L iff ∃w R(x,w)=1 IP protocol:

prover sends w (non-interactive)

Proofs for NP languages

w

R(x,w)=1? OK w

8

slide-41
SLIDE 41

Prove to me!

Proving membership in an NP language L x ∈ L iff ∃w R(x,w)=1 IP protocol:

prover sends w (non-interactive)

What if prover doesn’t want to reveal w?

Proofs for NP languages

x ∈ L w

R(x,w)=1? OK w

9

slide-42
SLIDE 42

Zero-Knowledge Proofs

10

slide-43
SLIDE 43

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

10

slide-44
SLIDE 44

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

10

slide-45
SLIDE 45

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

10

slide-46
SLIDE 46

x ∈ L

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

10

slide-47
SLIDE 47

x ∈ L

Prove to me!

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

10

slide-48
SLIDE 48

x ∈ L

Prove to me!

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

w

10

slide-49
SLIDE 49

x ∈ L

Prove to me!

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

w

10

slide-50
SLIDE 50

x ∈ L

Prove to me!

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

wonder what f(w) is... w

10

slide-51
SLIDE 51

x ∈ L

Prove to me!

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

How to formalize this?

wonder what f(w) is... w

10

slide-52
SLIDE 52

x ∈ L

Prove to me!

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

How to formalize this?

Simulation!

wonder what f(w) is... w

10

slide-53
SLIDE 53

An Example

11

slide-54
SLIDE 54

An Example

Graph Isomorphism

11

slide-55
SLIDE 55

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

11

slide-56
SLIDE 56

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ

11

slide-57
SLIDE 57

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

11

slide-58
SLIDE 58

G* := !(G1) (random !)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

11

slide-59
SLIDE 59

G* := !(G1) (random !)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

G*

11

slide-60
SLIDE 60

G* := !(G1) (random !)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

G*

random bit b

11

slide-61
SLIDE 61

G* := !(G1) (random !)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

G*

random bit b

b

11

slide-62
SLIDE 62

G* := !(G1) (random !)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ

11

slide-63
SLIDE 63

G* := !(G1) (random !)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ

!*

11

slide-64
SLIDE 64

G* := !(G1) (random !)

An Example

Graph Isomorphism

(G0,G1) in L iff there exists an isomorphism σ such that σ(G0)=G1

IP protocol: send σ ZK protocol?

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

11

slide-65
SLIDE 65

G* := !(G1) (random !)

An Example

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

12

slide-66
SLIDE 66

G* := !(G1) (random !)

An Example

Why is this convincing?

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

12

slide-67
SLIDE 67

G* := !(G1) (random !)

An Example

Why is this convincing?

If prover can answer both b’s for the same G* then G0~G1

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

12

slide-68
SLIDE 68

G* := !(G1) (random !)

An Example

Why is this convincing?

If prover can answer both b’s for the same G* then G0~G1 Otherwise, testing on a random b will leave prover stuck w.p. 1/2

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

12

slide-69
SLIDE 69

G* := !(G1) (random !)

An Example

Why is this convincing?

If prover can answer both b’s for the same G* then G0~G1 Otherwise, testing on a random b will leave prover stuck w.p. 1/2

Why ZK?

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

12

slide-70
SLIDE 70

G* := !(G1) (random !)

An Example

Why is this convincing?

If prover can answer both b’s for the same G* then G0~G1 Otherwise, testing on a random b will leave prover stuck w.p. 1/2

Why ZK?

Verifier’s view: random b and !* s.t. G*=!*(Gb)

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

12

slide-71
SLIDE 71

G* := !(G1) (random !)

An Example

Why is this convincing?

If prover can answer both b’s for the same G* then G0~G1 Otherwise, testing on a random b will leave prover stuck w.p. 1/2

Why ZK?

Verifier’s view: random b and !* s.t. G*=!*(Gb) Which he could have generated by himself (whether G0~G1 or not)

G*

random bit b

b

if b=1, !* := ! if b=0, !* := !oσ G*=!*(Gb)?

!*

12

slide-72
SLIDE 72

Zero-Knowledge Proofs

13

slide-73
SLIDE 73

Zero-Knowledge Proofs

Interactive Proof

13

slide-74
SLIDE 74

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

13

slide-75
SLIDE 75

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

13

slide-76
SLIDE 76

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

13

slide-77
SLIDE 77

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

13

slide-78
SLIDE 78

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

13

slide-79
SLIDE 79

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

13

slide-80
SLIDE 80

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

Verifier’s view could have been “simulated”

13

slide-81
SLIDE 81

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

Verifier’s view could have been “simulated”

13

slide-82
SLIDE 82

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

Verifier’s view could have been “simulated”

13

slide-83
SLIDE 83

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

Verifier’s view could have been “simulated”

x i n L

13

slide-84
SLIDE 84

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

Verifier’s view could have been “simulated”

x i n L

Ah, got it! 42

13

slide-85
SLIDE 85

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

Verifier’s view could have been “simulated” For every adversarial strategy, there exists a simulation strategy

x i n L

Ah, got it! 42

13

slide-86
SLIDE 86

ZK Property (in other pict’ s)

proto proto

Env REAL

i’face

Env IDEAL

F

R

x,w x Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

14

slide-87
SLIDE 87

ZK Property (in other pict’ s)

proto proto

Env REAL

i’face

Env IDEAL

F

R

x,w x Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

14

slide-88
SLIDE 88

ZK Property (in other pict’ s)

proto proto

Env REAL

i’face

Env IDEAL

F

R

x,w x Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

14

slide-89
SLIDE 89

ZK Property (in other pict’ s)

proto proto

Env REAL

i’face

Env IDEAL

F

R

Classical definition uses simulation

  • nly for corrupt receiver;

x,w x Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

14

slide-90
SLIDE 90

ZK Property (in other pict’ s)

proto proto

Env REAL

i’face

Env IDEAL

F

R

Classical definition uses simulation

  • nly for corrupt receiver;

and uses only standalone security: Environment gets only a transcript at the end x,w x Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

14

slide-91
SLIDE 91

SIM ZK

proto proto

Env REAL

i’face

Env IDEAL

F

R

x,w x Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

15

slide-92
SLIDE 92

SIM ZK

proto proto

Env REAL

i’face

Env IDEAL

F

R

x,w x

  • SIM-ZK would require simulation also when prover is corrupt

Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

15

slide-93
SLIDE 93

SIM ZK

proto proto

Env REAL

i’face

Env IDEAL

F

R

x,w x

  • SIM-ZK would require simulation also when prover is corrupt
  • Then simulator is a witness extractor

Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

15

slide-94
SLIDE 94

SIM ZK

proto proto

Env REAL

i’face

Env IDEAL

F

R

x,w x

  • SIM-ZK would require simulation also when prover is corrupt
  • Then simulator is a witness extractor
  • Adding this (in standalone) makes it a Proof of Knowledge

Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL x

15

slide-95
SLIDE 95

Results

16

slide-96
SLIDE 96

Results

IP and ZK defined [GMR’85]

16

slide-97
SLIDE 97

Results

IP and ZK defined [GMR’85] ZK for all NP languages [GMW’86]

16

slide-98
SLIDE 98

Results

IP and ZK defined [GMR’85] ZK for all NP languages [GMW’86]

Assuming one-way functions exist

16

slide-99
SLIDE 99

Results

IP and ZK defined [GMR’85] ZK for all NP languages [GMW’86]

Assuming one-way functions exist

ZK for all of IP [BGGHKMR’88]

16

slide-100
SLIDE 100

Results

IP and ZK defined [GMR’85] ZK for all NP languages [GMW’86]

Assuming one-way functions exist

ZK for all of IP [BGGHKMR’88]

Everything that can be proven can be proven in zero-knowledge! (Assuming OWF)

16

slide-101
SLIDE 101

Results

IP and ZK defined [GMR’85] ZK for all NP languages [GMW’86]

Assuming one-way functions exist

ZK for all of IP [BGGHKMR’88]

Everything that can be proven can be proven in zero-knowledge! (Assuming OWF)

Variants (for NP)

16

slide-102
SLIDE 102

Results

IP and ZK defined [GMR’85] ZK for all NP languages [GMW’86]

Assuming one-way functions exist

ZK for all of IP [BGGHKMR’88]

Everything that can be proven can be proven in zero-knowledge! (Assuming OWF)

Variants (for NP)

ZKPoK, Statistical ZK Arguments, O(1)-round ZK

16

slide-103
SLIDE 103

A ZK Proof for Graph Colorability

17

slide-104
SLIDE 104

A ZK Proof for Graph Colorability

G,coloring

17

slide-105
SLIDE 105

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

G,coloring

F

17

slide-106
SLIDE 106

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

Use random colors

G,coloring

F

17

slide-107
SLIDE 107

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

Use random colors

G,coloring

F

c

  • m

m i t t e d

17

slide-108
SLIDE 108

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge Use random colors

edge G,coloring

F

c

  • m

m i t t e d

17

slide-109
SLIDE 109

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge Use random colors

edge G,coloring

F

reveal edge c

  • m

m i t t e d

17

slide-110
SLIDE 110

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring

F

reveal edge c

  • m

m i t t e d

17

slide-111
SLIDE 111

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring OK

F

reveal edge c

  • m

m i t t e d

17

slide-112
SLIDE 112

Uses a commitment protocol as a subroutine At least 1/m probability of catching a wrong proof

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring OK

F

reveal edge c

  • m

m i t t e d

17

slide-113
SLIDE 113

Uses a commitment protocol as a subroutine At least 1/m probability of catching a wrong proof Soundness amplification: Repeat say mk times (with independent color permutations)

A ZK Proof for Graph Colorability

pick random edge distinct colors? Use random colors

edge G,coloring OK

F

reveal edge c

  • m

m i t t e d

17

slide-114
SLIDE 114

A Commitment Protocol

18

slide-115
SLIDE 115

Uses a OWP f and a hardcore predicate for it B

A Commitment Protocol

18

slide-116
SLIDE 116

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

18

slide-117
SLIDE 117

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

b

18

slide-118
SLIDE 118

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

b

18

slide-119
SLIDE 119

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b

18

slide-120
SLIDE 120

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b committed

18

slide-121
SLIDE 121

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b committed

18

slide-122
SLIDE 122

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b committed reveal

18

slide-123
SLIDE 123

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

random x

f(x), b ⊕ B(x) b x,b committed reveal

18

slide-124
SLIDE 124

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b x,b committed reveal

18

slide-125
SLIDE 125

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b b x,b committed reveal

18

slide-126
SLIDE 126

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding Perfectly binding because f is a permutation

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b b x,b committed reveal

18

slide-127
SLIDE 127

Uses a OWP f and a hardcore predicate for it B Satisfies only classical (IND) security, in terms of hiding and binding Perfectly binding because f is a permutation Hiding because B(x) is pseudorandom given f(x)

A Commitment Protocol

consistent? random x

f(x), b ⊕ B(x) b b x,b committed reveal

18

slide-128
SLIDE 128

ZK Proofs: What for?

19

slide-129
SLIDE 129

Authentication

ZK Proofs: What for?

19

slide-130
SLIDE 130

Authentication

Using ZK Proof of Knowledge

ZK Proofs: What for?

19

slide-131
SLIDE 131

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

ZK Proofs: What for?

19

slide-132
SLIDE 132

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols

ZK Proofs: What for?

19

slide-133
SLIDE 133

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

19

slide-134
SLIDE 134

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

19

slide-135
SLIDE 135

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

Prove to me x1 is what you should have sent me now

19

slide-136
SLIDE 136

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

Prove to me x1 is what you should have sent me now

19

slide-137
SLIDE 137

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1

Prove to me x1 is what you should have sent me now OK

19

slide-138
SLIDE 138

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK

19

slide-139
SLIDE 139

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK

19

slide-140
SLIDE 140

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK

19

slide-141
SLIDE 141

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1

Prove to me x1 is what you should have sent me now OK OK

19

slide-142
SLIDE 142

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1 x2

Prove to me x1 is what you should have sent me now OK OK

19

slide-143
SLIDE 143

Prove y1 is what...

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols At each step prove in ZK it was done as prescribed

ZK Proofs: What for?

x1 y1 x2

Prove to me x1 is what you should have sent me now Prove x2 is what... OK OK

19

slide-144
SLIDE 144

Does it fit in?

x1 y1 x2

20

slide-145
SLIDE 145

Does the proof stay ZK in the big picture?

Does it fit in?

x1 y1 x2

20

slide-146
SLIDE 146

Does the proof stay ZK in the big picture?

Composition

Does it fit in?

x1 y1 x2

20

slide-147
SLIDE 147

Does the proof stay ZK in the big picture?

Composition

Several issues: auxiliary information from previous runs, concurrency issues, malleability/man-in-the- middle

Does it fit in?

x1 y1 x2

20

slide-148
SLIDE 148

Does the proof stay ZK in the big picture?

Composition

Several issues: auxiliary information from previous runs, concurrency issues, malleability/man-in-the- middle

In general, to allow composition more complicated protocols

Does it fit in?

x1 y1 x2

20

slide-149
SLIDE 149

An IND-security Notion

21

slide-150
SLIDE 150

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee

21

slide-151
SLIDE 151

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI)

21

slide-152
SLIDE 152

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) When 2 witnesses possible, verifier can’ t tell which one was used

21

slide-153
SLIDE 153

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) When 2 witnesses possible, verifier can’ t tell which one was used A ZK proof is always WI, but not vice-versa

21

slide-154
SLIDE 154

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) When 2 witnesses possible, verifier can’ t tell which one was used A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols

21

slide-155
SLIDE 155

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) When 2 witnesses possible, verifier can’ t tell which one was used A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols Sometimes with certain other useful properties

21

slide-156
SLIDE 156

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) When 2 witnesses possible, verifier can’ t tell which one was used A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols Sometimes with certain other useful properties e.g. WI-PoK, “Sigma protocols”

21

slide-157
SLIDE 157

An IND-security Notion

ZK (as opposed to SIM-ZK/ZK-PoK) weakens soundness guarantee A weakening of ZK property: Witness Indistinguishability (WI) When 2 witnesses possible, verifier can’ t tell which one was used A ZK proof is always WI, but not vice-versa WI Proofs used as components inside larger protocols Sometimes with certain other useful properties e.g. WI-PoK, “Sigma protocols” Defined in standalone setting, but WI property is preserved under some “composition” too

21

slide-158
SLIDE 158

Non-Interactive ZK

22

slide-159
SLIDE 159

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

22

slide-160
SLIDE 160

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof

22

slide-161
SLIDE 161

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS

22

slide-162
SLIDE 162

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs

22

slide-163
SLIDE 163

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs Note: CRS is a part of the proof, but prover is not allowed to choose it (otherwise no soundness)

22

slide-164
SLIDE 164

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs Note: CRS is a part of the proof, but prover is not allowed to choose it (otherwise no soundness) NIZK schemes exist for all NP languages (using “enhanced” T-OWP)

22

slide-165
SLIDE 165

Non-Interactive ZK

Can the prover just give a written proof (no interaction) which any

  • ne can verify and can simulate too?

No soundness: prover can give the simulated proof NIZK: a trusted “common random string” (CRS) is published, and the proof/verification is w.r.t CRS NIZK property: a simulator can simulate the CRS and the proofs Note: CRS is a part of the proof, but prover is not allowed to choose it (otherwise no soundness) NIZK schemes exist for all NP languages (using “enhanced” T-OWP) Also can NIZK-ify some ZK protocols in the RO Model (no CRS)

22

slide-166
SLIDE 166

Today

23

slide-167
SLIDE 167

Today

Zero-Knowledge Proofs

23

slide-168
SLIDE 168

Today

Zero-Knowledge Proofs Interactive Proofs (complete and sound), in which the verifier’ s view is simulatable given just the statement being proven

23

slide-169
SLIDE 169

Today

Zero-Knowledge Proofs Interactive Proofs (complete and sound), in which the verifier’ s view is simulatable given just the statement being proven Classical security definition

23

slide-170
SLIDE 170

Today

Zero-Knowledge Proofs Interactive Proofs (complete and sound), in which the verifier’ s view is simulatable given just the statement being proven Classical security definition Standalone SIM-security for corrupt verifier (ZK property). Soundness (for corrupt prover) separately

23

slide-171
SLIDE 171

Today

Zero-Knowledge Proofs Interactive Proofs (complete and sound), in which the verifier’ s view is simulatable given just the statement being proven Classical security definition Standalone SIM-security for corrupt verifier (ZK property). Soundness (for corrupt prover) separately Protocols for Graph 3-colorability (and hence all NP properties) using commitment schemes (in turn using OWP)

23

slide-172
SLIDE 172

Today

Zero-Knowledge Proofs Interactive Proofs (complete and sound), in which the verifier’ s view is simulatable given just the statement being proven Classical security definition Standalone SIM-security for corrupt verifier (ZK property). Soundness (for corrupt prover) separately Protocols for Graph 3-colorability (and hence all NP properties) using commitment schemes (in turn using OWP) Omitted: ZK for several specific statements

23

slide-173
SLIDE 173

Today

Zero-Knowledge Proofs Interactive Proofs (complete and sound), in which the verifier’ s view is simulatable given just the statement being proven Classical security definition Standalone SIM-security for corrupt verifier (ZK property). Soundness (for corrupt prover) separately Protocols for Graph 3-colorability (and hence all NP properties) using commitment schemes (in turn using OWP) Omitted: ZK for several specific statements Useful in “enforcing” honest (but curious) behavior

23

slide-174
SLIDE 174

Today

Zero-Knowledge Proofs Interactive Proofs (complete and sound), in which the verifier’ s view is simulatable given just the statement being proven Classical security definition Standalone SIM-security for corrupt verifier (ZK property). Soundness (for corrupt prover) separately Protocols for Graph 3-colorability (and hence all NP properties) using commitment schemes (in turn using OWP) Omitted: ZK for several specific statements Useful in “enforcing” honest (but curious) behavior Some variants (NIZK, WI)

23