Paper 2022/1051

How to Verifiably Encrypt Many Bits for an Election?

Henri Devillez, UCLouvain
Olivier Pereira, UCLouvain
Thomas Peters, UCLouvain

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.

Available format(s)
Public-key cryptography
Publication info
Published elsewhere. ESORICS 2022
Verifiable encryption Voting 0-1 proofs
Contact author(s)
henri devillez @ uclouvain be
olivier pereira @ uclouvain be
thomas peters @ uclouvain be
2022-08-17: approved
2022-08-13: received
See all versions
Short URL
Creative Commons Attribution


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