47
BIU WINTER SCHOOL | February 2019 ZERO-KNOWLEDGE (INTRO) ALON ROSEN IDC HERZLIYA

ZERO-KNOWLEDGE (INTRO)

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ZERO-KNOWLEDGE (INTRO)

BIU WINTER SCHOOL | February 2019

ZERO-KNOWLEDGE (INTRO)

ALON ROSEN IDC HERZLIYA

Page 2: ZERO-KNOWLEDGE (INTRO)

Zero-knowledge proofs

Prover ๐‘ƒ Verifier ๐‘‰

๐‘ƒ interacts with ๐‘‰ convincing him that a proposition is true

Interaction reveals nothing beyond validity of the proposition

If proposition is true, any ๐‘‰โˆ— might as well have

generated (simulated) the interaction on his own

Avoids the question โ€œwhat is knowledge?โ€ altogether!

Page 3: ZERO-KNOWLEDGE (INTRO)

Example: color non-bl indness

I can distinguish

the balls

Did I

swap?

Page 4: ZERO-KNOWLEDGE (INTRO)

Example: color non-bl indness

He

swappedโ€ฆ

Page 5: ZERO-KNOWLEDGE (INTRO)

You

Swapped!

โ€ข ๐‘‰โ€™s โ€œviewโ€: a random bit that equals his โ€œswap or notโ€ bit

โ€ข ๐‘‰ could simulate view by picking random bit on his own!

Example: color non-bl indness

Damnโ€ฆ

Page 6: ZERO-KNOWLEDGE (INTRO)

What is zero-knowledge good for?

Can prove that I know a secret without having to reveal it

Identification:

1. Alice publishes ๐‘ฆ = ๐‘“(๐‘ฅ)

2. Alice proves to Bob in ZK that she knows ๐‘ฅโ€ฒ โˆˆ ๐‘“โˆ’1(๐‘ฆ)

Protocol design:

1. Design against parties that follow instructions

2. Use ZK proof to force honest behavior

โ€œtrusted partyโ€ โ†’ protocol

Page 7: ZERO-KNOWLEDGE (INTRO)

Why zero-knowledge?

Remarkable definitional framework:

โ€ข At the heart of protocol design and analysis

โ€ข Brings to light key concepts and issues

Right level of abstraction:

โ€ข Simple enough to be studied/realized

โ€ข Feasibility/limitations delineate what is attainable

ZK is just a means to an end

โ€ข Weaker definitions are also useful (WI/WH/NIZK)

โ€ข Tension between modularity and efficiency

Page 8: ZERO-KNOWLEDGE (INTRO)

Proof Systems

Page 9: ZERO-KNOWLEDGE (INTRO)

What is a proof?

A method for establishing truth:

1. legal

2. authoritative

3. scientific

4. philosophical

5. mathematical

Axioms โ†’โ†’ โ‹ฏ โ†’ Propositions

6. probabilistic, interactive

๐œ‹

Page 10: ZERO-KNOWLEDGE (INTRO)

V๐œ‹

Proof Systems

Want to prove: ๐‘ฅ โˆˆ ๐ฟ for some language ๐ฟ โŠ† ฮฃโˆ—

Definition: A proof system for membership in ๐ฟ is an

algorithm ๐‘‰ such that โˆ€๐‘ฅ:

Completeness: If ๐‘ฅ โˆˆ ๐ฟ, then โˆƒ๐œ‹, V(๐‘ฅ, ๐œ‹) = ACCEPT

Soundness: If ๐‘ฅ โˆ‰ ๐ฟ, then โˆ€๐œ‹, V(๐‘ฅ, ๐œ‹) = REJECT

๐ฟ = ๐‘ฅ | โˆƒ๐œ‹, ๐‘‰(๐‘ฅ,๐œ‹) = ACCEPT

Page 11: ZERO-KNOWLEDGE (INTRO)

NP Proof Systems

efficient verification โŸบ poly-time verification

Definition: An NP proof system for membership in L is

an algorithm ๐‘‰ such that โˆ€๐‘ฅ:

Completeness: If ๐‘ฅ โˆˆ ๐ฟ, then โˆƒ๐œ‹, V(๐‘ฅ, ๐œ‹) = ACCEPT

Soundness: If ๐‘ฅ โˆ‰ ๐ฟ, then โˆ€๐œ‹, V(๐‘ฅ, ๐œ‹) = REJECT

Efficiency: V(๐‘ฅ, ๐œ‹) halts after at most ๐‘๐‘œ๐‘™๐‘ฆ(|๐‘ฅ|) steps

