research & development towards practical coercion-resistant electronic elections jacques traoré...

50
research & development Towards Practical Coercion- Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy Saturday 4 September 2010

Upload: ira-morrison

Post on 13-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

research & development

Towards Practical Coercion-Resistant Electronic Elections

Jacques Traoré France Télécom / Orange LabsSecVote 2010

Bertinoro - Italy

Saturday 4 September 2010

Page 2: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development2

Outline

1. Introduction

2. JCJ scheme – a review

3. Improving JCJ:

4. Client/Server trade-offs in universally verifiable elections

5. Conclusion

Page 3: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development3

1 Introduction

Page 4: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development4

Electronic Voting Methods

• Remote Electronic Voting (on-line voting)

• Supervised voting (off-line voting)

Page 5: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development5

Eligibility: only legitimate voters can vote, and only once

Universal verifiability: All voters can verify that the final tally is correct The votes they cast are included Only authorized votes are counted No votes are changed during tallying

Privacy: no adversary can learn any more about votes than is revealed by the

final tally (Perfect) Anonymity: hide map from voter to vote

Receipt-freeness: prohibit proof of vote

Coercion-resistance: adaptative

Some desired properties of e-voting systems

Voters cannot prove whether or how they voted, even if they can interact with the adversary while voting.

Stronger

Page 6: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development6

Incompatible Properties Under usual assumptions we cannot achieve*:

Universal Verifiability and Perfect Anonymity simultaneously, unless all registered voters actually vote

Universal Verifiability and Receipt-Freeness unless private channels are available between the voters and/or the voting authorities)

* On Some Incompatible Properties of Voting Schemes, Benoît Chevallier-Mames, Pierre-Alain Fouque, David Pointcheval, Julien Stern, Jacques Traoré, Workshop On Trustworthy Elections 2006.

Page 7: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development7

2 JCJ – a brief review

Page 8: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development8

JCJ scheme* – a review

Basic ingredients: Voter employs anonymous credential obtained during the registration phase Valid credentials are required for vote to count Voter can make "fake credentials" and vote multiple times We don’t know who voted (at time of voting) or what was voted A coercer cannot tell whether a credential is correct or not

• Attacker cannot tell whether a vote is valid or not

Basic idea: To mislead a coercer, the voter sends invalid ballot(s) as long as he is coerced,

and a valid ballot as soon as he is not coerced It suffices that the voter finds a window-time during which he is not coerced

* Juels-Catalano-Jakobsson - WPES 2005

Page 9: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development9

Security model

Registration: Attacker cannot interfere with registration process

Before voting: Attacker can provide keying or other material to voter (even entire ballot)

During vote: Votes may be posted anonymously (for strongest security) or semi-anonymously (for weaker

guarantees) Bulletin board is universally accessible

At all times: Attacker has access to all public information, i.e., encrypted and decrypted ballots

Assumption. Voters trust their voting client.

Page 10: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development10

Building Blocks El Gamal cryptosystem (They need in fact a variant of El Gamal for their security proof: Jarecki and Lysyanskaya, Eurocrypt 2000)

El Gamal cryptosystem: G a group of prime order p, g a generator of G the secret key is x, the public key is h = gx, Encryption of m is c = (gr, hrm), Decryption of c is (gr)-x (hrm)

Basic Tools

Page 11: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development11

El Gamal cryptosystem Decryption (private key) can easily be distributed

No need to trust a single entity

Encryption is homomorphic Multiplicative, or additive with a variant: Eh(m)* Eh(m') = Eh(m*m')

• Eh(m)* Eh(m') = Eh(m*m')• Eh(m)k = Eh(mk)

Computing on encrypted data is easy

