Open dsernst opened 2 years ago
TL;DR: Don't publish encrypted votes in real time as they come in, but wait until shuffling/unlocking stage to remove the auth tokens, re-sort them (breaking links to voters' identities), then publish.
Also related to https://github.com/dsernst/siv/issues/43 Smart Contract, since the financial guarantee can help people feel more confident that their encrypted vote will be in the final posting.
Don't publish them until the end of the election
Wrote up about this here too: https://docs.siv.org/research-in-progress/information-theoretic-security
[ Began writing up some notes on this ~ Dec 3, 2021: ]
Can we allow voters to submit their votes, and have strong cryptographic confirmation that it was received, without ever revealing the links between encrypted votes & auth tokens?
This would give the election data published by SIV "information-theoretic security", on top of its existing "computational security" (discrete log hardness).
This makes SIV resistent to future improvements in computation, including theoretical quantum attacks (the communication channel also needs upgrading to a quantum-resistent key exchange cryptosystem like NTRU).
Simultaneous Security Goals:
Proposed Protocol:
A
to each.V
, encrypts their voteE(V)
, and submits their vote along w/ their secret auth token to adminA & E(V)
.Verification #
with their plaintext vote, before encrypting.E(V)
; b. sends the voter a signed confirmation message that their vote has been received, including a hash of their encrypted voteH(E(V))
; c. Unlike in SIV v1, the admin can now safely publish an updating list, if desired, of who has cast a vote (https://github.com/dsernst/siv/issues/46), so observers can follow along as votes are cast, without risking the encrypted votes being linked to individual voters.E(V)
and accompanyingH(E(V))
. It's important that these be in a different order than received, such as sorted ascending, to not leak the links between the identities posted in 4c. b. The Verifying Observers then perform the same v1 cryptographic shuffles + partial decryptions, all published w/ accompanying ZK Proofs.Verification #
s, for all to see, tally, & verify.