Is there a cryptographic protocol which, at least in theory (and under standard cryptographic assumptions) enables people to securely vote from their homes? I could see how the various problems might be addressed (such as: preventing people from voting twice, producing proof that the vote was registered while revealing no information about who the vote was for) except for one: preventing coercion (that is making sure that the voter isn't being bribed or otherwise forced to vote a certain way). This seems to be impossible, in principle, without the voter being physically present at a voting center with overseers watching, but maybe I'm not sufficiently thinking outside the box?..

  • 2
    $\begingroup$ Maybe a computer embedded in the brain could solve the coercion problem. $\endgroup$ – Bjørn Kjos-Hanssen Sep 11 '18 at 20:29
  • 2
    $\begingroup$ What if, the voter enters a password, and the vote is only registered if the password is correct, but there is no indication whether the password was correct. This has the drawback that some people will enter the wrong password by mistake and won't realize that, but maybe you can improve on that somehow. $\endgroup$ – Vanessa Sep 12 '18 at 10:44
  • $\begingroup$ @Squark Brilliant! That's exactly the sort of thing I should have thought of. Deniable passwords. The voter is issued many "fake" passwords and 1 real one. When logging in under duress, he can enter a fake password and get a fake confirmation. If you make this into an answer, I'll accept. $\endgroup$ – Aryeh Sep 12 '18 at 12:22
  • $\begingroup$ Yes, I thought about fake passwords. The problem with that is, if every voter gets 1 real password and 4 fake passwords (say) then the attacker can demand to see the voter voting with 5 different passwords. Now, you can say that once a fake password is entered, any following vote is not registered, even if using the real password. This protects from forcing/bribing voting for a given candidate, but doesn't protect from forcing/bribing of not voting at all. $\endgroup$ – Vanessa Sep 12 '18 at 12:34
  • 1
    $\begingroup$ It doesn't make a lot of sense to me to ask "what is the state of the art" in a research area and then quickly accept an original idea. Nothing against Squark's idea, which is great, but why not wait for some answers with references to the literature? $\endgroup$ – usul Sep 13 '18 at 14:37

(Summarizing the discussion in the comments)

A mechanism to defend against bribes/coercion:

The simplest variant is, make the voter enter a password in order to vote, but do not provide an indication whether the password was correct. That is, if the voter enters a correct password and votes, the vote is registered, whereas if the voters enters an incorrect password and votes, the vote is ignored but the result looks the same on the client side. This has the drawback that, if the voter enters a wrong password by mistake, their vote will not count and they won't even know this.

The drawback can be somewhat ameliorated by allowing tolerance to small edit distance. A more complex solution is, provide each voter with one true password and a way to randomly generate exponentially many (but still sparse w.r.t. edit distance) false passwords, s.t. even an attacker who knows the generating algorithm cannot tell whether a given string was generated by it (alternatively, just sample the true password from the same distribution).

  • 2
    $\begingroup$ I think this underestimates the challenges. A major challenge is that we want both verifiability and coercion-resistance. This answer ignores verifiability. Most methods for verifiability introduce problems for coercion-resistance, and just using a password doesn't make those go away. Something more sophisticated is needed. There's a reason why there's an entire line of work in the literature on this subject; it's not that researchers didn't think of this idea. $\endgroup$ – D.W. Sep 12 '18 at 21:17
  • $\begingroup$ I did not claim the researchers didn't think of this idea! I just tried to answer the question to the best of my ability, and the OP said they find this answer valuable. How do methods for verifiability introduce problems for coercion resistance? That sounds interesting. $\endgroup$ – Vanessa Sep 12 '18 at 22:05
  • 2
    $\begingroup$ The methods for verifiability involve ways for voters to verify that their vote was included in the final tally. That's exactly what you don't want if you want to prevent the coercer from knowing whether the vote the voter entered will count or not. Thus, your proposal that "the result looks the same" to the voter is inconsistent with the natural approaches to verifiability. Resolving that tension requires some non-trivial, sophisticated methods. $\endgroup$ – D.W. Sep 13 '18 at 0:55
  • $\begingroup$ @D.W. What are those sophisticated methods? $\endgroup$ – Demi Sep 13 '18 at 23:31
  • $\begingroup$ @Demi, I'd refer you to my answer where I give some pointers to where you can start finding some of the literature on that topic. $\endgroup$ – D.W. Sep 14 '18 at 0:36

This question is probably too broad to be answerable here, because the answer depends on what kinds of security requirements you have, what the threat model is, and what assumptions we're willing to make -- there are many different versions of those. In other words, the "secure voting" problem is not one problem, but a broad class of problems. I suggest doing a literature search, reading some of the classic papers, then see if you have a more specific question. You could start with papers published at EVT and WOTE use them to seed your literature search.

If you're specifically interested in coercion, I suggest looking at Juels, Catalano, and Jakobson (WPES 2005) and Civitas (IEEE S&P 2008). Those are two important early papers. Also, by doing a search on papers that cite them, you'll be able to turn up a lot of more recent work on coercion.

All of these schemes have something in common; they do require some kind of trusted channel to the voter or some situation where the voter does register in person in a supervised environment. They might not require supervision during the time of voting; that can be pushed to a setup phase.

Also, the solutions may depend on whether you are willing to assume that voters have a personal device (e.g., smartphone) and whether voters are willing to trust it. Obviously the problem gets easier if you answer that in the affirmative.

  • $\begingroup$ Thank you for the detailed answer. I'm not a cryptographer, so I wouldn't even know to ask the right questions. I understand from your response that the problem of securely voting from home is far from being solved, even theoretically. $\endgroup$ – Aryeh Sep 11 '18 at 20:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.