โ€ข ๐‘‰โ€ฒs running time is measured in terms of ๐‘ฅ , the length of ๐‘ฅ

โ€ข poly ๐‘ฅ = ๐‘ฅ ๐‘ for some constant ๐‘

โ€ข Necessarily, ๐œ‹ = ๐‘๐‘œ๐‘™๐‘ฆ ๐‘ฅ

Page 12: ZERO-KNOWLEDGE (INTRO)

Example I : Boolean Satisf iabi l i ty

๐‘†๐ด๐‘‡ = ๐œ™|๐œ™ is a satisfiable Boolean formula

๐‘†๐ด๐‘‡ = ๐œ™ ๐‘ค1, โ€ฆ , ๐‘ค๐‘› | โˆƒ๐‘ค โˆˆ 0,1 ๐‘› , ๐œ™ ๐‘ค = 1

๐œ™ โˆˆ ๐‘†๐ด๐‘‡:

Complete: every ๐ฟ โˆˆ ๐‘๐‘ƒ reduces to ๐‘†๐ด๐‘‡

Unstructured: ๐‘’๐‘ฅ๐‘(๐‘‚(๐‘›)) time (worst case).

V๐œ‹ = ๐‘ค ๐œ™ ๐‘ค = 1?

Page 13: ZERO-KNOWLEDGE (INTRO)

Example I I : Linear Equations

๐ฟ๐ผ๐‘ = ๐ด, ๐‘ |๐ด๐‘ค = ๐‘ โ„Ž๐‘Ž๐‘  ๐‘Ž ๐‘ ๐‘œ๐‘™๐‘ข๐‘ก๐‘–๐‘œ๐‘› ๐‘œ๐‘ฃ๐‘’๐‘Ÿ ๐”ฝ

๐ด, ๐‘ โˆˆ ๐ฟ๐ผ๐‘ :

๐‘’๐‘ฅ๐‘ ๐‘› many ๐‘คโ€™s

Structured: decidable in time O ๐‘›2.373 = ๐‘๐‘œ๐‘™๐‘ฆ(๐‘›)

V ๐ด๐‘ค = ๐‘?๐œ‹ = ๐‘ค

Page 14: ZERO-KNOWLEDGE (INTRO)

The class P

poly-time โŸบ efficient

Definition: ๐ฟ โˆˆ P if there is a poly-time algorithm ๐ดsuch that ๐ฟ = ๐‘ฅ | ๐ด(๐‘ฅ) = ACCEPT

BPP: ๐ด is probabilistic poly-time (๐‘ƒ๐‘ƒ๐‘‡) and errs w.p. โ‰ค 1/3

NP complete

๐‘†๐ด๐‘‡

๐ฟ๐ผ๐‘ P

NP

Page 15: ZERO-KNOWLEDGE (INTRO)

Example I I I : Quadratic Residuosity

๐‘„๐‘…๐‘ = ๐‘ฅ| ๐‘ฅ ๐‘–๐‘  ๐‘Ž ๐‘ž๐‘ข๐‘Ž๐‘‘๐‘Ÿ๐‘Ž๐‘ก๐‘–๐‘ ๐‘Ÿ๐‘’๐‘ ๐‘–๐‘‘๐‘ข๐‘’ ๐‘š๐‘œ๐‘‘ ๐‘

๐‘ฅ โˆˆ ๐‘„๐‘…๐‘ :

Structured: ๐‘„๐‘…๐‘ is a subgroup of โ„ค๐‘โˆ—

๐‘ = ๐‘ƒ๐‘„ ๐‘ƒ = ๐‘„ = ๐‘› : ๐‘’๐‘ฅ๐‘ เทจ๐‘‚ ๐‘›1/3 time (avg. case)

V ๐‘ฅ โ‰ก ๐‘ค2๐‘š๐‘œ๐‘‘ ๐‘?๐œ‹ = ๐‘ค

Page 16: ZERO-KNOWLEDGE (INTRO)

Summary so far

efficient verification โŸบ poly-time verification

NP complete

๐‘†๐ด๐‘‡

๐ฟ๐ผ๐‘ P

NP

๐‘„๐‘…๐‘

Page 17: ZERO-KNOWLEDGE (INTRO)

Proving non-membership?

๐ด, ๐‘ โˆ‰ ๐ฟ๐ผ๐‘? decidable in time poly(๐‘›)

๐œ™ โˆ‰ ๐‘†๐ด๐‘‡:

