Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added range Chaum-Pedersen proofs and eliminated placeholders #761

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