Top Banner
Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs
22

Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Dec 29, 2015

Download

Documents

Felicity Blake
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: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Optimistic Mixing for Exit-Polls

Philippe Golle, Stanford

Sheng Zhong, Yale

Dan Boneh, Stanford

Markus Jakobsson, RSA Labs

Ari Juels, RSA Labs

Page 2: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Mix Server

A mix server is a cryptographic implementation of a hat.

Inputs Outputs?

Mix Server

Proof

Page 3: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Mix Network

Server 1 Server 2 Server 3

Inputs Outputs

? ? ?

Proof Proof Proof

2. Verify the proofs of correct mixing:• OK: accept the output• Otherwise: remove cheaters and mix again

If a single mix server is honest, global permutation is secret.

1. Servers sequentially mix the inputs

Page 4: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Applications

• Other applications– Anonymous payments

– Anonymous channels

All these applications require efficient schemes

• Anonymous voting1. Votes submitted to the mix 2. Votes are mixed 3. Verify correct mixing (expensive):

• OK: decrypt the votes & announce results of election• Otherwise: remove cheater and mix again

Page 5: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Properties

• Privacy: outputs can’t be matched to inputs

• Correctness: outputs match inputs

• Robustness: an output is produced regardless of possible mix server failures or bad inputs

• Verifiability: local or universal

• Efficiency

Page 6: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Our contribution

• Optimistic mixnet– If all servers mix correctly, verification extremely fast

– If a server cheats, verification slower

• Application: exit-polls• Note: Cheating by users has (almost) no impact

1. Servers sequentially mix the inputs2. Verify the proofs of correct mixing [expensive]

• OK: accept the output [the usual case]• Otherwise: remove cheaters and mix again [very rare]

Page 7: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Comparison of proofs of correct mixing

Cut and Choose ZK [SK95,OKST97]

642nk

Pairwise Permutations [JJ99,Abe99]

14nk·log n

Matrix Representation [FS01] 36nk

Polynomial Scheme [Nef01] 16nk

Randomized Partial Checking [JJR01]

nk Global privacy

Proof of Subproduct [BG02] αk Near-correct

Optimistic Mix [GZBJJ02] 3 + 3Nk Optimistic

n = number of inputs k = number of servers

Page 8: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Optimistic Mixing

Page 9: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Zoology of Mix Networks

• Decryption Mix Nets [Cha81,…]:– Inputs: ciphertexts

– Outputs: decryption of the inputs.

• Re-encryption Mix Nets [PIK93,…]:– Inputs: ciphertexts

– Outputs: re-encryption of the inputs

Inputs Outputs?

Page 10: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

ElGamal Cryptosystem

• ElGamal is a randomized public-key cryptosystem• Plaintexts in a group G of prime order q• Ciphertexts are pairs (a,b) where a,b in G.

• Malleable: Er(m) Er+s(m)• ZK proof that two CT decrypt to the same PT (1 exp)

• Multiplicative homomorphism:

E(m) , E(m’) E(mm’)

Page 11: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Re-encryption Mixnet

0. Setup: mix servers generate a shared ElGamal key

1. Users encrypt their inputs: Input Input Pub-key

3. A quorum of mix servers decrypts the outputs

Output OutputPriv-key

Server 1 Server 2 Server 3

re-encrypt

& mix

re-encrypt

& mix

re-encrypt

& mix

2. Encrypted inputs are mixed:

Proof ProofProof

Page 12: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Problem

• Mix servers must prove correct re-encryption

– Inputs: n ElGamal ciphertexts E(mi )

– Outputs: n ElGamal ciphertexts E(m’i)

• Mix proves that there is a permutation π such that:

without revealing π.

nimEmE ii ,...,1)'()( )(

Page 13: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Our techniques to Prove Correct Re-encryption

1. Proof of product with checksum: Verification that the mix is product-preserving

2. Double-enveloppe:

Inputs are encrypted twice

Page 14: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Proof of Product

• Mix server:– Receives: n ElGamal ciphertexts E(mi )

– Produces: n ElGamal ciphertexts E(m’i)

• Observations:– Honest mix can always give this proof

– Verification is necessary but not sufficient

– Idea: append a cryptographic checksum to the inputs

• Verifier:– Computes: E(i=1mi) and E(i=1m’i)

– Ask Mix for ZK proof that these CT decrypt to same PT.

n n

Page 15: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Proof of Product with Checksum

• Inputs: mi = E( Input || Checksum(Input) )

• Outputs: m’i = E( Input || Checksum(Input) )

• Proposition: If– All input checksums are correct mi = m’i

– All output checksums are correct

Then {mi}={m’i} with all but negligible probability

Page 16: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Proof of Product with Checksum

1. Submission of inputs E(mi) =

2. Mixing

3. Each mix proves E( mi) = E( m’i) • Mixes which fail are kicked out

4. Decryption mi = Input || Checksum(input)

5. Verification of checksum:• All checksums OK {mi}={m’i}• Otherwise: either a mix or a user cheated

Input || Checksum(input)

Page 17: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Incorrect Output Checksums

• Cheating by user:– Input submitted with incorrect Checksum

– We do not (can not) verify that input checksums OK

– This cheating is harmless

• Cheating by mix server:– One (or several) servers produced corrupted output(s)

– This cheating is serious:• The mix server can trace selected inputs

• The harm is already done by the time cheating is discovered

Page 18: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Double Envelope

Input || Checksum(input)

Input || Checksum ( Input )

Replace

with

Page 19: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Optimistic Mixnet

1. Submission of inputs E(mi) =

2. Mixing

3. Each mix proves E( mi) = E( m’i) • Mixes which fail are kicked out

4. Partial decryption mi = Input || Checksum( input )

5. Verification of checksums…

Input || Checksum ( Input )

Page 20: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Optimistic Mixnet (cont’d)

5. Verification of checksum:• All checksums OK {mi}={m’i} We are done!• Otherwise: either a mix or a user cheated

6. Investigation of user cheating:• Mixes must trace every bad output to a bad input.• No privacy for cheating users!• If every bad output successfully traced, We are done!

7. Otherwise mix servers cheated:

• The checksums are discarded

• The Inputs are mixed again with standard mix

Page 21: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Properties of Optimistic Mixnet

• Privacy: for honest users only

• Correctness: OK (if discrete log is hard in Zp)

• Robustness: up to a minority of faulty servers

• Efficiency: – Mix: 6n exponentiations

– Proof: 3 + 3Nk exponentiations

– Plus cost of alternative decryption if a mix server cheats

– The expensive operation is the mix, not the proof.

Page 22: Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.

Conclusion

• Optimistic mix based on 2 new techniques:– Proof of product with checksum– Double envelope

• Optimistic mix is extremely fast when no server cheats. Cheating by users has minimal impact on performance

• When a server cheats:– Cheating is detected– It does not compromise the privacy of users– It only causes the mix to run slower

• Application: exit-polls