๐‘ฅ โˆ‰ ๐‘„๐‘…๐‘ :

Naรฏve proof is exponentially large

[GMRโ€™85]: allow proof to use

โ€ข Randomness (tolerate โ€œerrorโ€)

โ€ข Interaction (add a โ€œproverโ€)

V๐‘ค1, โ€ฆ , ๐‘คฯ†(๐‘)

โˆ€๐‘–, ๐‘ฅ โ‰ข ๐‘ค๐‘–2๐‘š๐‘œ๐‘‘๐‘

?

V๐‘ค1, โ€ฆ , ๐‘ค2๐‘› โˆ€๐‘–, ๐œ™ ๐‘ค๐‘– = 0?

Page 18: ZERO-KNOWLEDGE (INTRO)

Interactive Proofs

Page 19: ZERO-KNOWLEDGE (INTRO)

Interactive proof for ๐‘„๐‘…๐‘ [GMRโ€™85]

Completeness: ๐‘ฅ โˆ‰ ๐‘„๐‘…๐‘ โ†’ ๐‘ฆ2โˆˆ ๐‘„๐‘…๐‘ and ๐‘ฅ๐‘ฆ2 โˆ‰ ๐‘„๐‘…๐‘

Soundness: ๐‘ฅ โˆˆ ๐‘„๐‘…๐‘ โ†’ ๐‘ฆ2โˆˆ ๐‘„๐‘…๐‘ and ๐‘ฅ๐‘ฆ2 โˆˆ ๐‘„๐‘…๐‘

โˆ€๐‘ƒโˆ—, ๐‘ƒ๐‘Ÿ๐‘ ๐‘ƒโˆ— ๐‘ง = ๐‘ = 1/2

VP๐‘ง = ๐‘ฆ2 ๐‘ = 0

๐‘โ€ฒ = ๐‘

๐‘ฅ โˆ‰ ๐‘„๐‘…๐‘

๐‘ โˆˆ๐‘… 0,1๐‘ฆ โˆˆ๐‘… โ„ค๐‘

โˆ—

?

๐‘ง = ๐‘ฅ๐‘ฆ2 ๐‘ = 1

๐‘โ€ฒ ๐‘ง = 1 ๐‘ง โˆ‰ ๐‘„๐‘…๐‘

๐‘โ€ฒ ๐‘ง = 0 ๐‘ง โˆˆ ๐‘„๐‘…๐‘

Page 20: ZERO-KNOWLEDGE (INTRO)

Interactive Proof

๐‘‰ is probabilistic polynomial time (๐‘ƒ๐‘ƒ๐‘‡)

For any common input ๐‘ฅ, let:

๐‘ƒ๐‘Ÿ ๐‘ƒ,๐‘‰ accepts ๐‘ฅ โ‰œ ๐‘ƒ๐‘Ÿ๐‘Ÿ ๐‘ƒ, ๐‘‰ ๐‘ฅ, ๐‘Ÿ = ACCEPT

VP๐‘š1

๐‘ฅ โˆˆ ๐ฟ

๐‘š2

๐‘š๐‘˜ ACCEPT/REJECT

๐‘Ÿ โˆˆ๐‘… 0,1 ๐‘๐‘œ๐‘™๐‘ฆ( ๐‘ฅ )

โ‹ฎ

Page 21: ZERO-KNOWLEDGE (INTRO)

Interactive Proof Systems

Definition [GMRโ€™85]: An interactive proof system for ๐ฟ is a

๐‘ƒ๐‘ƒ๐‘‡ algorithm ๐‘‰ and a function ๐‘ƒ such that โˆ€๐‘ฅ:

Completeness: If ๐‘ฅ โˆˆ ๐ฟ, then ๐‘ƒ๐‘Ÿ ๐‘ƒ, ๐‘‰ accepts ๐‘ฅ โ‰ฅ 2/3

Soundness: If ๐‘ฅ โˆ‰ ๐ฟ, then โˆ€๐‘ƒโˆ—, ๐‘ƒ๐‘Ÿ ๐‘ƒโˆ—, ๐‘‰ accepts ๐‘ฅ โ‰ค 1/3

โ€ข Completeness and soundness can be bounded by any ๐‘: โ„• โ†’ [0,1]and ๐‘ :โ„• โ†’ [0,1] as long as

โ€ข ๐‘ ๐‘ฅ โ‰ฅ 1/2 + 1/๐‘๐‘œ๐‘™๐‘ฆ( ๐‘ฅ )

