-
Notifications
You must be signed in to change notification settings - Fork 25
Add support for writeins and overvotes. #272
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
Merged
SteveMaier-IRT
merged 8 commits into
Election-Tech-Initiative:main
from
jeffspel-crypto:writeins_and_overvotes
May 12, 2022
Merged
Add support for writeins and overvotes. #272
SteveMaier-IRT
merged 8 commits into
Election-Tech-Initiative:main
from
jeffspel-crypto:writeins_and_overvotes
May 12, 2022
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…tests happily proceed on my machine.
… that should help with interop.
…crypto/electionguard-cpp into writeins_and_overvotes
…ng. Updated some test data.
SteveMaier-IRT
approved these changes
May 12, 2022
Contributor
SteveMaier-IRT
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
Link your PR to an issue
Fixes #173,226
Description
This changes adds support for writeins and overvotes. The padding has been changed on hashed elgamal encryption and truncation support was added. Writeins and overvotes are detected in the encryptContest method and hashed elgamal encryption is performed whether or not data to encrypt is available. The encryption is always performed so that when viewing the CiphertextBallotContest it cannot be determined if there was an overvote or writein without decrypting. Serialization/deserialization has been updated for PlaintextBallotSelection and CiphertextBallotContest. Extended data in the PlaintextBallotSelection has been changed to writein data in order to be more specific and clear.
Testing
Added a test for hashed elgamal to test the truncation case. The hashed elgamal tests have been updated since the ciphertext produced has been changed to always be 512 bytes. Overvote failure tests have been updated to assume success when overvote cases are encountered. A test has been added to support an overvote and writein case.