Comparing the plaintexts of two ciphertexts (without decrypting them) is easy: Threshold Plaintext Equivalence Test (PET): PET(Eh(m1), Eh(m2) = 1 if m1 = m2 and 0 otherwise

Re-encryption is easy : mix-nets can be efficiently implemented For simulating an "anonymous channel" For simulating "ballot shuffle" C = (gr, hr.m) can be transformed on a new ciphertext C' of m without knowing m and/or the secret key : C' = (gr+r', hr+r'.m)

Page 12: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development12

Cast of Characters

Receive their credential during the registration phase

Issue credentials in a distributed manner during the registration phase. They share an El Gamal secret key. R is the corresponding public key

Manage the tallying process. They share an El Gamal secret key. T is the corresponding public key

Voters

Talliers

Registration Authorities

Coercer

Try to verify whether the coerced voter voted as prescribed

Page 13: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development13

Registration

Registration Authorities

CS

The authorities generate a random value CS

Mr Smith's credential is CS. He can send a fake credential FakeCS to the coercer

ER (CS)

Coercer

FakeCS

Mr Smith

Mr Smith

Credential List 1

Mr Baker : ER (CB)

Mr Durand : ER (CD)

Mr Traoré : ER (CT)

Mr Smith : ER (CS)

Page 14: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development14

Voting

Anatomy of a ballot: (ET (vote), ER (Credential), NIZKPs)

Bulletin Board 1

ET (Gore), ER (CS), NIZKPs

Vote under coercion

Mr Smith

Revote

ET (Bush), ER (FakeCS), NIZKPs

Bulletin Board 1

Page 15: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development15

Tallying Ballot

Bulletin Board 1

ET (Bush), ER (FakeCB), NIZKP

ET (Gore), ER (CD), NIZKP

ET (Bush), ER (FakeCS), NIZKP

ET (Gore), ER (CS), NIZKP

ET (Gore), ER (CJ), NIZKP

ET (Bush), ER (CK), NIZKP

ET (Bush), ER (CE), NIZKP..ET (Bush), ER (CJ), NIZKP

Ballots with invalid NIZKP are discarded

Step 1: Check NIZKPs

Tallier 1 Tallier 2

Page 16: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development16

Tallying Ballot

Bulletin Board 2

ET (Bush), ER (FakeCB)

ET (Gore), ER (CD)

ET (Bush), ER (FakeCS)

ET (Gore), ER (CS)

ET (Gore), ER (CJ)

ET (Bush), ER (CE)..ET (Bush), ER (CJ)

Keep the last one for example

Step 2: Elimination of duplicates using PET

Authority 1 Authority 2

Page 17: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development17

Tallying Ballot

Step 3: Mixing the ballots

Bulletin Board 4

ET (Bush), ER (CJ)

ET (Bush), ER (FakeCB)

ET (Gore), ER (CS)

ET (Gore), ER (CD)

ET (Bush), ER (CE)..ET (Bush), ER (FakeCS)

Mix Net

…E‘(©)

……

Tallier 1 Tallier 2

Bulletin Board 3

ET (Bush), ER (FakeCB)

ET (Gore), ER (CD)

ET (Bush), ER (FakeCS)

ET (Gore), ER (CS)

ET (Bush), ER (CE)..ET (Bush), ER (CJ)

Page 18: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development18

Tallying Ballot

Step 4: Mixing the list of valid credentials

Tallier 1 Tallier 2

…E‘(©)

……

Mix Net

Credential List 1

Mr Baker : ER (CB)

Mr Durand : ER (CD)

Mr Traore : ER (CT)

Mr Smith : ER (CS)

Credential List 2

ER (CD)

ER (CS)

ER (CB)

ER (CT)

Page 19: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development19

Tallying Ballot

Step 5: Checking credentials using PET

…E‘(©)

……

Credential List 2

ER (CD)

ER (CS)

ER (CB)

ER (CT)

PET

Bulletin Board 4

ET (Bush), ER (CJ)

ET (Bush), ER (FakeCB)

ET (Gore), ER (CS)

ET (Gore), ER (CD)

ET (Bush), ER (CE)..ET (Bush), ER (FakeCS)

Authority 1 Authority 2

Page 20: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development20

Tallying Ballot

Step 6: Decrypt valid votes

…E‘(©)

……

Results

Bush

Gore

Gore

Bush

Authority 1 Authority 2

Distributed

Decryption

Bulletin Board 5

ET (Bush)

ET (Gore)

ET (Gore)

ET (Bush)

Page 21: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development21

Drawbacks

quadratic overhead N the number of voters, V the number of votes (V N≧ ) O(V2) tests for duplicates O(N2) matching tests

Civitas: Towards a secure voting system (IEEE Symposium on Security and Privacy 2008)

It took five hours to tabulate (only) 500 votes.

Denial of service attack / Flooding Attack Other proposals either have been broken or do not really satisfy the coercion-resistance property

Acquisti, 2004 Smith, FEE'05 Schweisgut, E-voting 2006 Meng, ICSNC 2007

Page 22: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development22

3 Improving JCJ « Clarkson, Chong, and Myers [16] have devised and implemented a refined protocol in a system called Civitas, and achieved good scalability by partitioning the population of voters. It is certainly conceivable that there exists a provably secure, coercion-resistant electronic voting scheme with lower complexity—perhaps even linear. Constructing one remains an open problem ». Ari, Juels, Dario Catalano and Markus Jakobsson, Coercion-Resistant Elections, Towards Trustworthy Elections, LNCS 6000, 2010.

Page 23: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development23

Building Blocks Homomorphic Cryptosystem Plaintext Equivalence Test Mix Net Designated Verifier Signature Scheme

Basic Tools

Page 24: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development24

Setup: Generators g0, g, h of a cyclic group G of order p where DDH is hard Public key of the signer: PK = g0

y, Secret key of the signer: SK = y

"Signature" on a random message x: Choose a random value r Compute A = (g hx)1/(y+r)

"Signature" on x = (A, r) along with

a proof that LogA(A-rghx) = Logg0(PK )

Designated Verification: Prove that LogA(A-rghx) = Logg0(PK ) using a Designated Verifier Proof

(Jakobsson-Sako – Impagliazzo)

Only the (designated) verifier can be convinced by this proof

Designated verifier signature scheme

Ay = A-rghx (1)Ay+rg-1h-x = 1 (2)

Deciding whether a pair (A, r) is a valid signature on a message x is equivalent to the DDH problem

Based on "Boneh-Boyen-Sacham's group signature scheme (Crypto 2004)

Page 25: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development25

Designated Verifier Proof

Designated verifier proof Only convinces the designated verifier Does not convince any other party Prove either the equality of the Discrete logarithms or the knowledge

of the private key of the designated verifier

or

private key of the designated verifier

Equality of the Discrete Logarithms

Page 26: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development26

Cast of Characters

Receive their credential during the registration phase

Issue credentials in a distributed manner during the registration phase. They share a secret key of our DVS. R is the corresponding public key

Manage the tallying process. They share an El Gamal secret key. T is the corresponding public key

Voters

Talliers

Registration Authorities

Coercer

Try to verify whether the coerced voter has voted as prescribed

Page 27: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development27

Setup: Generators g0,g,h,m of a cyclic group G of order p (DDH problem

is hard) Registration authority: PK=g0

y,SK= y Talliers: share y and an ElGamal secret key

Registration Credential: (A, r, x)

• x and r are randomly chosen by R• A is computed as follows by R: A = (g hx)1/(y+r)

A credential is valid iff the voter knows two values x and r such that: Aγ+r=g hx (which is equivalent to Ay+rg-1h-x = 1)

Fake credential: (A , r , x’)

Set-up

Page 28: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development28

Registration

Registration Authorities

(A, r, x)

The registration authorities generate in a distributed manner* a signature (A, r) on a random value x and prove to Mr Smith using a DVP that the signature is valid

Mr Smith's credential is (A, r, x). He can send a fake credential (A, r, x') to the