โ€ข ๐‘  ๐‘ฅ โ‰ค 1/2 โˆ’ 1/๐‘๐‘œ๐‘™๐‘ฆ( ๐‘ฅ )

โ€ข ๐‘๐‘œ๐‘™๐‘ฆ( ๐‘ฅ ) independent repetitions โ†’ ๐‘ ๐‘ฅ โˆ’ ๐‘  ๐‘ฅ โ‰ฅ 1โˆ’ 2โˆ’๐‘๐‘œ๐‘™๐‘ฆ ๐‘ฅ

โ€ข NP is a special case (๐‘ ๐‘ฅ = 1 and ๐‘  ๐‘ฅ = 0)

โ€ข BPP is a special case (no interaction)

Page 22: ZERO-KNOWLEDGE (INTRO)

The Power of IP

Proposition: ๐‘„๐‘…๐‘ โˆˆ IP

โ€ข NP proof for ๐‘„๐‘…๐‘ not self-evident

โ€ข This suggests that maybe NP โŠ‚ IP

โ€ข Turns out that ๐‘†๐ด๐‘‡ โˆˆ IP (in fact #๐‘†๐ด๐‘‡)

Theorem [LFKNโ€™90]: ๐‘ƒ#P โŠ† IP

Theorem [Shamirโ€™90]: IP = PSPACE

Page 23: ZERO-KNOWLEDGE (INTRO)

The power of IP

๐‘†๐ด๐‘‡

๐ฟ๐ผ๐‘

NPc

P

NP

๐‘„๐‘…๐‘

coNP

๐‘†๐ด๐‘‡

IP = PSPACE [Sโ€™90]

coNPc

#๐‘†๐ด๐‘‡ [LFKNโ€™90]

Page 24: ZERO-KNOWLEDGE (INTRO)

Zero-Knowledge

Page 25: ZERO-KNOWLEDGE (INTRO)

๐‘„๐‘…๐‘ = ๐‘ฅ| ๐‘ฅ ๐‘–๐‘  ๐‘Ž ๐‘ž๐‘ข๐‘Ž๐‘‘๐‘Ÿ๐‘Ž๐‘ก๐‘–๐‘ ๐‘Ÿ๐‘’๐‘ ๐‘–๐‘‘๐‘ข๐‘’ ๐‘š๐‘œ๐‘‘ ๐‘

๐‘ฅ โˆˆ ๐‘„๐‘…๐‘ :

โ€ข Generating ๐œ‹ - ๐‘’๐‘ฅ๐‘( เทจ๐‘‚ ๐‘›1/3 time

โ€ข Verifying - O ๐‘›2 time

๐‘‰ โ€œgot something for freeโ€ from seeing ๐œ‹

๐‘‰ may have not been able to find ๐‘ค on his own!

A Proof that (presumably) Does Leak Info

V ๐‘ฅ โ‰ก ๐‘ค2๐‘š๐‘œ๐‘‘ ๐‘?๐œ‹ = ๐‘ค

Page 26: ZERO-KNOWLEDGE (INTRO)

Some attempts:

โ€ข ๐‘‰ didnโ€™t learn ๐‘ค (sometimes good enough!)

โ€ข ๐‘‰ didnโ€™t learn any symbol of ๐‘ค

โ€ข ๐‘‰ didnโ€™t learn any information about ๐‘ค

โ€ข ๐‘‰ didnโ€™t learn any information at all (beyond ๐‘ฅ โˆˆ ๐ฟ)

When would we say that ๐‘‰ did learn something?

If following the interaction ๐‘‰ could compute something he

could have not computed without it!

Zero-knowledge: whatever is computed following interaction

could have been computed without it

Defining that โ€œno knowledge leakedโ€

Page 27: ZERO-KNOWLEDGE (INTRO)

Zero-Knowledge (at last)

๐‘‰โ€™s view = ๐‘‰โ€™s random coins and messages it receives

โˆ€๐‘ฅ โˆˆ ๐ฟ, ๐‘‰โ€™s view can be efficiently โ€œsimulatedโ€

What does this mean?

Philosophically: ๐‘‰ is given the information that ๐‘ฅ โˆˆ ๐ฟ

Modulo this, ๐‘‰ might as well have talked to himself

Technically: ๐‘‰ view โ‰… ๐‘‰ simulation

Whatever ๐‘‰ could compute following the interaction,

he could have computed even without talking to ๐‘ƒ,

by running the simulator on his own

Page 28: ZERO-KNOWLEDGE (INTRO)

๐‘‰ might as well talk to himself

VP๐‘š1

๐‘ฅ โˆˆ ๐ฟ

๐‘š2

๐‘š๐‘˜

๐‘‰ ๐‘ฅ, ๐‘Ÿ,๐‘š1, โ€ฆ ,๐‘š๐‘˜

๐‘Ÿ โˆˆ๐‘… 0,1 ๐‘๐‘œ๐‘™๐‘ฆ( ๐‘ฅ )

โ‹ฎ

Bah. Forget it.

I will just simulate.

โ†“

๐‘‰ sim(๐‘ฅ)

Page 29: ZERO-KNOWLEDGE (INTRO)

Honest Veri f ier Zero-Knowledge

๐‘‰โ€™s view distribution can be simulated in poly-time

โ€ข We will allow simulator ๐‘† to be probabilistic (๐‘ƒ๐‘ƒ๐‘‡)

โ€ข Efficient โŸบ Probabilistic poly-time (BPP instead of P)

Definition [GMRโ€™85]: An interactive proof ๐‘ƒ, ๐‘‰ for ๐ฟ is

(honest-verifier) zero-knowledge if โˆƒ๐‘ƒ๐‘ƒ๐‘‡ ๐‘† โˆ€๐‘ฅ โˆˆ ๐ฟ

๐‘† ๐‘ฅ โ‰… ๐‘ƒ, ๐‘‰ ๐‘ฅ

โ€ข We use ๐‘ƒ, ๐‘‰ ๐‘ฅ to denote ๐‘‰โ€™s view

โ€ข Usually ๐‘ƒ, ๐‘‰ ๐‘ฅ = ๐‘‰ view denotes ๐‘‰โ€™s output

โ€ข Simulator for ๐‘‰โ€™s view implies simulator for ๐‘‰โ€™s output

Page 30: ZERO-KNOWLEDGE (INTRO)

Sanity check

๐‘ฅ โˆˆ ๐‘„๐‘…๐‘ :

โ€ข โˆ€๐‘ฅ โˆˆ ๐‘„๐‘…๐‘ , ๐‘† ๐‘ฅ 2 โ‰ก ๐‘ฅ ๐‘š๐‘œ๐‘‘ ๐‘

โ€ข โˆ€๐‘ฅ โˆ‰ ๐‘„๐‘…๐‘ , ๐‘† ๐‘ฅ 2 โ‰ข ๐‘ฅ ๐‘š๐‘œ๐‘‘ ๐‘

โ€ข ๐‘„๐‘…๐‘ โˆ‰ ๐ต๐‘ƒ๐‘ƒ โ†’ ๐‘† ๐‘ฅ 2 โ‰ข ๐‘ฅ ๐‘š๐‘œ๐‘‘๐‘ for some ๐‘ฅ โˆˆ ๐‘„๐‘…๐‘

๐‘ƒ, ๐‘‰ for ๐ฟ is not (honest-verifier) zero-knowledge if

โˆ€ ๐‘ƒ๐‘ƒ๐‘‡ ๐‘† โˆƒ๐‘ฅ โˆˆ ๐ฟ so that

๐‘† ๐‘ฅ โ‰‡ ๐‘ƒ, ๐‘‰ ๐‘ฅ

V ๐‘ฅ โ‰ก ๐‘ค2๐‘š๐‘œ๐‘‘ ๐‘?๐œ‹ = ๐‘ค

Page 31: ZERO-KNOWLEDGE (INTRO)

A Zero-Knowledge proof for ๐‘„๐‘…๐‘

โ€ข ๐‘ƒ is randomized and has auxiliary input ๐‘ค

โ€ข Distribution of Vโ€™s โ€œviewโ€ ๐‘ƒ ๐‘ค ,๐‘‰ ๐‘ฅ :

uniformly random ๐‘ฆ, ๐‘, ๐‘ง such that ๐‘ง2 = ๐‘ฅ๐‘๐‘ฆ

VP

๐‘ = 0: ๐‘ง = ๐‘Ÿ

๐‘

๐‘ง2 = ๐‘ฆ

๐‘ฅ โˆˆ ๐‘„๐‘…๐‘

๐‘ โˆˆ๐‘… 0,1

?

๐‘ฆ = ๐‘Ÿ2๐‘Ÿ โˆˆ๐‘… โ„ค๐‘โˆ—

๐‘ฅ = ๐‘ค2๐‘š๐‘œ๐‘‘ ๐‘

๐‘ = 1: ๐‘ง = ๐‘ค๐‘Ÿ ๐‘ง2 = ๐‘ฅ๐‘ฆ?

Page 32: ZERO-KNOWLEDGE (INTRO)

A Zero-Knowledge proof for ๐‘„๐‘…๐‘

Claim: ๐‘ƒ, ๐‘‰ is an interactive proof for ๐‘„๐‘…๐‘

Soundness:

๐‘ฅ โˆˆ ๐‘„๐‘…๐‘โ†•

โˆƒ๐‘ฆ, ๐‘ฆ โˆˆ ๐‘„๐‘…๐‘ and ๐‘ฅ๐‘ฆ โˆˆ ๐‘„๐‘…๐‘

If ๐‘ƒ๐‘Ÿ๐‘ ๐‘ƒโˆ—, ๐‘‰ accepts ๐‘ฅ > 1/2

then both ๐‘ง02 = ๐‘ฆ and ๐‘ง1

2 = ๐‘ฅ๐‘ฆ

VP*

๐‘ = 0: ๐‘ง0 = ๐‘Ÿ

๐‘

๐‘ฆ = ๐‘Ÿ2

๐‘ = 1: ๐‘ง1 = ๐‘ค๐‘Ÿ

๐‘ง02 = ๐‘ฆ

๐‘ง12 = ๐‘ฅ๐‘ฆ

Page 33: ZERO-KNOWLEDGE (INTRO)

Simulating ๐‘‰โ€™s view

VP

random ๐‘ฆ,๐‘, ๐‘ง such that ๐‘ง2 = ๐‘ฅ๐‘๐‘ฆ

Simulator ๐‘† ๐‘ฅ

1. Sample ๐‘ง โˆˆ๐‘… โ„ค๐‘โˆ—

2. Sample ๐‘ โˆˆ๐‘… 0,1

3. Set ๐‘ฆ = ๐‘ง2/๐‘ฅ๐‘

4. Output ๐‘ฆ, ๐‘, ๐‘ง

random ๐‘ฆ,๐‘, ๐‘ง such that ๐‘ง2 = ๐‘ฅ๐‘๐‘ฆโ‰…

Proposition: ๐‘„๐‘…๐‘ โˆˆ HVZK

๐‘ง

๐‘

๐‘ฆ

Page 34: ZERO-KNOWLEDGE (INTRO)

Simulating malicious ๐‘‰ โˆ— โ€™s view

V*P

๐‘ง

๐‘ = ๐‘‰โˆ— ๐‘ฆ

๐‘ฆ

random ๐‘ฆ,๐‘, ๐‘ง such that

๐‘ง2 = ๐‘ฅ๐‘๐‘ฆ and ๐‘ = ๐‘‰โˆ— ๐‘ฆ

Simulator ๐‘† ๐‘ฅ

1. Sample ๐‘ง โˆˆ๐‘… โ„ค๐‘โˆ—

2. Sample ๐‘ โˆˆ๐‘… โ„ค๐‘โˆ—

3. Set ๐‘ฆ = ๐‘ง2/๐‘ฅ๐‘

4. If ๐‘‰โˆ— ๐‘ฆ = ๐‘ output ๐‘ฆ, ๐‘, ๐‘ง

5. Otherwise repeat

๐‘ฅ โˆˆ ๐‘„๐‘…๐‘โ†“

๐”ผ #repetitions = 2

random ๐‘ฆ,๐‘, ๐‘ง such that

๐‘ง2 = ๐‘ฅ๐‘๐‘ฆ and ๐‘ = ๐‘‰โˆ— ๐‘ฆโ‰…

Page 35: ZERO-KNOWLEDGE (INTRO)

Perfect Zero-Knowledge

Definition: An interactive proof system ๐‘ƒ, ๐‘‰ for ๐ฟ is

perfect zero-knowledge if โˆ€๐‘ƒ๐‘ƒ๐‘‡ ๐‘‰โˆ— โˆƒ๐‘ƒ๐‘ƒ๐‘‡ ๐‘† โˆ€๐‘ฅ โˆˆ ๐ฟ

๐‘† ๐‘ฅ โ‰… ๐‘ƒ, ๐‘‰โˆ— ๐‘ฅ

Proposition: ๐‘„๐‘…๐‘ โˆˆ PZK

โ€ข Actually showed โ€œblack-boxโ€ ZK: โˆƒ๐‘ƒ๐‘ƒ๐‘‡ ๐‘† โˆ€๐‘ƒ๐‘ƒ๐‘‡ ๐‘‰โˆ— โˆ€๐‘ฅ โˆˆ ๐ฟ

๐‘†๐‘‰โˆ—๐‘ฅ โ‰… ๐‘ƒ, ๐‘‰โˆ— ๐‘ฅ

โ€ข We allowed ๐‘† to run in expected polynomial time

โ€ข Can we build ๐‘† with strict polynomial running time?

Page 36: ZERO-KNOWLEDGE (INTRO)

Amplifying soundness

Proposition: ๐‘„๐‘…๐‘ โˆˆ PZK w/ soundness error 2โˆ’๐‘๐‘œ๐‘™๐‘ฆ ๐‘ฅ

VP

โ‹ฎACCEPT iff

all repetitions

are accepting

๐‘†๐‘‰โˆ—๐‘ฅ keeps state

of partial view

*

Repeat sequentially

๐‘˜ = ๐‘๐‘œ๐‘™๐‘ฆ ๐‘ฅ times

๐”ผ time ๐‘† = 2 time ๐‘‰โˆ—

Page 37: ZERO-KNOWLEDGE (INTRO)

Paral lel repetition

๐”ผ time ๐‘†๐‘‰โˆ—

= 2๐‘˜ time ๐‘‰โˆ—

Later:

โ€ข Black-box impossibility

โ€ข ๐‘‰โˆ— whose view cannot be efficiently simulated

V

โ‹ฏ

*

Page 38: ZERO-KNOWLEDGE (INTRO)

Auxiliary input

and

Composition

Page 39: ZERO-KNOWLEDGE (INTRO)

I P for ๐‘„๐‘…๐‘ i s not ZK

VP ๐‘ฅ โˆ‰ ๐‘„๐‘…๐‘

Proposition: ๐‘„๐‘…๐‘ โˆˆ HVZK

Not ZK wrt โ€œauxiliary inputโ€

๐‘‰โˆ— ๐‘ง : use ๐‘ƒ to decide if

๐‘ง โˆˆ ๐‘„๐‘…๐‘

๐‘ง is ๐‘‰โˆ—โ€˜s auxiliary input

๐‘ง = ๐‘ฆ2 ๐‘ = 0

๐‘ง = ๐‘ฅ๐‘ฆ2 ๐‘ = 1

๐‘โ€ฒ = 1 ๐‘ง โˆ‰ ๐‘„๐‘…๐‘

๐‘โ€ฒ = 0 ๐‘ง โˆˆ ๐‘„๐‘…๐‘

Claim: ๐‘ƒ, ๐‘‰ is not ๐‘๐พ (wrt auxiliary input)

Page 40: ZERO-KNOWLEDGE (INTRO)

ZK wrt auxi l iary input

Definition: An interactive proof ๐‘ƒ,๐‘‰ for ๐ฟ is (perfect)

ZK wrt auxiliary input if โˆ€๐‘ƒ๐‘ƒ๐‘‡ ๐‘‰โˆ— โˆƒ๐‘ƒ๐‘ƒ๐‘‡ ๐‘† โˆ€๐‘ฅ โˆˆ ๐ฟ โˆ€๐‘ง

๐‘† ๐‘ฅ, ๐‘ง โ‰… ๐‘ƒ, ๐‘‰โˆ— ๐‘ง ๐‘ฅ

โ€ข ๐‘ง captures โ€œcontextโ€ in which protocol is executed

โ€ข Other protocol executions (โ€œenvironmentโ€)

โ€ข A-priori information (in particular about ๐‘ค)

โ€ข Simulator is also given the auxiliary input ๐‘ง

โ€ข Simulator runs in time ๐‘๐‘œ๐‘™๐‘ฆ ๐‘ฅ

โ€ข Auxiliary input ๐‘ง is essential for composition

Page 41: ZERO-KNOWLEDGE (INTRO)

Sequential composition of ZK

simulating view of each of ๐‘‰๐‘–โ€™s โ†’ simulating view of ๐‘‰โˆ—

P

โ‹ฎ

V*

Compose sequentially

๐‘˜ = ๐‘๐‘œ๐‘™๐‘ฆ ๐‘ฅ times

๐‘‰1โˆ—

๐‘‰2โˆ—

๐‘‰๐‘˜โˆ—

๐‘ƒ

๐‘ƒ

๐‘ƒ

Page 42: ZERO-KNOWLEDGE (INTRO)

๐‘†๐‘‰โˆ—๐‘ฅ, ๐‘ง = ๐’›๐Ÿ, โ€ฆ , ๐’›๐’Œ

โˆ€๐‘–, ๐’›๐’Š โ‰… ๐‘ƒ, ๐‘‰๐‘–โˆ— ๐‘ง, ๐’›๐Ÿ,โ€ฆ , ๐’›๐’Šโˆ’๐Ÿ ๐‘ฅ

Sequential composition of ZK

Theorem: ZK is closed under sequential composition

P

โ‹ฎ

V(x,z)*

๐‘‰1โˆ— ๐‘ฅ, ๐‘ง

๐‘‰2โˆ— ๐‘ฅ, ๐‘ง, ๐’›๐Ÿ

๐‘‰๐‘˜โˆ— ๐‘ฅ, ๐‘ง, ๐’›๐Ÿ,โ€ฆ , ๐’›๐’Œโˆ’๐Ÿ

๐‘†๐‘‰1โˆ—๐‘ฅ, ๐‘ง = ๐’›๐Ÿ

๐‘†๐‘‰2โˆ—๐‘ฅ, ๐‘ง, ๐’›๐Ÿ = ๐’›๐Ÿ

๐‘†๐‘‰๐‘˜โˆ—๐‘ฅ, ๐‘ง, ๐’›๐Ÿ,โ€ฆ , ๐’›๐’Œโˆ’๐Ÿ = ๐’›๐’Œ

Page 43: ZERO-KNOWLEDGE (INTRO)

Summary

Defined:

โ€ข NP, P, BPP, IP = PSPACE

โ€ข PZK, HVZK

Saw:

โ€ข ๐ฟ๐ผ๐‘, ๐‘„๐‘…๐‘ , ๐‘†๐ด๐‘‡ โˆˆ NP

โ€ข ๐‘„๐‘…๐‘ โˆˆ HVZK

โ€ข ๐‘„๐‘…๐‘ โˆˆ PZK

โ€ข ๐‘„๐‘…๐‘ โˆˆ HVZK

โ€ข auxiliary input for ZK protocols

โ€ข sequential composition of ZK protocols

Page 44: ZERO-KNOWLEDGE (INTRO)

Food for Thought

Page 45: ZERO-KNOWLEDGE (INTRO)

What i f P=NP?

โ€ข If P = NP then all ๐ฟ โˆˆ NP can be proved in PZK

โ€ข ๐‘ƒ sends nothing to ๐‘‰, who decides ๐‘ฅ โˆˆ ๐ฟ on his own

โ€ข But what about ZK within P?

โ€ข For instance against quadratic time verifiers?

Exercise: Suppose ๐œ” > 2. Construct an interactive proof

for ๐ฟ๐ผ๐‘ that is PZK for quadratic time verifiers

โ€ข An issue: composition. What about say ๐‘› executions?

โ€ข In contrast, ๐‘๐‘œ๐‘™๐‘ฆ(๐‘›) is closed under composition

Page 46: ZERO-KNOWLEDGE (INTRO)

History

Shafi Goldwasser Silvio Micali Charlie Rackoff

Page 47: ZERO-KNOWLEDGE (INTRO)

The End

Definition: An interactive proof system for ๐ฟ is a ๐‘ƒ๐‘ƒ๐‘‡algorithm ๐‘‰ and a function ๐‘ƒ such that โˆ€๐‘ฅ:

Completeness: If ๐‘ฅ โˆˆ ๐ฟ, then ๐‘ƒ๐‘Ÿ ๐‘ƒ, ๐‘‰ accepts ๐‘ฅ โ‰ฅ 2/3

Soundness: If ๐‘ฅ โˆ‰ ๐ฟ, then โˆ€๐‘ƒโˆ—, ๐‘ƒ๐‘Ÿ ๐‘ƒโˆ—, ๐‘‰ accepts ๐‘ฅ โ‰ค 1/3

Definition: ๐‘ƒ, ๐‘‰ for ๐ฟ is (perfect) ZK wrt auxiliary input if

โˆ€๐‘ƒ๐‘ƒ๐‘‡ ๐‘‰โˆ— โˆƒ๐‘ƒ๐‘ƒ๐‘‡ ๐‘† โˆ€๐‘ฅ โˆˆ ๐ฟ โˆ€๐‘ง

๐‘† ๐‘ฅ, ๐‘ง โ‰… ๐‘ƒ ๐‘ค , ๐‘‰โˆ— ๐‘ง ๐‘ฅ