Skip to content

ElectionGuard Official Specifications

The official versions of the ElectionGuard Specifications are listed below and stand as the primary source of reference when discussing the ElectionGuard Specification. Each version includes a badge that can be used to quickly display which versions are supported or used by products following the specification. To follow along with the code versioning, see the versioning.

Version Specification Recommended Badge
2.0 Unreleased Version 2.0
1.0 Download Version 1.0
0.95 Download Version 0.95
0.85 Download Version 0.85

Release Notes


Updates from previous version

  • The large prime p and corresponding cofactor r were changed to correctly match the result of the process for the derivation of the prime.
  • The equations for generating proofs of ballot correctness have been optimized.
  • Auxiliary keys have been eliminated in favor of using the existing keys for both ordinary and exponential ElGamal encryption.
  • A more flexible structure of ballot chaining has been introduced to allow for non-linear chaining or no chaining at all.
  • Smaller parameters suitable for testing are included.
  • The election record of this version should match that of the prior v0.95 and therefore require no verifier changes (with the exception of using the corrected prime).


Updates from previous version

  • The large prime p and corresponding cofactor r were changed to move the prime p further from 2^4096.
  • A section specifically about writing verifiers was added.
  • Various small clarifications and corrections were included.


  • Initial public release of specification for ElectionGuard

ElectionGuard Web Specification

The web version is being constructed by the open source community for the convenience of web viewing. However, it is incomplete at this time and should not be used for reference purposes. If you need a complete reference, refer to the official specifications.