Applied Cryptography: Protocols, Algorithms and Source Code in C, 20th Anniversary Edition
by Bruce Schneier
CHAPTER 6
Esoteric Protocols
6.1 SECURE ELECTIONS
Computerized voting will never be used for general elections unless there is a protocol that both maintains individual privacy and prevents cheating. The ideal protocol has, at the very least, these six requirements:
- Only authorized voters can vote.
- No one can vote more than once.
- No one can determine for whom anyone else voted.
- No one can duplicate anyone else's vote. (This turns out to be the hardest requirement.)
- No one can change anyone else's vote without being discovered.
- Every voter can make sure that his vote has been taken into account in the final tabulation.
Additionally, some voting schemes may have the following requirement:
- 7. Everyone knows who voted and who didn't.
Before describing the complicated voting protocols with these characteristics, let's look at some simpler protocols.
Simplistic Voting Protocol #1
- (1) Each voter encrypts his vote with the public key of a Central Tabulating Facility (CTF).
- (2) Each voter sends his vote in to the CTF.
- (3) The CTF decrypts the votes, tabulates them, and makes the results public.
This protocol is rife with problems. The CTF has no idea where the votes are from, so it doesn't even know if the votes are coming from eligible voters. It has no idea if eligible voters are voting more than once. On the plus side, no one can change anyone else's vote; but no one would bother trying to modify someone else's vote when it is far easier to vote repeatedly for the result of your ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access