coercer

Coercer

Mr Smith

Mr Smith

(A, r, x')

Is it a valid credential?

* Wang, Zhang and Feng, Indocrypt 2005

Page 29: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development29

A passive coercer can't check if a credential is valid or not under the DDH assumption : given g, ga , gb, gc decide whether c = ab mod p or not.

A coercer can't forge valid credentials under the q-SDH assumption q-SDH: given g, gx, …, g(xq ), find a pair (c, A) such that Ax+c = g

An active coercer can't check if a credential is valid or not (under the Strong DDH Inversion (SDDHI) assumption)

Basic Facts about these credentials

* The SDDHI assumption holds in generic groups

Page 30: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development30

Ballot (ET [vote], ET [A], ET [Ar], ET [hx], F=mx, P)

P is a NIZKP of validity, that is :• ET (vote) is an encryption of a valid vote• Voter knows the plaintext related to ET (A)• Voter knows the "discrete logarithm" of ET [Ar] in the base ET [A]• Voter knows the plaintext related to ET [hx] as well as the discrete

logarithm x of this plaintext in the base h.• Voter knows the discrete logarithm of F in the base m and that

this discrete logarithm is equal to x

Anatomy of a ballot

Credential : A tuple (A, r, x) such that Ay+rg-1h-x = 1

Page 31: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development31

Voting

Anatomy of a ballot: (ET (vote), ET (A), ET (Ar) ET (hx), mx, Proof)

Bulletin Board 1

Vote under coercion

Mr Smith

Revote

ET (Gore), ET (A), ET (Ar) ET (hx), mx, Proof2

ET (Bush), ET (A), ET (Ar) ET (hx'), mx', Proof1

Bulletin Board 1

Page 32: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development32

Tallying phase

Bulletin Board 1

ET (Bush), ET (A), ET (Ar) ET (hx'), mx', Proof1

ET (Bush), ET (B), ET (Bs) ET (hy), my, Proof2

ET (Bush), ET (C), ET (Ct) ET (hz), mz, Proof3

ET (Gore), ET (B), ET (Bs) ET (hy), my, Proof4

ET (Bush), ET (D), ET (Du) ET (hv), mw, Proof5

ET (Gore), ET (A), ET (Ar) ET (hx), mx, Proof6

Step 1: Discard ballots with invalid proofs

Tallier 1 Tallier 2

Page 33: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development33

Tallying phase

Bulletin Board 2

ET (Bush), ET (A), ET (Ar) ET (hx'), mx'

ET (Bush), ET (B), ET (Bs) ET (hy), my

ET (Bush), ET (C), ET (Ct) ET (hz), mz

ET (Gore), ET (B), ET (Bs) ET (hy), my

ET (Gore), ET (A), ET (Ar) ET (hx), mx

Step 2: Elimination of duplicates: the ballots that have the same fifth component

Tallier 1 Tallier 2

Keep the last one for example

Page 34: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development34

Tallying phase

Step 3: Mixing the ballots

Tallier 1 Tallier 2

Bulletin Board 3

ET (Bush), ET (A), ET (Ar) ET (hx')

ET (Bush), ET (C), ET (Ct) ET (hz)

ET (Gore), ET (B), ET (Bs) ET (hy)

ET (Gore), ET (A), ET (Ar) ET (hx)

Mix Net

Bulletin Board 4

E'T (Gore), E'T (A), E'T (Ar), E'T (hx)

E'T (Gore), E'T (B), E'T (Bs), E'T (hy)

E'T (Bush), E'T (C), E'T (Ct), E'T (hz)

E'T (Bush), E'T (A), E'T (Ar), E'T (hx')

Reencrypt and permute each row

Page 35: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development35

Tallying phase

Step 4: Checking credentials

…E‘(©)

……

Authority 1 Authority 2

1. The authorities compute C=E'T [Ay+rg-1h-x ] from E'T [A], E'T [Ar], E'T [hx] and SK = y

2. Test whether C is an encryption of 1

1. Power C to a fresh random number 'f' and jointly decrypt Cf.

2. D[Cf] =1 ? Yes = valid / No = invalid and discard ballots

Bulletin Board 4

E'T (Gore), E'T (A), E'T (Ar), E'T (hx)

E'T (Gore), E'T (B), E'T (Bs), E'T (hy)

E'T (Bush), E'T (C), E'T (Ct), E'T (hz)

E'T (Bush), E'T (A), E'T (Ar), E'T (hx')

Page 36: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development36

Tallying phase

Step 5: Decrypt valid votes

…E‘(©)

……

Results

Gore

Gore

Bush

Distributed

Decryption

Bulletin Board 4

E'T (Gore)

E'T (Gore)

E'T (Bush)

Tallier 1 Tallier 2

Page 37: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development37

Security at a glance Voter cannot sell or prove vote

Attacker cannot tell a false credential from a real one

No randomization or forced abstention Randomization: Voter can use fake credential to post false ballot…

and later vote for real Forced abstention: Voter can vote using an anonymous channel

Resistance to shoulder-surfing Voter can vote multiple times Weeding policy provides for re-vote E.g., last vote might count (needs extra phase)

Page 38: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development38

Computational Definition of Coercion-Resistance (1)

The credentials are given to the voters

A sets coercive target

If b = 0 the coerced voter cast a ballot for and gives a fake credential to A

If b = 1 the coerced voter gives her valid credential to A and does not cast

a ballot

A guesses coin flip

Page 39: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development39

Computational Definition of Coercion-Resistance (2)

The credentials are given to the voters

A sets coercive target

the coerced voter evades coercion

A' guesses coin flip but it's only input is the final tally

Page 40: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development40

Computational Definition of Coercion-Resistance (3)

Intuitively, this definition means that in a real protocol execution, A learns nothing more than the election tally

Our protocol satisfies the coercion-resistant requirement (in the random oracle model) under the q-SDH and SDDHI assumptions

Page 41: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development41

Computational Definition of Verifiability

Our protocol satisfies the verifiability requirement (in the random oracle model) under the q-SDH assumption

should be negligible

Page 42: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development42

4 Client/Server trade-offs in UV elections

Page 43: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development43

Client/Server trade-offs in universally verifiable elections Setup:

Generators g0,g,h,m of a cyclic group G of order p (DDH problem is hard)

Registration authority: PK=g0y,SK= y

Talliers: share y and an ElGamal secret key

Encoding of votes for L candidates: candidate 1 → 1, candidate 2 → 2, . . . , candidate L → L.

Page 44: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development44

Generation of the ballots

Ballot for the candidate j: (A, r, x)• Where x = j and r is randomly chosen by R• A is computed as follows by R: A = (g hx)1/(y+r)

The ballot is valid iff : Aγ+r=g hx (which is equivalent to Ay+rg-1h-x = 1)

Page 45: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development45

A vote for candidate j: (E[A], E[Ar], E[hx], P) where x = j

P is a NIZKP of validity, that is :• E(vote) is an encryption of a valid vote• Voter knows the plaintext related to E(A)• Voter knows the "discrete logarithm" of E[Ar] in the base E[A]• Voter knows the plaintext related to E[hx] as well as the discrete

logarithm x of this plaintext in the base h.

Voting

Page 46: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development46

Tallying Ballot

Bulletin Board 1

ET (A), ET (Ar) ET (hx), Proof1

ET (A), ET (Ar) ET (hx), Proof2

ET (C), ET (Ct) ET (hz), Proof3

ET (D), ET (Du) ET (hw), Proof4

Step 1: Discard ballots with invalid proofs

Tallier 1 Tallier 2

Page 47: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development47

Tallying Ballot

Step 4: Checking valid ballots

…E‘(©)

……

Authority 1 Authority 2

1. The authorities compute C=E[Ay+rg-1h-x ] from E[A], E[Ar], E[hx] and SK = y

2. Test whether C is an encryption of 1

1. Power C to a fresh random number 'f' and jointly decrypt Cf.

2. D[Cf] =1 ? Yes = valid / No = invalid and discard ballots

Bulletin Board 2

ET (A), ET (Ar) ET (hx)

ET (A), ET (Ar) ET (hx)

ET (C), ET (Ct) ET (hz)

ET (D), ET (Du) ET (hw)

Page 48: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development48

Tallying Ballot

Step 6: decrypt and compute the result

…E‘(©)

……

Bulletin Board 3

ET (hx)

ET (hx)

ET (hw)

Tallier 1 Tallier 2

Page 49: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development49

5 Conclusion

Page 50: Research & development Towards Practical Coercion-Resistant Electronic Elections Jacques Traoré France Télécom / Orange Labs SecVote 2010 Bertinoro - Italy

Orange Labs - Research & Development50

Conclusion JCJ and Civitas are promising, but unfortunately not really practical

We design a practical (with linear work factor), publicly verifiable and coercion- resistant voting scheme for remote elections

Not just practical, but essential for Internet voting!

What about Perfect anonymity?

Usability issues: would average people be able to memorize 10 alphanumeric characters?

How to remove the assumption related to the voter's computer?

Details: Araujo, Foulle, Traoré, Towards Trustworthy Elections 2010 and Araujo, Ben Rajeb, Robbana, Traoré, Youssfi, CANS 2010.