Paper 2022/1051 Original: eprint.iacr.org/2022/1051 ↗

How to Verifiably Encrypt Many Bits for an Election?

Henri Devillez
Olivier Pereira
Thomas Peters
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)
PDF
Category
Public-key cryptography
Publication info
Preprint.
History
2022-08-13: last updated
2022-08-13: published
Short URL
https://ia.cr/2022/1051
License
https://creativecommons.org/licenses/by/4.0/

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}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.