Abstract:
A number-theoretic based algorithm provides for secure receipt-free voting. A vote generating center generates a choice of votes for each voter or vote chooser. The votes are encrypted, shuffled, and conveyed to a vote chooser along with information regarding how the votes were shuffled without being intercepted en route. The information is preferably sent along untappable secure channels. The method can incorporate validation of generation and shuffling of the votes using chameleon commitment and interactive proofs. The invention can be realized by current-generation personal computers with untappable channels and access to an electronic bulletin board.

Description:
FIELD OF THE INVENTION 
     The present invention relates to a method and apparatus useful for secure receipt-free electronic voting and specifically, to number-theoretic based algorithms for secure receipt-free electronic voting. 
     BACKGROUND OF THE INVENTION 
     The ultimate goal of secure electronic voting is to replace physical voting booths. Achieving this goal requires work both on improving the efficiency of current protocols and understanding the security properties that these physical devices can provide. 
     Recently, it is observed in an article by J. C. Benaloh et al, entitled &#34;Receipt-free Secret-ballot Election,&#34; in STOC 94, pp. 544-553 (1994), that unlike physical voting protocols, nearly all electronic voting protocols give the voters a receipt by which they can prove how they voted. Such receipts provide a ready means by which voters can sell their votes or by which another party can coerce a voter to vote in a certain way. 
     Benaloh and Tuninstra give the first receipt-free protocol for electronic voting. In their scheme a trusted center generates for each voter a pair of ballots consisting of a &#34;yes&#34; vote and a &#34;no&#34; vote in random order. Using a trusted beacon and a physical voting booth the center proves to the public that the ballot indeed includes a well-formed (yes/no) or (no/yes) pair and at the same time proves to the verifier which pair it is. The physical apparatus ensures that by the time the verifier is able to communicate with an outsider, the verifier can forge a proof that the ballot is (yes/no) and also forge a proof that it is (no/yes). Thus, such a proof ceases to provide either proof as a receipt. 
     Independently, Nieni and Renvall tried to solve this problem in an article by Niemi et al, entitled &#34;How to prevent buying of votes in computer elections&#34; in ASIACRYPT &#39;94, pp. 141-148 (1994). They also use a physical voting booth where a voter performs multiparty computation with all the centers. 
     Both the Benaloh-Tuinstra and the Niemi-Renivall protocols illustrate that receipt-free secure voting is possible. However, their physical requirements are fairly cumbersome, and are not unlike those faced by participants in physical elections. An important open question is precisely what physical requirements are necessary for achieving receipt-free secure voting. 
     In accordance with the teachings of the present invention, a secure receipt-free voting scheme is described with a more practical physical requirement, that is the existence of a physically secure untappable private channel. 
     SUMMARY OF THE INVENTION 
     A secure receipt-free voting scheme is described where each voter does not leave evidence of how the voter voted by using a physically secure untappable channel. The term &#34;secure untappable channel&#34; refers to the fact that a message can be sent from a center without being accessed or detected by another party. Such an intappable channel is described in an article by C. Bennett et al entitled &#34;Quantum Cryptography&#34; in Scientific American, vol. 267, no. 4, Oct. 1992, pp. 50 to 57. The end result of using an untappable channel is that neither the voter nor another party can show or prove how a vote was cast or what was the message that was sent. Once a message is sent or received, the content may be changed rendersing proof of the message impossible. However, if the message is intercepted or detected in route or at the time of reception, the intercepting or detecting party can learn the content of a message prior to a time when a change was possible. Moreover, even if a non-secure channel is used, if the message travels along the channel without interruption or detection, by virtue of the protocol used in the present invention, determination of a particular vote after receipt at its destination is not possible. In other words, an untappable channel refers to the transmission of a message without interception or detection in route. 
     In the following description, the term `chameleon commitments` is used. A chameleon commitment is a message committing and decommiting protocol, where the cormitter can decommit as the coamitter committed, while the receiver can decomoit in any way, regardless of how the committer committed. 
     In accordance with the method of the present invention, there is a vote generating center, a vote counting center, and shuffling centers to transfer messages between the various centers and each voter. The method comprises the following three steps. 
     The first step is the generation by a voter generating center of a set of all possible votes for each voter. For simplicity, it will be assumed that the possible votes are two, namely 1-vote and 0-vote. For each voter i, the vote generating center posts encrypted 1-votes and 0-votes in random order. The committer commits to the ordering using chameleon bit commitments. The enter proves that the committer constructed the vote-pairs properly. The committer decommits the ordering only to the voter through an secure untappable channel. 
     The second step is the transferring the vote from the vote generating center to the voter via the shuffling centers. Each shuffling center shuffles the two votes for voter i through a shuffle-net. The committer commits with regard to how the votes are shuffled using chameleon commitments. Each shuffling center proves the correctness of its action. The committer reveals how the votes were shuffled only to the voter s through an untappable secure channel. 
     The second step is not mandatory, in which case the vote generating center may directly send the vote to the voter through an ordinary channel. 
     The third step is anonymous voting by the voter. By keeping track of the initial ordering of the pair, and how they were shuffled during the second step, each voter knows which vote is which. Each voter submits one of the received votes to the counting center through a secure anonymous channel. Then the counting center tallies the votes. 
     Implementation of a secure anonymous channel can be found in an article by C. Park et al entitled &#34;Efficient Anonymous Channel and All/Nothing Election Scheme&#34; in Advances in Cryptology, Eurocrypt &#39;93, 1993, pp. 248 to 259, or in pending U.S. patent application Ser. No. 08/376,568 now entitled U.S. Pat No. 5,632,430 entitled &#34;Secure Anonymous Message Transfer and Voting Scheme&#34; which is assigned to the same assignees as the present invention. Also, the invention results in a method which reduces the amount of communication and computation necessary to generate, transmit and check the proofs by combining multiple proofs into a single proof. 
     The present invention will be best understood when the following description is read in conjunction with the accompanying drawing. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 is a schematic illustration of a preferred embodiment for practicing the present invention; 
     FIG. 2 is a schematic illustration of message flow; 
     FIG. 3 is a schematic illustration of a preferred embodiment for practicing the present invention with shuffling centers; 
     FIG. 4 is a schematic illustration of a message flow with shuffling centers; and 
     FIG. 5 is a schematic illustration of a shuffling center. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     A preferred embodiment of a secure receipt-free voting scheme comprising the present invention will now be described with reference to FIGS. 1 and 2. In accordance with the scheme, the encrypted votes generated by vote generating center 10 by vote construct process 26 are posted on an electronic bulletin board 13 or other publicly accessible messaging means. The encrypted votes are pairs of 1-votes and 0-votes, permuted in random order, for each vote chooser 12(i). Then the vote generating center 10 secretly conveys to the vote chooser 12(i) through an untappable channel 16(i) how the encrypted votes for vote chooser 12(i) is ordered. At the same time, the vote generating center 10 needs to prove to the public that the vote was honestly generated and to the vote chooser that the center 10 had not sent false information in the secret message. These proofs are achieved by following prove process 20 as will be described below. 
     The vote chooser 12(i) chooses its ballot using the secret message from the vote generating center 10 through a physically untappable channel 16(i). The vote chosen by the vote choosers 12(1), 12(2), . . . 12() are transferred anonymously through a secure anonymous channel 18 to a vote counting center 15. The secure anonymous channel can be realized by the mixing centers 14(1), 14(2), . . . 14(n), where encrypted votes are successively processed by the mixing centers until the vote counting center 15 provides as its output a randomly, untraceably ordered set of unencrypted votes and the outcome of the tally. Each vote generating center 10, vote chooser 12(i), mixing center 14(i) and vote counting center 15 comprises a computing means, preferably a personal computer but it may also be a workstation or the like. 
     Having set forth an overview of the scheme, the detail of vote construct process 26, prove process 20, and the information being transferred securely through untappable channel 16(i) will now be described. 
     The vote generating center 10, by executing vote construct process 26, generates an encrypted pair of 0-vote and 1-vote for each vote chooser 12(i). The center follows the vote construct process for each vote chooser 12(i) with independently chosen random numbers. 
     The encrypted form of 1-votes and 0-votes need to be appropriate for input to the anonymous channel. Preferably, the method and apparatus described in U.S. patent application Ser. No. 08/376,568 , now U.S. Pat. No. 5,632,430, which is incorporated herein by reference, is used and the encrypted forms of 1-votes and 0-votes are selected to be: 
     
         V.sub.i.sup.0 =(g.sup.r.sbsp.i1 mod p, m.sub.0 ·y.sup.r.sbsp.i1 mod p) 
    
     
         V.sub.i.sup.1 =(g.sup.r.sbsp.i2 mod p, m.sub.1 ·y.sup.r.sbsp.i2 mod p)                                                    (1) 
    
     for independent random numbers of r i1  and r i2  for vote choose 12(i) and appropriately chosen common constants p, g, y, m 0  and m 1  for all vote choosers. The vote construct process 26 comprises calculating the above formulas with randomly chosen numbers r i2  and r i2 . 
     The vote generating center 10 posts on the bulletin board in the order of (v i   0 ,v i   1 ) with probability of one half and (v i   0 ,v i   0 ) otherwise. 
     The prove process 20 comprises three algorithms: commitment 21, prove 1-0 22, and decommitment 23. The algorithm commitment 21 is used to calculate and post a chameleon commitment of the above ordering and a random sequence used in the succeeding prove 1-0 protocol. The algorithm prove 1-0 is executed multiple times to prove that the center 10 generated the votes honestly, and the output is posted on bulletin board 13. The algorithm decommitment 23 is used to decommitment the chameleon commitment committed in algorithm commitment 21, through an untappable secure channel. The specific algorithms of prove 1-0 and chameleon commitment/decommitment will be described below. 
     The vote generating center sends an output of a decommitter, which is a chameleon decommitment, to the vote chooser 12(i) in through the untappable channel. 
     The vote chooser 12(i) verifies the correctness of the prove 1-0 algorithm and the validity of decommitments by verification process 24. If the correctness and validity are verified, the vote chooser 12(i) follows selection process 25 and chooses either one of the encrypted votes on the bulletin board, which expresses its opinion. The vote chooser is able to choose correctly because it would know how the encrypted votes w ere ordered from the chameleon decommitment. 
     The vote chosen by the vote chooser 12(i) will be input to a shuffle-net, together with other votes chosen by the other vote choosers. 
     Applying the scheme described above, a malicious party who coerces the vote chooser 12(i) to disclose its vote, will not receive a concrete proof of whether the chosen vote was a 1-vote or a 0-vote unless the vote generating center 10 is allowed to disclose the vote or the secure untappable channel 16(i) is tapped into. 
     The algorithms prove 1-0 and chameleon commitment/decommitment will now be described, The prove 1-0 algorithm involves a prover and a verifier. The prover is the vote generating center in this case. The verifier may be any entity, including vote choosers. The probabilistic behavior of the algorithm will be determined termined by an output of a suitable hash function, but it may also be a random beacon. 
     The algorithm comprises, given randomly permuted pair of (v i   0 ,v i   1 ) generated and posted as equations (1), showing that they are indeed a pair of 1-vote and 0-vote. Assume a random string has been committed using a chameleon commitment to the vote chooser. 
     prove 1-0 
     1 The prover uniformly chooses r&#39;, r&#34; and calculates 
     
         i E.sub.0 (v.sup.0)=(g.sup.r&#39; mod p,m.sub.0 ·y.sup.r&#39; mod p) 
    
     
         i E.sub.1 (v.sup.1)=(g.sup.r&#34; mod p,m.sub.1 ·y.sup.r&#34; mod p) 
    
     and posts E 0  (v 0 ), E 1  (v 1 ) in the order according to the committed string. 
     2a. With probability 1/2, the prover is asked to reveal r&#39; and r&#34;. The verifier checks if E 0  (v 0 ), E 1  (v 1 ) is made consistently. 
     2b. With probability 1/2, the prover is asked to reveal s1=r i1  -r&#39; and s2=r i2  -r&#34;. The verifier checks that v i   0  and v i   1  can be indeed generated from E 0  (V 0 ), E 1  (v 1 ) using s1, s2, g and y. 
     The chameleon commitment scheme will now be described. The chameleon commitment scheme involves a sender and a receiver. The sender is the vote generating center in this case. The receiver are the vote choosers. 
     The following is explained in terms of committing a single bit, 0 or 1, but can be easily transformed to commit multiple bits and strings. In the scheme, the receiver is assumed to know a satisfying α=g a  for public integer α. 
     Commitment Sender commits 0 by g r  and α·g r  for 1 to the receiver. 
     Decommitment Sender reveals r. The receiver calculates both g r  and α·g r  and determines what was the committed bit. 
     In order to modify the decommitment, the receiver may claim it received r-α instead of r, which is the case when the sender committed the other value. 
     A more detailed description of chameleon commitments can be found in article &#34;Minimum Disclosure Proofs of Knowledge&#34; by Brassard, Chaum and Crepeau in JCSS, pages 156-189, 1988. 
     After the vote generating center decommitted its random string, the vote chooser 12(i) may follow with invalidation process 27 to invalidate the commitment of the center. The invalidation process 27 comprises informing the center of the value α, so that the center also has the ability to provide false information afterwards, or to post the value a on a bulletin board 13. 
     To make sure that the vote chooser has the ability to modify the commitments, that is, the vote chooser knows the value α, the interaction may occur (1) between the vote generating center and each vote chooser, (2) before the commitment is applied, or (3)even before the start of voting. For example, the vote choosers may execute a cut-and-choose protocol to pick the constant α so that the vote chooser knows a with high probability. 
     In order to make the receipt-free property more secure, it is possible to incorporate a shuffle net 11 comprising multiple shuffling centers 11(1), 11(2), . . . 11(m), as shown in FIGS. 3 and 4. Each encrypted vote generated by vote generating center 10 for vote chooser 12(i) is passed through shuffle net 11 before reaching the vote chooser 12(i). As a result of so doing, a malicious party would not be able to determine how the vote chooser 12(i) voted unless it colluded with all the shuffling centers and vote generating centers, or wiretapped every secret channel 17(1), 17(2), . . . 17(m) between the shuffling centers and the vote chooser 12(i). 
     Each vote shuffling center comprises a computing means, preferably a personal computer but it may also be a workstation or the like. 
     The operation of the shuffle net and shuffling centers will now be described. Shuffling center 11(j) processes each message posted by the previous shuffling center 11(j-1) (or the vote generating center 10, when j=1) and posts the results of process shuffle 30 (FIG. 5) in permuted order until the last shuffling center 11 (m) posts the result of the shuffling. Each shuffling center conveys how the votes were shuffled to the vote chooser through an secure untappable channel 17(j). Each shuffling center proves it shuffled honestly and did not provide false information to the vote chooser in a manner similar to that of the vote generating center. This is achieved through executing process prove 31. 
     FIG. 5 illustrates the operation of a shuffling center 11(i). The shuffling center 11(i) executes the processes shuffle 30 and prove 31 and posts the outputs. The process prove 31 comprises an algorithm commitment 32 which chameleon commits the random string to the vote chooser. 
     The process prove 31 comprises three algorithms: commitment 32, prove shuffle 33, and decommitment 34. 
     In order to describe the process shuffle 30, let the input be encrypted shuffled votes, which are presented as: 
     
         X.sub.1 =(A.sub.1, A.sub.2) 
    
     
         X.sub.2 =(B.sub.1, B.sub.2) 
    
     The algorithm shuffle comprises generating a random number c 1  and c 2  and shuffling the encrypted votes X 1  and X 2  as 
     
         S(X.sub.1)=(A.sub.1 ·g.sup.C1 mod p,A.sub.2 ·Y.sup.C1 mod p) 
    
     
         S(X.sub.2)=(B.sub.1 ·g.sup.C2 mod p,B.sub.2 ·Y.sup.C2 mod p)                                                        (2) 
    
     and posting S(X 1 ) and S(X 2 ) in random order. 
     This order and a random sequence to be used in the algorithm prove shuffle 33 are committed using chameleon commitment and are posted on the bulletin board as the output of algorithm commitment 32. 
     The algorithm prove shuffle 33 is used to prove that the shuffling center executed the algorithm shuffle correctly. The prove-shuffle algorithm involves a prover and a verifier. The prover is the shuffling center in this case. The verifier may be any entity, including a vote chooser. The probabilistic behavior of the algorithm will be determined by an output of a suitable hash function, but it may also be a random beacon. The algorithm comprises a permuted pair of (S(X 1 ), S(X 2 )), showing that they are indeed generated from inputs X 1  and X 2  as equations (2). Assume a random string has been committed using chameleon commitment to the vote chooser. 
     prove shuffle 
     1. The prover uniformly chooses c&#39;, c&#34; and calculates 
     
         E(X.sub.1)=(A.sub.1 ·g.sup.C&#39; mod p, A.sub.2 ·y.sup.C&#39; mod p) 
    
     
         E(X.sub.2)=(B.sub.1 ·g.sup.C&#34; mod p, B.sub.2 ·y.sup.C&#34; mod p) 
    
     post E(X 1 ), E(X 2 ) in the order according to the committed string. 
     2a. With probability 1/2, the prover is asked to reveal c&#39; and c&#34;. The verifier checks if E(X 1 ), E(X 2 ) is made consistently. 
     2b. With probability 1/2, the prover is asked to reveal t 1  =c 1  -c&#39; and t 2  =C 2  -C&#34;. The verifier checks that E(X 1 ) and E(X 2 ) can indeed be generated from S(X 1 ), S(X 2 ) using t 1  ; t 2 , g and y. 
     The encrypted votes posted by the vote generating centers are successively processed by the shuffling centers 11(1), 11(2) , . . . 11(m) until the last center provides as its output a randomly, untraceably ordered set of encrypted votes for each vote chooser. 
     The vote chooser 12(i) chooses its ballot using the secret messages from the vote generating center and shuffling centers through secure untappable channels 16(i), 17(1),17(2) , . . . and 17(m). 
     Invalidation of chameleon commitments of shuffling centers can be realized in a similar manner as invalidated commitments of a vote generating center. 
     Having described a preferred method of practicing the present invention, preferred embodiments useful for practicing the invention will now be described. 
     FIG. 1 schematically illustrates a preferred embodiment for practicing the invention. The vote generating center 10, vote choosers 12(1), 12(2) , . . . 12(), mixing centers 14(1), 14(2), . . . 11(n) and vote counting center 15 use personal computers or workstations connected to a conventional electronic bulletin board 13. There are secure untappable channels 16(1),16(2) . . . 16() so that the vote generating center can send a secret message to each vote chooser. All elements (senders, verifiers, centers and the like) comprising the message transfer process interact by posting messages to and receiving messages from the bulletin board 13, except when the vote generating center sends decommitting messages to vote choosers via untappable channels 16(1), 16(2) . . . 16(). The vote generating center or vote choosers or vote counting center can also serve as mixing centers or vote counting centers. The personal computers either contain software to perform the method described above or alternatively contain in hardware or software embodiments of the elements described in FIG. 2. 
     FIG. 2 illustrates how messages are transferred to achieve receipt-free voting. For each vote chooser 12(i), vote generating center 10 generates encrypted votes using a vote constructor 26 as described above. The vote generating center then follows process prove 20 which comprises algorithms commitment 21, prove 1-0 22 and decommitment 23. The output of decommitment 23 is sent to vote chooser 12(i) through untappable channel 16(i). Other outputs of the vote generating center 10 are posted on the bulletin board 13. The vote chooser 12(i) follows the processes verification 24 and selection 25, and outputs selected votes from the encrypted votes on the bulletin board. The selected votes of all the vote choosers 12(1), 12(2) . . . 12() are anonymously transferred to vote counter 15 through anonymous channel 18. 
     FIG. 3 schematically illustrates a preferred embodiment for practicing the invention with a shuffle net. The vote generating center 10, vote shuffling centers 11(1), 11(2), . . . 11(m), vote choosers 12(1), 12(2), . . . 12(), mixing centers 14(1), 14(2), . . . 11(n) and vote counting center 15 use personal computers or workstations connected to a conventional electronic bulletin board 13. There are untappable channels 16(1),16(2) . . . 16() so that the vote generating center can send a secret message to each vote chooser. There are also untappable channels 17(1),17(2) . . . 17(m) so that the shuffling centers 11(1), 11(2), . . . 11(m) can send a secret message to vote chooser 12(i). All elements (senders, verifiers, centers and the like) comprising the message transfer process interact by posting messages to and receiving messages from the bulletin board, except for the vote generating center or shuffling centers which send decommitting messages to a vote chooser via untappable channels. The vote generating center or vote choosers or vote counting center or shuffling centers can also serve as mixing centers or vote counting centers or shuffling centers. The personal computers either contain software to perform the method described above or alternatively contain in hardware or software embodiments the elements described in FIGS. 4 and 5. 
     FIG. 4 illustrates how messages are transferred to achieve receipt-free voting with a shuffle net. For each vote chooser 12(i), vote generating center 10 generates encrypted votes which are posted on the bulletin board 13. Then shuffling center 11(1) reads encrypted votes from the bulletin board 13 and follows processes shuffle 30 and prove 31, and output shuffled votes to the bulletin board 13, while sending a decommitting message to vote chooser 12(i) through untappable channel 17(1). Similarly, the succeeding shuffling centers read the preceding centers output from bulletin board 13, and post its output to the bulletin board for the next shuffling center, while sending its decommitting message to vote chooser 12(i) through untappable channel 17(j). The last shuffling centers output will be read by the vote chooser 12(i), which follows the processes verification 35 and selection 36, and outputs selected votes from the encrypted votes on the bulletin board. The selected votes of all the vote choosers 12(1), 12(2) . . . 12() are anonymously transferred to vote counter 15 through anonymous channel 18. 
     FIG. 5 schematically illustrates a shuffling center 11(i). The shuffling center follows process shuffle 30 and process prove 31. Process prove 31 comprises algorithms commitment 32, prove shuffle 33 and decommitment 34. 
     While there has been described and illustrated a preferred method and apparatus of secure receipt free electronic voting, it will be apparent to those skilled in the art that variations and modifications are possible without deviating from the broad teachings and spirit of the present invention which shall be limited solely by the scope of the claims appended hereto.