Skip to content

Conversation

@eionblanc
Copy link

Issue

Fixes #760

Description

This pull requests creates range Chaum-Pedersen proofs and replaces disjunctive and constant Chaum-Pedersen proofs in use for selection limits and contest limits, respectively. Then, it removes placeholder selections from ElectionGuard. Unit testing is included.

Finally, cumulative voting is added with testing. Support for cumulative voting is a matter of defining contests by votes_allowed and votes_allowed_per_selection, noticing that number_elected is redundant. The votes_allowed determines the maximum count of votes each ballot may allot across the entire contest; votes_allowed_per_selection determines the maximum count of votes each ballot may allot to any particular selection in the contest. Some common contest types and their corresponding values include:

  • n-of-m: votes_allowed = n, votes_allowed_per_selection = 1,
  • cumulative: votes_allowed = n, votes_allowed_per_selection = n,
  • approval: votes_allowed = m, votes_allowed_per_selection = 1.

Testing

This builds as expected. Unit tests were adapted for the range Chaum-Pedersen proofs and elimination of placeholders as well as added for sample cumulative voting contests.

eionblanc added 30 commits June 30, 2022 18:46
…alization; fixed bug with determining limit of range proofs
…ictionaries to (flattened) list; all tests now pass, and disjunctive Chaum-Pedersen proofs are now unused
…erencing the specification for clarity of use
@SteveMaier-IRT SteveMaier-IRT changed the base branch from main to feature/cumulative-voting August 23, 2022 17:44
@SteveMaier-IRT SteveMaier-IRT merged commit e33e830 into Election-Tech-Initiative:feature/cumulative-voting Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ Range Chaum-Pedersen proofs are needed to efficiently support cumulative voting

2 participants