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

zero knowledge proofs
SMART_READER_LITE
LIVE PREVIEW

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

Zero-Knowledge Proofs Lecture 15 Interactive Proofs Interactive Proofs Interactive Proofs Prover wants to convince verifier that x has some property Interactive Proofs Prover wants to convince verifier that x has some property i.e. x is in


slide-1
SLIDE 1

Zero-Knowledge Proofs

Lecture 15

slide-2
SLIDE 2

Interactive Proofs

slide-3
SLIDE 3

Interactive Proofs

slide-4
SLIDE 4

Prover wants to convince verifier that x has some property

Interactive Proofs

slide-5
SLIDE 5

Prover wants to convince verifier that x has some property

i.e. x is in “language” L

Interactive Proofs

slide-6
SLIDE 6

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

i.e. x is in “language” L

Interactive Proofs

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

Prove to me!

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!

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

Interactive Proofs

slide-12
SLIDE 12

Interactive Proofs

Completeness

slide-13
SLIDE 13

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

slide-14
SLIDE 14

Interactive Proofs

Completeness

If x in L, honest Prover will convince honest Verifier

Soundness

slide-15
SLIDE 15

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

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

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

x ∈ L

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

yeah right!

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!

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

slide-21
SLIDE 21

An Example

slide-22
SLIDE 22

An Example

Coke in bottle or can

slide-23
SLIDE 23

An Example

Coke in bottle or can

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

slide-24
SLIDE 24

An Example

Coke in bottle or can

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

IP protocol:

slide-25
SLIDE 25

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
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
slide-27
SLIDE 27

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

can/bottle Pour into from can

  • r bottle
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 repeat till verifier is convinced

can/bottle Pour into from can

  • r bottle
slide-30
SLIDE 30

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)

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)

Isomorphism: Same graph can be represented as a matrix in different ways:
 0 1 0 1 0 1 0 1 
 e.g., G0 = 1 0 0 1 & G1 = 1 0 1 1
 0 0 0 1 0 1 0 0
 1 1 1 0 1 1 0 0
 both are isomorphic to the graph represented by the drawing

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)

Isomorphism: Same graph can be represented as a matrix in different ways:
 0 1 0 1 0 1 0 1 
 e.g., G0 = 1 0 0 1 & G1 = 1 0 1 1
 0 0 0 1 0 1 0 0
 1 1 1 0 1 1 0 0
 both are isomorphic to the graph represented by the drawing

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)

Isomorphism: Same graph can be represented as a matrix in different ways:
 0 1 0 1 0 1 0 1 
 e.g., G0 = 1 0 0 1 & G1 = 1 0 1 1
 0 0 0 1 0 1 0 0
 1 1 1 0 1 1 0 0
 both are isomorphic to the graph represented by the drawing

slide-34
SLIDE 34

Prove to me!

x ∈ L

Proofs for NP languages

slide-35
SLIDE 35

Prove to me!

x ∈ L Proving membership in an NP language L

Proofs for NP languages

slide-36
SLIDE 36

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P)

Proofs for NP languages

slide-37
SLIDE 37

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P) e.g. Graph Isomorphism

Proofs for NP languages

slide-38
SLIDE 38

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P) e.g. Graph Isomorphism

IP protocol:

Proofs for NP languages

w

slide-39
SLIDE 39

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P) e.g. Graph Isomorphism

IP protocol:

prover sends w
 (non-interactive)

Proofs for NP languages

w

w

slide-40
SLIDE 40

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P) e.g. Graph Isomorphism

IP protocol:

prover sends w
 (non-interactive)

Proofs for NP languages

w

R(x,w)=1? w

slide-41
SLIDE 41

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P) e.g. Graph Isomorphism

IP protocol:

prover sends w
 (non-interactive)

Proofs for NP languages

w

R(x,w)=1? OK w

slide-42
SLIDE 42

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P) e.g. Graph Isomorphism

IP protocol:

prover sends w
 (non-interactive)

Proofs for NP languages

w

R(x,w)=1? OK w

NP is the class of languages which have non-interactive and deterministic proof-systems

slide-43
SLIDE 43

Prove to me!

x ∈ L Proving membership in an NP language L

x ∈ L iff ∃w R(x,w)=1(for R in P) e.g. Graph Isomorphism

IP protocol:

prover sends w
 (non-interactive)

What if prover
 doesn’t want to reveal w?

Proofs for NP languages

w

R(x,w)=1? OK w

NP is the class of languages which have non-interactive and deterministic proof-systems

slide-44
SLIDE 44

Zero-Knowledge Proofs

slide-45
SLIDE 45

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

slide-46
SLIDE 46

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

slide-47
SLIDE 47

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

slide-48
SLIDE 48

x ∈ L

Zero-Knowledge Proofs

