120 likes | 138 Views
This remote voting system, based on Prêt à Voter and coded by David Lundin and Johannes Clos, aims to be end-to-end verifiable and easy to set up, maintain, and use. The design offloads authentication to the host organization and uses publicly available mix servers. While it has limitations like unsupervised voting and lack of coercion resistance, it provides a practical approach to remote voting.
E N D
A remote voting systembased on Prêt à Votercoded byDavid LundinJohannes Clos
Design goals • End-to-end verifiable (if...) • Offload authentication to host organization • Easy to set up, maintain and use • Use publicly available mix servers (when...)
Limitations • Unsupervised voting • No coercion resistance • No guarantee of response from server • Someone has to authenticate users • We use host organization (could use our server) • Some parts not quite complete • Threshold decryption • SSL certificates (time/money)
Election setup phase • Create election on EE • Don't declare voters! • Retrieve shared secret • Retrieve signed applet • Integrate host auth
Client authentication phase • Voter logs on normally • Host serves applet • PHP script gets authentication information
Voting phase • Vote using applet • Applet encrypts vote • ElGamal encryption • Ciphertexts à la [Hea07] • Packaged as XML • Committed to • Audit or vote • Vote sent back to host • Host signs XML • Sent back to ee.com • Signed receipt given
Voting and auditing • Voting applet • constructs XML • reveals XML and hash • offers vote or audit • Voter then can either • audit, and uncover details of encryptions • vote, and get signed hash • Audit gives confidence in applet's fairness
Decryption/tallying after polls close • Use mix nets • PRC to audit mixes • Anyone can audit • Public mix servers • Votes decrypted • Threshold decryption • CP proofs • Anyone can check • Lazily decrypt (STV) • Anyone can tally
Auditing the mix nets • A mix net • re-encrypts votes • randomly shuffles • Twice, with PRC • Links chosen by hash of output • Can be re-run
Conclusion • Pretty much plug-and-play • Any organization hosting a web site can use • End-to-end verifiable • ...on various seemingly unavoidable assumptions