Top Banner
One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research
20

One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Dec 19, 2015

Download

Documents

Carmella Murphy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

One-out-of-Many Proofs:Or How to Leak a Secret and Spend a Coin

Jens Groth

University College London

Markulf Kohlweiss

Microsoft Research

Page 2: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

One-out-of-many statement

One of them holds gold!

But I will not tell you which one!

Prover Verifier

Page 3: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

One-out-of-many proof

Prover Verifier

Argument

Zero-knowledgeRemains secret which one of them holds gold

SoundnessOnly accept if one of them holds gold

Page 4: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Ring signature

Ring signatureOne of them signed, but secret who it was

ConstructionNon-interactive one-of-many argument of knowledge of a secret key corresponding to one of their public keys

Page 5: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Zerocoin

Coin spendingSerial number 1001101

AnonymityEach coin has unique secret serial number known only to ownerUse one-of-many proof to demonstrate one of the coins has this serial number

Page 6: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Membership proof

2

One-out-of-many proof that secret committed value belongs to a list

Page 7: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

One-out-of-many proof for commitment to 0

Statement:

Claim that one of them is commitment to 0

Prover Verifier

Witness

SoundnessStatement is true, there is a commitment to 0

Zero-knowledgeRemains secret which commitment contains 0

Page 8: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Pedersen commitments

• Setup with commitment key that specifies group of prime order and two random generators

• Commitment to using randomness computed as • Additively homomorphic

• Perfectly hiding• Computationally binding

– Assuming hard to compute discrete logarithms

𝑎 𝑏⋅ ¿ 𝑎+𝑏

Page 9: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Sigma-protocols

• -special soundness– Compute witness from answers to different challenges

• Special honest verifier zero-knowledge– Given challenge simulate transcript

Prover Verifier

StatementWitness s.t. 𝑎𝑥←𝒁𝒑

𝑧

Page 10: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Main result: one-out-of-many proof

Sigma-protocol for one out of many commitments being a commitment to

– Perfect completeness– Computational -soundness– Perfect special honest verifier ZK

Can use Fiat-Shamir heuristic to make it non-interactive for ring signatures and zerocoin

Rounds Prover Verifier Communication

3 expo. expo. group + field

For 256-bit elliptic curve groups bytes

Page 11: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

𝛿11=1

𝛿00=1

Binary tree

• Want to show is commitment to 0• Equivalently write and • Want to show is commitment to 0

𝑐0 𝑐1 𝑐2 𝑐3

𝑁=2𝑛0

1

𝑐ℓ=com(0 ;𝑟 )

𝛿01=0

𝛿10=0

𝛿01=0𝛿11=1

Want SHVZKCannot reveal

Page 12: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Commit to path

• Prover commits to

• Standard Sigma-protocol for knowledge of opening of commitment to – Run arguments for in parallel

𝑐0 𝑐1 𝑐2 𝑐3

𝑁=2𝑛0

1

𝑐ℓ=com(0 ;𝑟 )

Page 13: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

𝑓 𝑗=𝑥 ℓ 𝑗+𝑎 𝑗

Build polynomials of degree in challenge

• We have and • Define and and

Check

and 𝑥←𝒁𝒑

ℓ 𝑗

𝑎 𝑗

𝑐ℓ 𝑗=¿

𝑓 𝑗

Polynomials

defined by Communication

Page 14: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

• Use committed path to construct polynomials

in a verifiable manner• Both prover and verifier can compute

• Prover sends before challenge If then is a commitment to 0Otherwise negligible chance of commitment to 0

Page 15: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

One-out-of-many proofs

Sigma-protocol for one out of many commitments being a commitment to

Can save computation if prover knows openings of all commitments instead of just one of them

Rounds Prover Verifier Communication

3 expo. expo. group + field

Rounds Prover Verifier Communication

3 mult. expo. group + field

Page 16: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Membership proof

• Have commitment and want to give argument of knowledge of opening to value in the list

• Give one-out-of-many proof for statement

• Save computation since both prover and verifier know a lot about commitments

Rounds Prover Verifier Communication

3 mult. mult. group + field

Page 17: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Fiat-Shamir heuristic

• Sigma-protocol has quasi-unique challenges– Hard to compute many different answers to a challenge – Implies non-interactive argument is simulation-extractable

in the random oracle model

StatementWitness s.t. 𝑎𝑥←Hash(𝑢 ,𝑎 ,𝑎𝑢𝑥)𝑧 𝜋=(𝑎 ,𝑧 )

Non-interactive argument

Page 18: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Ring signatures

• Ring contains public keys of the form

• Interpret them as commitments to , i.e.,

𝑐0=h𝑟 0

𝑐1=h𝑟1

𝑐2=h𝑟 2

• Use Fiat-Shamir heuristic with challenge to prove knowledge of some

• Signature is the non-interactive argument

Page 19: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Zerocoin

• Bulletin board with coins• Each coin commitment

to a serial number

• Spend a coin from a set anonymously by posting serial number and proving one of the coins in has this serial number– Prove that one of

is commitment to 0 using Fiat-Shamir challenge – Serial number prevents double spending– Zero-knowledge guarantees anonymity

Page 20: One-out-of-Many Proofs: Or How to Leak a Secret and Spend a Coin Jens Groth University College London Markulf Kohlweiss Microsoft Research TexPoint fonts.

Summary

Sigma-protocol for one out of many commitments being a commitment to

– Perfect completeness– Computational -soundness– Perfect special honest verifier ZK

Membership proof Ring signature Zerocoin

Rounds Prover Verifier Communication

3 expo. expo. group + field