Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College...

24
Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London

Transcript of Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College...

Page 1: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Efficient Zero-Knowledge Argument for Correctness of a Shuffle

Stephanie Bayer

University College London

Jens Groth

University College London

Page 2: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Motivation – e-voting

• Voting: - Voter casts secret vote

- Authorities reveal votes in random permuted order

• E-voting: - voter casts secret votes on a computer

- The votes are sent to a server who sends all votes to the central authorities

- Authorities reveal votes in random permuted order

Page 3: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Background - ElGamal encryption

• Setup: Group G of prime order with generator

• Public key:

• Encryption: E() = ()

• Decryption: D() =

• Homomorphic:

E() × E() = E()

• Re-rencryption:

E() × E() = E()

Page 4: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Shuffle

c1 c2 c3 c N. . .

C1 C2 C3 CN. . .

Input ciphertexts

Permute to get

Re-encrypt them E()

Output ciphertexts

Page 5: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Mix-net:

m π ( 1) m π ( 2) m π (N )

π1

π2

π=π 1π2

m1 m2 mN

Threshold decryption

Page 6: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Problem: Corrupt mix-server

m π ( 1) m π ( 2) m π (N )′

π1

π2

π=π 1π2

m2 mN

Threshold decryption

Page 7: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Solution: Zero-knowledge argument

m π ( 1) m π ( 2)

m1 m2 N

Threshold decryption

ZK argumentNo message changed

(soundness)

ZK argumentPermutation still secret

(zero-knowledge)

π=π 1π2

π2

π1

Page 8: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Zero-Knowledge Argument

Requested Properties:– Soundness: The Verifier reject with overwhelming

probability if the Prover tries to cheat– Zero-Knowledge: Nothing but the truth is revealed;

permutation is secret– Efficient: Small computation and small communication

complexity

Prover Verifier

Statement: ()

The Shuffle was done correctly

π , r1 ,⋯ , rN

Page 9: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Public coin honest verifier zero-knowledge

Statement: ()

Prover Verifier

Setup: (G,,) and common reference string

Honest verifier zero-knowledgeNothing but truth revealed; permutation secret

Can convert to standard zero-knowledge argument

 

Page 10: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Our contribution

• 9-move public coin honest verifier zero-knowledge argument for correctness of shuffle in common reference string model

• For ciphertextsCommunication: O()k bitsProver’s computation: O() exposVerifier’s computation: O() expos

Page 11: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Comparison of ElGamal shuffles ()

|| = 1024|| = 160

Rounds Proverin expos

Verifierin expos

Sizein kbits

Furukawa-Sako 01 3 8 10 5.3

FMMOS 02 5 9 10 5.3

Furukawa 05 (GL07) 3 7 8 1.5

Terelius-Wikström 10 5 9 11 3.7

Neff 01,04 7 8 12 7.7

Groth 03,10 7 6 6 0.6

Groth-Ishai 08 7 3 4 3 + 0.5

Bayer-Groth 11 9 2 4 11 + 0.8

Bayer-Groth 11 O() 4 11 + 0.8

Page 12: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Commitments

• Commit to a column vector Z as A=com ()

– Length reducing– Computational binding– Perfectly hiding– Homomorphic

com(;)*com(; ) = com(; )

• Pedersen Commitment: com(; ) =

Page 13: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Techniques - Sublinear cost

• Length reducing commitments • Batch verification

Sublinear communication cost

• Structured Vandermonde challenges

Page 14: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Shuffle argument

• Given public keys and • Given ciphertexts and • Prover knows permutation and randomizers and

wants to convince the verifier

E() E()

Page 15: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Shuffle argument

1. The prover commits to a permutation by committing to

Verifier sends challenge Z

2. The prover commits to

3. The prover gives an argument that both commitments are constructed using the same permutation

4. The prover demonstrates that the input ciphertexts are permuted using the same permutation and knowledge of the randomizers used in the re-encryption.

Page 16: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

• Prover gives product argument for A, B such that =

• Prover commits to as A=com()=com()

and after receiving challenge Z to B= com() =com(s)

Shuffle argument

InexpensiveSee full paper

ExpensiveWill sketch idea

• Sketch idea focusing on soundness• Ignore ZK (easy and cheap to add)• Will also for simplicity assume randomness

Both polynomials are equal, only the roots are permuted

Page 17: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Notation

• Arrange ciphertexts in matrix =

• Define inner product = to simplify the statement as

• B contains commitments B, , B where

B= com=com(), , B= com ()

Page 18: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Multi-exponentiation argument idea

 

 

 

Page 19: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

3. Verifier computes and checks

Verifier sends challenge Z

1. Prover sends

2. Prover opens

to

Multi-exponentiation argument

elements in Zq

2 ciphertexts

ciphertext expos

ciphertext expos

ciphertext expos

Communicaton:O() elements

Verifier computation: + O() expos

Page 20: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Prover’s computation

  

Computing this matrix costs m2n = mN ciphertext expos

 

Page 21: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Reducing the prover’s computation

• Do not compute entire matrix• Instead use techniques for multiplication of

polynomials “in the exponent” of ciphertexts• Fast Fourier Transform

– O(N log m) exponentiations O (1) rounds

• Interaction– O (N) exponentiations O (log m) rounds

Page 22: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Implementation

• Implementation in C++ using the NTL library and the GMP library

• Different levels of optimization– Multi-exponentiation techniques– Fast Fourier Transform– Extra Interaction and Toom-Cook

Page 23: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Comparison

Single argument Argument Size

Verificatum 5 min 37.7 MB

Toom-Cook, 2 min 0.7 MB

• Runtime comparison of Verificatum (Wikström) to our shuffle argument

• MacBook Pro; CPU: 2.54 GHZ, RAM: 4GB• , 60 • ciphertexts,

Page 24: Efficient Zero-Knowledge Argument for Correctness of a Shuffle Stephanie Bayer University College London Jens Groth University College London.

Thank You