siv-org / siv

Secure Internet Voting protocol
https://siv.org
Other
13 stars 9 forks source link

Very hard for anyone else to run or verify the Shuffle & Decryption ZK Proofs #241

Open dsernst opened 3 months ago

dsernst commented 3 months ago

The current SIV election status page doesn't currently:

Why?

All three of these TODOs would be especially useful for NDP, since it provided unforgeable auth signature proofs, in order to be able to say anyone can independently verify end-to-end that every vote came from a single unique (anonymized) US passport.


Backstory

We hadn't leaned hard into these shuffle & decrypt proofs historically, since we usually don't have independently verifiable auth proofs, so the threat model usually was that the SIV server already could have switched out votes in the pre-shuffle steps. So voter's already needed to confirm their vote is in the final unlocked tallies anyway.

(Another related solution we've also been exploring is a better guarantee that accepted votes don't get lost between when vote is received (protocol step 3) and when votes get shuffled (protocol step 4). Then the independently verifiable Step 4 Shuffle Proofs and Step 5 Partial Decryption Proofs would also be more useful, because voters would get much more verification power from just checking their submitted vote at time-cast, with less need to come back after the final results are posted.)

SIV itself has been using the shuffle and decryption proofs to ensure that other Privacy Protectors aren't cheating (e.g. tampered client), so they were still useful to us.

But they alone weren't enough for independent verifiers to protect against a malicious SIV server. Unlike Verification #s, which do let voters fully verify steps 2, 3, 4, and 5 against a malicious SIV, and are much simpler to explain and understand, anyway. So we had always emphasized those far more.