I read some e-voting questions here, but most deal with simple things like securing the connection from external attackers. But they usually put implicit trust on the central voting authority to be honest.

So assume you have 1000 Voters, and a single person (the Tallier) who tallies (i.e. counts) the votes. Each Voter knows what his own vote is (incomplete information), but only the Tallier knows how everyone voted (the complete picture). The Tallier wants to lie about the results, however.

Because the Voters don't trust the Tallier to be honest, they require him to provide them with some sort of a log. Each Voter then examines that log.

Can we make the system in such a way that it is impossible for the Tallier to provide a fraudulent log without a large percentage of Voters becoming aware that something is wrong?

I imagine something similar to SHA1 checksums, where a server cannot provide a file such that the SHA1 checksum will. Only in this case each voter has incomplete information (he only knows about his own vote).

Also, voters would need to detect if the Taller has invented non-existent voters.

Is there any research on the subject?

  • 1
    Loads of research, really. Blockchain is a bit similar. – Deer Hunter Feb 29 '16 at 16:54
  • ...and you don't have to trust the Tallier to count votes (cue Full or Partial Homomorphic Encryption). – Deer Hunter Feb 29 '16 at 17:00
  • @DeerHunter Does that mean that the Blockchain can be used for e-voting in some fashion? This is a very interesting idea. – sashoalm Feb 29 '16 at 17:36
  • Cryptos have lots of interesting 'social improvement' ideas. Not all of them are practical, or palatable to the powers-that-be. – Deer Hunter Feb 29 '16 at 17:48

For paper ballots you have the tallier being audited or watched constantly by 3 people from your 1000 voters (scrutineers).

It could be something similar with e-voting, I don't know what exactly would work. Maybe you have one way data entry for the vote to go into secure government buildings, with giant display screens where any voter can see a list of anonymous vote receipts to gain confidence that their vote was counted, and a ceremony for ensuring the counting machines inside are working correctly and isn't tampered with during the vote.

| improve this answer | |

I recently posted an answer to a question about the security of a voting system.

The external constraints for a vote are:

  • secure identification of all voters
  • impossibility to change the value of each vote
  • anonymity of each vote : nobody including the (human) tallier can know who voted what

If you cannot trust the tallier system, you cannot trust the results. If you relax the anonymity, you can build a system where you publish all the votes so that each voter can control that his own one has correctly been processed. But you still need a third party authority to process the possible problems when a voter declares that his vote has been faked. If that part is manual, there is a risk of requiring as much human ressources as for a manual ballot.

The only way I can imagine is to setup a comitee of different persons each controled by the others able to:

  • develop or analyze a voting system
  • build and install it or control the build process and the installation on a production system.
  • control the system all the time of the election
| improve this answer | |

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.