Verifier should not gain any knowledge from the honest prover

except whether x is in L

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

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

w

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

w

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

wonder what f(w) is... w

slide-53
SLIDE 53

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

slide-54
SLIDE 54

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

slide-55
SLIDE 55

An Example

slide-56
SLIDE 56

An Example

Graph Isomorphism

slide-57
SLIDE 57

An Example

Graph Isomorphism

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

slide-58
SLIDE 58

An Example

Graph Isomorphism

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

IP protocol: send σ

slide-59
SLIDE 59

An Example

Graph Isomorphism

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

IP protocol: send σ ZK protocol?

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?

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*

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

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

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σ

slide-65
SLIDE 65

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σ

π*

slide-66
SLIDE 66

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

π*

slide-67
SLIDE 67

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

An Example

G*

random bit b

b

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

π*

slide-68
SLIDE 68

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

An Example

Why is this convincing?

G*

random bit b

b

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

π*

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

G*

random bit b

b

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

π*

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

G*

random bit b

b

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

π*

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?

G*

random bit b

b

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

π*

slide-72
SLIDE 72

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

π*

slide-73
SLIDE 73

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

π*

slide-74
SLIDE 74

Zero-Knowledge Proofs

slide-75
SLIDE 75

Zero-Knowledge Proofs

Interactive Proof

slide-76
SLIDE 76

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

slide-77
SLIDE 77

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

slide-78
SLIDE 78

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

slide-79
SLIDE 79

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

slide-80
SLIDE 80

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

slide-81
SLIDE 81

Ah, got it! 42

Zero-Knowledge Proofs

Interactive Proof

Complete and Sound

ZK Property:

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”

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”

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”

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”

x i n L

slide-86
SLIDE 86

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

slide-87
SLIDE 87

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

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

slide-89
SLIDE 89

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

slide-90
SLIDE 90

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

slide-91
SLIDE 91

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

slide-92
SLIDE 92

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

slide-93
SLIDE 93

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

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

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

  • utput of

is distributed identically in REAL and IDEAL x

slide-95
SLIDE 95

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

slide-96
SLIDE 96

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 setting) makes it a Proof of Knowledge

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

  • utput of

is distributed identically in REAL and IDEAL x

slide-97
SLIDE 97

Results

slide-98
SLIDE 98

Results

IP and ZK defined [GMR’85]

slide-99
SLIDE 99

Results

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

slide-100
SLIDE 100

Results

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

Assuming one-way functions exist

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]

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)

slide-103
SLIDE 103

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)

slide-104
SLIDE 104

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

slide-105
SLIDE 105

A ZK Proof for Graph Colorability

slide-106
SLIDE 106

A ZK Proof for Graph Colorability

G,coloring

slide-107
SLIDE 107

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

G,coloring

F

slide-108
SLIDE 108

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

Use random colors

G,coloring

F

slide-109
SLIDE 109

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

Use random colors

G,coloring

F

committed

slide-110
SLIDE 110

Uses a commitment protocol as a subroutine

A ZK Proof for Graph Colorability

pick random edge Use random colors

edge G,coloring

F

committed

slide-111
SLIDE 111

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 committed

slide-112
SLIDE 112

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 committed

slide-113
SLIDE 113

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 committed

slide-114
SLIDE 114

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 committed

slide-115
SLIDE 115

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 committed

slide-116
SLIDE 116

A Commitment Protocol

slide-117
SLIDE 117

Using a OWP f and a hardcore predicate for it B

A Commitment Protocol

slide-118
SLIDE 118

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

A Commitment Protocol

slide-119
SLIDE 119

Using 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

slide-120
SLIDE 120

Using 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

slide-121
SLIDE 121

Using 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

slide-122
SLIDE 122

Using 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

slide-123
SLIDE 123

Using 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

slide-124
SLIDE 124

Using 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

slide-125
SLIDE 125

Using 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

slide-126
SLIDE 126

Using 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

slide-127
SLIDE 127

Using 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

slide-128
SLIDE 128

Using 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

slide-129
SLIDE 129

Using 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

slide-130
SLIDE 130

ZK Proofs: What for?

slide-131
SLIDE 131

Authentication

ZK Proofs: What for?

slide-132
SLIDE 132

Authentication

Using ZK Proof of Knowledge

ZK Proofs: What for?

slide-133
SLIDE 133

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

ZK Proofs: What for?

slide-134
SLIDE 134

Authentication

Using ZK Proof of Knowledge

Canonical use: As a tool in larger protocols

To enforce “honest behavior” in protocols

ZK Proofs: What for?

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?

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

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

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

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

slide-139
SLIDE 139

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

slide-140
SLIDE 140

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

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

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

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

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

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

slide-144
SLIDE 144

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

slide-145
SLIDE 145

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