UCL Crypto Group
Microelectronics Laboratory
Election Verifiability or Ballot Privacy Do We Need to Choose? - - PowerPoint PPT Presentation
Election Verifiability or Ballot Privacy Do We Need to Choose? Edouard Cuvelier Thomas Peters Olivier Pereira Universit e catholique de Louvain ICTEAM Crypto Group SecVote 2012 UCL Crypto Group PPAT - Jul. 2012 1
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ increasing concerns about bribery and coercion ◮ secret ballots become mandatory in most countries ◮ and there are the troubles for correctness
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
UCL Crypto Group
Microelectronics Laboratory
◮ Large scale elections: single asynchronous pass by the voters ◮ Confidentiality rests on a set of trustees who perform the tally ◮ Offer verifiability without impacting privacy ◮ Solutions for both homomorphic and mixnet-based tallying ◮ Preserve optimal efficiency [CGS97]:
◮ workload by voters independent of number of trustees ◮ workload by voters logarithmic in number of choices ◮ workload by trustees linear in number of ballots ◮ ballot size linear in number of choices ◮ workload independent of security parameter
UCL Crypto Group
Microelectronics Laboratory
◮ Used by authorities ◮ Corresponds to the view in the non-verifiable system ◮ Should offer usual computational privacy [BCPSW11]
◮ Used for universal verifiability ◮ Should offer perfect/statistical privacy ◮
UCL Crypto Group
Microelectronics Laboratory
◮ Regular (threshold) encryption
◮ Take Enc and Com schemes ◮ Gen uses GenE twice and GenC to get keys from these two
◮ EncCC(m) computes (c, a) = Comck(m), c1 = Encpk1(m) and
UCL Crypto Group
Microelectronics Laboratory
◮ For privacy:
◮ For accountability:
UCL Crypto Group
Microelectronics Laboratory
◮ Generate public key of Π and publish it ◮ Voters submit ei = EncΠ(vi) ◮ Authorities verify the augmentations and publish
◮ Authorities publish an opening of ci ◮ Verifiability follows from the binding property of Com
◮ Authorities publish openings of verifiably shuffled ci
◮ Verifiability follows from the binding property of Com
UCL Crypto Group
Microelectronics Laboratory
◮ The BB contains perfectly hiding commitments
◮ The BB contains opening of the election outcome
◮ The BB may contain extra proofs
◮ Offered by computational binding property of commitments ◮ And soundness of ZK proofs
UCL Crypto Group
Microelectronics Laboratory
◮ Commitment gvhr and ciphertext (gs, hrys)?
◮ Commitment gvhr and ciphertext (gs, ”r”ys)?
◮ Commitment gvhr and ciphertext (1 + N)rsN? [MN07]
◮ Paillier distributed key generation extremely challenging
◮ Paillier works modN2 which can be too expensive ◮ Still, we proved that it is secure for our generic construction
UCL Crypto Group
Microelectronics Laboratory
◮ Public key: random g, g1 generating G1, h, h1 generating G2
◮ Enc(v) := (c0, c1, c2) = (gs, grgs
◮ ExtractC(c0, c1, c2) := c2 ◮ Dec(c0, c1, c2) := DL of e(cx1
◮ The opening of c2 is gr – verification: e(gr, h) ?
◮ This scheme is homomorphic and IND-CPA under DDH ◮ VA can be made from usual sigma protocols ◮ Looks like Pedersen, but actually quite different
UCL Crypto Group
Microelectronics Laboratory
◮ Public key: random g, g1, g2 generating G1, h, h1 generating
◮ Enc(v) := (a1, a2, b, c1, c2) = (gr1, gr2, gr
◮ ExtractC(a1, a1, b, c1, c2) := (c1, c2) ◮ Dec(c0, c1, c2) := c1/ax1
◮ The opening of (c1, c2) is gr
◮ Same remarks for IND-CPA and VA ◮ Homomorphic for EC point addition (but we do not care) ◮ Looks like Pedersen/PPAT1, but again fairly different
UCL Crypto Group
Microelectronics Laboratory
◮ 256 bit multiplication costs 1 ◮ multiplication has quadratic complexity ◮ exponentiation/point multiplication by square and multiply
◮ Standard techniques provide a PPAT2 ciphertext in < 1s ◮ Ongoing implementation expected to improve this by ≈ 20
UCL Crypto Group
Microelectronics Laboratory
◮ Our CCVA schemes make it possible to get a perfectly private
◮ Can be plugged into most voting systems based on
◮ Standard “sigma” ZK protocols can be used for validity proofs