Efficient End to End Verifiable Electronic Voting Employing Split Value Representations
Total Page:16
File Type:pdf, Size:1020Kb
Efficient End to End Verifiable Electronic Voting Employing Split Value Representations Michael O. Rabin Ronald L. Rivest Harvard SEAS MIT CSAIL Columbia SEAS Cambridge, MA 02139 Email: [email protected] Email: [email protected] Abstract—We present a simple and fast method for conducting data, including all cast ballots, the final election outcome, end to end voting and allowing public verification of correctness and a proof of correctness of the election outcome. of the announced vote tallying results. In the present note Proof Server: An election server that produces a proof of voter privacy protection is achieved by use of a simple form of distributing the tallying of votes and creation of a verifiable proof correctness of the election outcome. In our method, the of correctness amongst several servers, combined with random proof server is implemented with a two-dimensional array representations of integers as sums mod M of two values. At the of independently-controlled computers; these servers are end of vote tallying process, random permutations of the cast also servers in our mix-net implementation (so we also votes are publicly posted in the clear, without identification of call them “mix-servers”). voters or ballot ids. Thus vote counting and assurance of correct form of cast votes are directly available. Also, a proof of the claim Tally Server: An election server that computes the election that the revealed votes are a permutation of the concealed cast outcome from the publicly posted list of decrypted cast votes is publicly posted and verifiable by any interested party. We votes. present two versions of the method, one assuring voter privacy Adversary: The adversary attempts to cause an incorrect and proof of correctness in the presence of information leaking devices, the other achieving the same goals as well as prevention election outcome to be accepted. (An accepted proof of denial of service by failing or sabotaged devices. of correctness as presented here, assures correctness of Advantages of this method are: Easy understandability by non- announced tally outcome no matter how the adversary cryptographers, implementers, and ease of use by voters and acted.) An adversary may also attempt to violate the election officials. Direct handling of complicated ballot forms. privacy of voters. Independence from any specialized cryptographic primitives. Verifiable mix nets without using public-key or homomorphic An election then comprises the following steps: cryptography, a novel result of significance beyond e-voting. Speed of vote-tallying and correctness proving: elections involving 1) Setup: The list of eligible voters is determined. The list a million voters can be tallied and proof of correctness of results of ballot questions is determined. (For presentation pur- posted within a few minutes. poses we assume only one question on the ballot, which may nonetheless require a complex answer such as a I. INTRODUCTION AND OVERVIEW preference ordering of the choices. For more questions the entire method may be repeated.) Cryptographic keys End-to-End Verifiable Voting (E2EVV) systems provide are set up as necessary for tablets and election servers. high confidence that errors and fraud can be detected and 2) Vote Casting: Each voter uses a tablet to enter her that the announced election outcome is correct. See [1]–[5] choice on the ballot question. The system uses some for some surveys and results about E2EVV. Cramer et al. [6] convention for providing each ballot with a unique ballot have also used secret-sharing to ensure robustness of a voting id bid. The choice is “encrypted” (more on that later), system, as we do in Section X. Recently, E2EVV systems and sent to the election servers with the bid. The voter have been used in actual elections [2] and are proposed for is given a printed receipt with the bid and the hash of use in new systems such as the STAR-Vote system in in Travis the encryption. County (Austin) Texas [7]. 3) Posting of Vote Records: The bid’s and encrypted The parties and agents involved in our E2EVV scenario are: choices are posted on the SBB at the end of election Voters: We assume n voters V1, V2,..., Vn. day. Tablets: Each voter uses a tablet to compose her vote. The 4) Verification of Postings: Voters may access the SBB to tablet can also print out a receipt for the voter. verify that the encryptions of their choices are correctly Election authorities: Individuals responsible for running the posted (comparing their receipt with the hash of the election. posted encryption for their ballot). Election Servers: Computers performing specific functions 5) Mixing: The mix servers anonymize the encrypted in the election. ballots by permuting their order and dissociating the Secure Bulletin Board (SBB): An election server providing encrypted ballots from identifying meta-data such as a secure public append-only record of election-specific voter names or bid’s. Each of 2m copies of the list of n encrypted ballots is independently mixed and re- earlier work [10] has the problem that a single election server encrypted. The resulting 2m permuted lists are posted must know how everyone voted; the present work remedies on the SBB. that defect. 6) Random Challenge: A “random challenge” (a long string of random digits) is derived by hashing the SBB Outline of paper. We begin in Section II with some pre- contents and/or from a public dice-rolling ceremony. liminary notation and a discussion of the properties of split- The unpredictability of this challenge to an adversary value representations, including methods for securely proving prevents the adversary from undetectably manipulating equality of the values represented. the election outcome. Then Sections III–IX discuss each phase of our method in 7) Proving consistency with cast votes: A random half detail, from initial setup to creating and verifying the final (determined by the random challenge) of the 2m lists of proof of correctness of the election outcome. encrypted ballots are partially decrypted, to check that Section X shows how to extend the basic method to one that the mixing was properly done. The method used here tolerates a certain number of failures of the mix-net servers, depends on properties of split-value vote representations by using Shamir’s secret-sharing method. to ensure that voter privacy is preserved. The partial Finally, Section XI provides some discussion of the practical decryptions are posted on the SBB for all to confirm. aspects of our methods, and Section XII concludes. 8) Posting and verification of election outcome: The other half of the 2m lists are all fully decrypted and II. PRELIMINARIES posted on the SBB. Anyone may check that they are A. Notation identical lists (albeit differently permuted). The final We let x y denote the concatenation of x and y. election outcome may be determined from any one of k these lists. B. Representations modulo M Adversarial model. We assume that the adversary is trying For a given race, votes and values used in the system are to “rig” an election by trying to force an incorrect election described by values modulo a given integer M. Here M is outcome to be accepted (because it appears to have been chosen large enough so that any voter choice (including a proven correct) or to learn how some particular voters have “write-in” choice) may be represented by a unique integer voted. modulo M. In the following, additions and subtractions of In Sections III–IX the adversary is assumed not to be values are performed mod M. interested in causing the election to fail (that is, to not produce Our methods are independent of the way such values are an election outcome or proof of correctness at all). Section X used to represent candidates or complex choices (as with deals with adversaries who attempt to deny service by failing. preferential balloting). Innovations re other E2E methods. The elements of our Some of our methods (see Section X) require that M be end-to-end voting method are reasonably standard, except that prime. • Ballots are “encrypted” in a novel manner, using commit- C. Split-Value Representations ments to secret-shared split-value representations of the voters’ choices. Our methods are adapted from those of [8], [9]. • No modular exponentiations or public-key operations are Definition 1: Let x be a value modulo M, so that 0 x < required, yielding substantial efficiency improvements. M.A split value representation of x is any vector ≤ • The mix-net operation is proved correct in a new manner: rather than proving each step of the mix-net to be correct, X = (u; v) the overall operation is proved correct. where u and v are values modulo M such that x = u + v • Because ballots are fully decrypted for the final tallying M . operation, there is no restriction on the tallying method (mod ) used. Complex tallying rules (e.g. IRV) and write-in Definition 2: We define the value of a split-value represen- candidates are easily handled. Furthermore, no zero- tation X = (u; v) modulo M to be knowledge proofs are required that the encrypted ballots VAL(X) = (u + v) mod M: are valid. We thus show how using Rabin’s Split Value Representation Note that there are M different split-value representations (SVR) of integers method greatly simplifies an E2E implemen- of any given value x, since u can be arbitrarily chosen from tation. SVR methods have been proposed for implementation 0; 1;:::;M 1 , and then the corresponding v derived via of secure auctions [8], [9]; the extension to voting involves, vf = (x u) mod− gM. − however, further innovations. Definition 3: A random split-value representation of a The current paper extends our previous works [10], [11] value x modulo M is a randomly chosen split-value repre- exploring such innovations; In particular, we note that our sentation of x modulo M.