Paper 2022/1051
How to Verifiably Encrypt Many Bits for an Election?
Abstract
The verifiable encryption of bits is the main computational step that is needed to prepare ballots in many practical voting protocols. Its computational load can also be a practical bottleneck, preventing the deployment of some protocols or requiring the use of computing clusters. We investigate the question of producing many verifiably encrypted bits in an efficient and portable way, using as a baseline the protocol that is in use in essentially all modern voting systems and libraries supporting homomorphic voting, including ElectionGuard, a state-of-the-art open source voting SDK deployed in government elections. Combining fixed base exponentiation techniques and new encryption and ZK proof mechanisms, we obtain speed-ups by more than one order of magnitude against standard implementations. Our exploration requires balancing conflicting optimization strategies, and the use of asymptotically less efficient protocols that turn out to be very effective in practice. Several of our proposed improvements are now on the ElectionGuard roadmap.
Metadata
- Available format(s)
- Category
- Public-key cryptography
- Publication info
- Published elsewhere. ESORICS 2022
- Keywords
- Verifiable encryption Voting 0-1 proofs
- Contact author(s)
-
henri devillez @ uclouvain be
olivier pereira @ uclouvain be
thomas peters @ uclouvain be - History
- 2022-08-17: approved
- 2022-08-13: received
- See all versions
- Short URL
- https://ia.cr/2022/1051
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2022/1051, author = {Henri Devillez and Olivier Pereira and Thomas Peters}, title = {How to Verifiably Encrypt Many Bits for an Election?}, howpublished = {Cryptology {ePrint} Archive, Paper 2022/1051}, year = {2022}, url = {https://eprint.iacr.org/2022/1051} }