Replies: 9 comments 6 replies
-
|
I have a bunch of mostly-minor suggestions for making it a bit clearer. Overview:ln 14:
Suggest "... that all the recorded votes have been accurately counted" ln 16:
I don't think "compatible with" quite captures the relationship with Internet voting here, in particular it doesn't make it clear that the RLA functionality and the expected (printout-based) cast-as-intended mechanism are both incompatible with Internet voting, nor the problem of not having receipt freeness. You could expand on this a bit in the Applicability chapter, in particular the distinction between "Election Guard's e2e-v can be used over the Internet (if you write your own cast-as-intended verification step)" and "ElectionGuard constitutes a secure solution for running elections over the Internet," which I don't think you're claiming. ln 22:
should be "... ballots that can be matched directly ... " Structureln 21:
Pick one of ln 23:
should be ln 30:
Ditto. Also, at the risk of being a complete pedant, the pretty ln 63: Footnote 7 (ref 9) points to (a duplicate of) the Fiat-Shamir paper but should point to "Cramer, R., Damgård, I. and Schoenmakers, B., 1994, August. Proofs of partial knowledge and simplified design of witness hiding protocols. In Annual International Cryptology Conference (pp. 174-187). Springer, Berlin, Heidelberg." Baseline Parametersln 7:
Should be ln 25:
Should be ln 31:
Should be ln 37:
I think it should be ln 47:
I haven't thought about this hard, but "assume" may be too ambiguous to be OK. In particular, I think you mean "hardcode and use these parameters" but a naive verifier-implementer might think it's OK to accept any parameters (i.e. "assuming" that they are the standard parameters, without checking) and might be tricked, for example by a malicious prover who sets |
Beta Was this translation helpful? Give feedback.
-
|
I know that someone has worked hard to put the spec on-line, but I really like having an elegantly formatted hard-copy pdf that I can print out and work against. I hope when the dust settles, the web version can be reformed into such a printable document. Printed versions of web pages are so much less, um, elegant. And, thanks, the on-line version is also very useful. |
Beta Was this translation helpful? Give feedback.
-
Comments on Section 9 Verifier Construction
4. Correctness of Selection Encryptions
should be "A value x is in Z_p^r if and only if x is an integer such that 0 < x < p and x^q mod p = 1 is satisfied." 5. Adherence to Vote Limits
6. Validation of Ballot Chaining
8. Correctness Partial Decryptions
should be: "(B) The given values a_i and b_i are both in the set Z_p^r." 9. Correctness of Substitute Data for Missing Guardians
should be: "(B) The given values a_i and b_i are both in the set Z_p^r." 10. Correctness of Construction of Replacement Partial Decryptions
12. Validation of Correct Decryption of Spoiled Ballots
|
Beta Was this translation helpful? Give feedback.
-
Academic Review of ElectionGuard SpecificationAttached to this post are the results from my most recent academic review of the specification. Comments are placed directly on the PDF and Word Doc, respectively. This review was also sent via email, but I'm including it here for centralized tracking: ElectionGuard Specification v0.95 - Boucher Review VerifierThe comments raised in the attached documents are also included as warnings in the output of a verifier that I wrote in Python. Here is an example of the verifier's current warnings, for reference: As these issues are resolved, or if they are shown to be invalid, please communicate as such to me and I will update the verifier warnings respectively. Change LogOn a related note, if it's possible to create a change log document that tracks changes to the specification, that would be very useful for maintainers of verifiers. |
Beta Was this translation helpful? Give feedback.
-
|
Yup. These are all legit typos and good suggestions for clarification. Note that some of the typos seem to be a result of the transcription from the pdf of v0.95 to the online GitHub version, so we'll need to get these harmonized as we move forward. |
Beta Was this translation helpful? Give feedback.
-
|
https://www.electionguard.vote/spec/0.95.0/4_Key_generation/ Details of Key Generation the last sentence should read some variant of: Otherwise it reads as if the coefficient a i,0 = Ki, instead of its committment = Ki,. |
Beta Was this translation helpful? Give feedback.
-
|
https://www.electionguard.vote/spec/0.95.0/9_Verifier_construction/#adherence-to-vote-limits Adherence to Vote Limits
for clarity, could be:
|
Beta Was this translation helpful? Give feedback.
-
|
https://www.electionguard.vote/spec/0.95.0/4_Key_generation/ Labels are reversed, should be |
Beta Was this translation helpful? Give feedback.
-
|
https://www.electionguard.vote/spec/0.95.0/4_Key_generation/ The meaning of R_i,l is confusing. AFAICT, this is T_l auxiliary public key? Theres no other random nonce used in generating the partial key backup. In which case I guess its just R_l, not R_i,l. And the E is the same for all guardians, but I guess youre trying to be general? Maybe this is clearer: |
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As we prepare for the next rev of the ElectionGuard Specification, we opened this thread for anyone to offer feedback to make it more understandable, accessible, or address any missing features or capabilities.
0.95 Specification
Beta Was this translation helpful? Give feedback.
All reactions