100 likes | 118 Views
Learn about the Three Ballot voting system invented by Ronald Rivest in 2006. Follow a unique procedure for casting your vote with three ballots per voter and the "checker" verification step. Discover how this system enhances privacy and accuracy in voting processes.
E N D
Secure Voting Part 1
Introduction • We’ve seen that a fair voting system is hard (sometimes impossible) to obtain. • But we have not discussed the actual methods used of casting votes. • There are many methods used in the US: paper ballots, punch cards, optical scan devices, touchscreen, etc. • Not surprisingly, these methods all have problems. (Florida 2000, for example.)
The Three Ballot System • We will examine a clever new method invented by Ronald Rivest in 2006: http://people.csail.mit.edu/rivest/Rivest-TheThreeBallotVotingSystem.pdf • We’ve encountered Rivest before as one of the designers of RSA Encryption. • There are some similarities between cryptographic ideas and the Three Ballot System, but Three Ballot does not encrypt votes. (There are systems that do.) • Rivest: “ThreeBallot is hereby placed in the public domain—I am not filing for any patents on this approach, and I encourage others who work on extensions, improvements, or variations of this approach to act similarly. Our democracy is too important. . .”
Overview • We’ll first try out the voting system, then analyze it later and decide what its advantages are. • We’ll vote for president on ballots that I’ll pass out. • You will actually fill out three ballots to cast your vote. • We’ll run these ballots through a “checker” to make sure the votes are valid. • Then we’ll count the votes, and see who won. • If everything goes well, your vote will be absolutely private and you’ll be able to verify that your vote was counted.
Procedure for Voting • I’ll pass out a ballot to each voter. • Each ballot actually consists of THREE ballots, called a multiballot. • You need to follow the rules carefully to record your vote. • First, decide who you want to vote for. But don’t mark it down anywhere! • It’s okay to vote for no one but this must also be done according to procedure.
Marking your ballot • Proceed row by row through the candidates. You will either vote FOR the candidate or AGAINST the candidate. • (AGAINST means you are not voting FOR that candidate. On a traditional ballot, you would just leave the bubble blank, but we will do something different.) • To vote FOR a candidate, you must fill in exactly two of the bubbles on that candidate’s row. (You choose which two to fill in.) • To vote AGAINST a candidate you fill in exactly one of the bubbles on the candidate’s row. (You choose which one.) • No row can be left blank! • You can, of course, only vote FOR one candidate. • If you vote AGAINST every candidate, this means you wish to vote for no one. (This is allowed.)
Assigning the Random # • In the real Three Ballot system, each section of the multiballot would be printed with a random number. • So each ballot of your 3 ballots would have a different number printed on it. • We’ll fake this part of the process by having you make up your own random number. • Remember to make up a different one for each part of the ballot.
Taking your Receipt • One special feature of the Three Ballot system is you get a receipt. This will be important later. • Pick any one of your three ballots and copy it down. Copy each candidate, marked or unmarked bubble and Random #. • Important: Since you pick which of your 3 ballots you want for your receipt, no one will be able to tell from your receipt whom you voted for.
Submitting your ballot to a “checker” • Next, we need to make sure the multiballot is valid, meaning it was filled out correctly. • This step would best be done by a machine. But we will do it ourselves. • I’ll collect all the multiballots, then pass them out randomly to each of you. • So you will each have someone else’s multiballot, but have no way of knowing whose it was.
The “Checker” Process • Now each of you has someone else’s multiballot, and you will play the role of the “checker” machine to verify that the rules were followed. • A valid multiballot has either: (a) one row with 2 marks, and every other row with exactly one mark, or (b) every row with exactly one mark. • Also, there should be a different Random # on each of the 3 ballots. • If the multiballot is valid, tear along the lines to separate the multiballot in 3 ballots. • If the multiballot is not valid, draw a big X through it, and do NOT tear it into 3 ballots.