Write an ElectionGuard Verifier #107
Replies: 7 comments
-
Hey @keithrfung I would like to work on this can u please assign it to me |
Beta Was this translation helpful? Give feedback.
-
@rexdivakar This is an open issue for anyone to code for Hacktoberfest. No need for assignment. |
Beta Was this translation helpful? Give feedback.
-
Im considering the feasibility of writing a Verifier in Java. Just starting to look at the python code, and Im wondering about the availability of the C++ library and source? |
Beta Was this translation helpful? Give feedback.
-
The original implementation is written in C and is available via
https://github.com/microsoft/electionguard-c
Additional related artifacts and expertise are available via Free & Fair.
…On Wed, Dec 9, 2020 at 11:14 AM John Caron ***@***.***> wrote:
Im considering the feasibility of writing a Verifier in Java. Just
starting to look at the python code, and Im wondering about the
availability of the C++ library and source?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#32 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AADU5PYKBMW6WLEQE7PZI3LST7EAPANCNFSM4RVAWFCQ>
.
|
Beta Was this translation helpful? Give feedback.
-
I have version 0.1 of a complete port of electionguard-python at https://github.com/JohnLCaron/electionguard-java. Wanted to start letting people know about it; I'm open to feedback etc. |
Beta Was this translation helpful? Give feedback.
-
Hello @JohnLCaron thank you so much for your contribution 🎉! My apologies for the delay in getting back. Thank you for correctly porting from the ElectionGuard python repo. If you could DM an email address to correspond we would like to arrange some swag but also have some questions we would like to ask based on your experience. (@kiniry please note the ElectionGuard-C library has been deprecated and will soon be archived). If you are serious about working on a verifier, please consider adding it here, and if you have any further questions we have started a discussions board. Thanks again for your work and interest. |
Beta Was this translation helpful? Give feedback.
-
Hey @rc-ms feel free to use my github profile address: jcaron1129 at gmail. |
Beta Was this translation helpful? Give feedback.
-
Writing a Verifier
To write a basic verifier there are two main parts:
1. Ballot Verifier
2. Decryption Verifier
To build a complete verifier consists of verifying the integrity of every ballot cast in an election and verifying that the aggregate ballot (formed by combining each of he individual cast ballots) and that all of the spoiled ballots have been correctly decrypted.
The steps provided by Dr. Josh Benaloh himself are listed here:
📝 Building a Verifier
📝 Verifier Construction
This example verifier was completed by a set of Josh Benaloh's students at University of Washington:
📝 Example Verifier by Rainbow Huang
The Ask
We'd love to see any part of a verifier.
Note: Any language and any verifier counts. Verify just a single step or write a Ballot Verifier, Decryption Verifier, or complete Election Verifier.
Ballot Verifier
Note: All steps reference Verifier Construction Document
Ballot verification consists of steps 3 and 4.
Decryption Verifier
Note: All steps reference Verifier Construction Document
A decryption verifier serves to verify the correct decryption of a ballot and is normally applied to either an individual spoiled ballot (consisting entirely of encryptions of ones and zeros) or an aggregate ballot (consisting of encryptions of the election tallies). The decryption verification consists of steps 6 through 9 – although steps 7 and 8 can be omitted when all guardians have completed their election tasks.
Above and Beyond
Note: All steps reference Verifier Construction Document
If you want more verification goodness, there are a few remaining steps to full verification of an election that are described here for completeness.
Stuck?
Post questions here or send them to [email protected]
Beta Was this translation helpful? Give feedback.
All reactions