Method and apparatus for secure anonymous message transfer and electronic voting

Abstract: A number-theoretic based algorithm provides for secure anonymous message transfer and electronic voting. A voter or sender may cast an encrypted vote or message that is processed through n centers in a manner which prevents fraud and authenticates the votes. Any interested party call verify that each vote has been properly counted. The invention can be realized by current-generation personal computers with access to an electronic bulletin board.

Description: The present invention relates to secure anonymous message transfer and specifically, to number-theoretic methods and apparatus for secure electronic voting. Secure electronic voting is one of the most important applications of secure multi-party computation. Yet despite extensive work on this subject, no complete solution has been found in either the theoretical or practical domains. Even the general solutions to secure multi-party protocols fail to exhibit all of the desired security properties of elections. A number of more practical voting protocols have been proposed, with widely differing security properties. Schemes based on anonymous channels/mixers have become very popular due to their superior efficiency and the arbitrary nature of the votes that are allowed. Mix-net anonymous channels were first proposed by D. Chaum in an article entitled "Untraceable Electronic Mail, Return Address, and Digital Pseudonyms" in Communication of the ACM, ACM, 1981, pp 84 to 88. Subsequently, many voting schemes have been proposed based on this basic technique as in an article by A. Fujioka et al, entitled "A Practical Secret Voting Scheme for Large Scale Elections," in Advances in Cryptology - Auscrypt '92, 1992, pp. 244 to 251, and in an article by C. Park et al, entitled "All/Nothing Election Scheme and Anonymous Channel" in Advances in Cryptology, Eurocrypt '93, 1993, pp. 248 to 259. These schemes are efficient, but have the following shortcomings. The simplest of these schemes does not allow a voter to securely protest the omission of a vote without allowing a malicious voter to block the election. After the election, each voter is typically responsible for checking that their vote was correctly tallied. There is usually no way for an outside observer to later verify that the election was properly performed. Furthermore, some anonymous channels are vulnerable to an attack as described in an article by B. Pfitzmann entitled "Breaking an efficient anonymous channel" in Eurocrypt '94 Proceedings, 1994, pp. 339 to 348. In accordance with the teachings of the present invention, a secure anonymous channel and a voting scheme are described in which an outside observer can verify that the election was indeed performed correctly. Therefore omission of a vote can be detected by anyone, without fear of a malicious voter blocking the election. Furthermore, the present invention also helps thwart an attack proposed by B. Pfitzmann, supra. A secure anonymous channel is described where multiple messages to a same destination are tranferred securely though multiple mixing centers. If the messages to be sent are votes where the destination is a vote-counting center and the first mixing center accepts messages of valid voters, then this scheme becomes a secure voting scheme. The present invention generally refers to an anonymous message transfer scheme where secure electronic voting is a practical application of the more general invention. In the scheme, encrypted messages from the senders are successively processed by the mixing centers until the last center outputs a randomly, untraceably ordered set of unencrypted messages. That is, the encryptions used for the anonymous channel have been stripped off or decrypted. At a high level, the senders first post their encrypted messages. mixing center i processes each message posted by mixing center i - 1 (or the senders, when i = 1) and posts the results in permuted order. A three-step procedure is followed by each mixing center i . The first step is posting decrypted results of each input message. The second step is mixing the results and posting them in permuted order. The third step is proving that the centers correctly executed the first and second steps. The Fiat-Shamir technique as discussed in an article entitled "How to Prove Yourself: Practical Solutions to identification and signature problems" in Advances in Cryptology - Crypto '86, Springer-Verlag, 1986, pp. 186 to 199, can be used to make the above proofs non-interactive. At the conclusion of the three step process or at a later time, any interested party can check the resulting proofs to confirm that the messages have all been handled correctly. With this method for achieving universal verifiability there is no need for adding redundancy to the messages. 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 following description and drawings disclose, by means of an example, the invention which is characterised in the appended claims, whose terms determine the extent of the protection conferred hereby. In the drawings:- Figure 1 is a schematic illustration of a preferred embodiment for practicing the present invention; Figure 2 is a schematic illustration of message flow; Figure 3 is a schematic illustration of a channel checker; and Figure 4 is a schematic illustration of a message constructor. An anonymous message transfer scheme illustrating the invention will now be described with reference to Figures 1 and 2. In accordance with the scheme, encrypted messages from senders 10(1), 10(2), 10(3)...10(1) are successively processed by the mixing centers 11(1), 11(2), 11(3)...11(n) until the last center provides as its output a randomly, untraceably ordered set of unencrypted messages. Voters cast their ballot by means of a sender which comprises a computing means, preferably a personal computer but it may also be a workstation or the like. Similarly, each mixing center comprises a computing means, preferably a personal computer, a workstation or the like. The senders first post their encrypted messages preferably on an electronic bulletin board or other publicly available messaging means. Mixing center 11( i ) processes each message posted by the previous mixing center 11( i - 1) (or the senders 10, when i = 1) and posts the results in permuted order until the last mixing center 11( n ) posts the result or tally of the voting. Having set forth an overview of the scheme, the detail of how a message m is initially encrypted by a sender and how a mixing center 11( i ) processes each message will now be described in detail. Initially, entities participating in the voting, i.e. the senders and the mixing centers, need to agree on using prime numbers p and q where the following relationships exist for some integer k : p = kq + 1. The value g ' is a generator mod p and g is equal to g = ( g ') k mod p . Assume there are n mixing centers. Each mixing center 11( i ) generates a integer x i ∈ Z q * and publishes y i = g x i mod p as its public key and keeps x i as its secret key. For the purpose of simplification, w i will represent the product y i +1 y i +2 ··· y n and w n = 1. The message from a sender 10 is m . The sender generates a random number r 0 , and posts ( G 1 , M 1 ) = ( g r 0 mod p , ( w 0 ) r 0 · m mod p) for use by mixing center 11(1). For ease of explanation, the three steps of decrypt, shuffle and prove of the centers will be described in this order. However, implementation does not necessarily require the steps to be performed in this order. In response to input ( G i , M i ), mixing center 11 i ( i = 1, ···, n - 1) generates a random number r i (independently for each message-pair) and calculates the following values using the secret key x i : G i +1 = G i · g r i mod p = g r 0 +···+ r i mod p H i +1 = G x i i mod p M i+ 1 = M i · w r i i / H i+i mod p = w r 0 + ··· +r i i · m mod p and posts ( H i +1 ) corresponding to ( G i , M i ). The value ( G i +1 , M i+ 1 ) is posted, permuted with the other processed messages for use by mixing center 11 ( i + 1). The mixing center 11( i ) executes a prove-DECRYPT algorithm for inputs ( G i , g , yi , H i +1 ). The description of the algorithm prove-DECRYPT is given in below. Execution of this algorithm proves that mixing center 11( i ) generated H i +1 correctly. Mixing center 11( i ) then executes a prove-SHUFFLE algorithm, a description of which is given below. Execution of this algorithm proves that the mixing center shuffled honestly. Mixing center 11( n ) recovers m from input ( G i , M i ) by computing: m = M n /G x n n mod p . The mixing center 11( n ) then executes the prove-DECRYPT algorithm for inputs ( G n , g , y i , M n / m ). The algorithms prove-DECRYPT and prove-SHUFFLE will now be described. The algorithms involve a prover and a verifier. The verifier may be a random beacon or an output of a suitable hash function, as is described below. In order to describe the algorithm prove-DECRYPT, the first phase of the protocol is abstracted as follows. Given G , the first step comprises performing decryption in order to generate H = G x mod p . The proof comprises, given ( G , g , y = g x mod p, H), showing that H is generated in this manner from G . The algorithm is as follows: prove-DECRYPT 1. The prover uniformly chooses r ∈ Z p -1 . Let y ' = g r mod p G ' = G r mod p . The prover sends ( y ', G '). 2a. With probability 1 / 2, the verifier asks the prover to reveal r . The verifier checks that y ' and G ' are consistent with r . 2b. With probability 1 / 2, the verifier asks the prover to reveal r ' = r - x . The verifier checks that y ' = g r ' · y mod p and G ' = H · G r ' mod p . end of algorithm In order to describe the algorithm prove-SHUFFLE, the second step is abstracted as follows.Given constants g , w and the second step comprises generating r 1 , r 2 , ... and a permutation π and generating a set of pairs Here a (1) / i refers to G 's and a (2) / i refers to M/H 's in the first step. The proof comprises, given ( A , B , g , w ), showing that B could be generated in this manner from A . The algorithm is as follows: prove-SHUFFLE 1. The prover uniformly chooses t ∈ Z p -1 , random permutation λ and The prover sends C. 2a. With probability 1 / 2, the verifier asks the prover to reveal λ and t i . The verifier checks that C is consistent with A , λ, t i in that way. 2b. With probability 1 / 2, the verifier asks the prover to reveal λ' = λ o π -1 and t' i = t i - r' i . The verifier checks that C can be generated from B in the following way: For holds. End of algorithm Each execution of the algorithms prove-DECRYPT or prove-SHUFFLE finds a cheating prover with probability 1 / 2. In order to raise this probability closer to 1, independent executions are necessary. While these algorithms are given in terms of a verifier, a more efficient solution is to use the Fiat-Shamir method of eliminating interaction. First, the protocol is run many times (on the order of 40 or 60) in order to make the probability of withstanding all of the challenges exceedingly small. Then the verifier is replaced by a suitably "random looking" hash function which generates the challenges from the prover's posting in Step 1 of the algorithms prove-DECRYPT or prove-SHUFFLE. This heuristic of Fiat-Shamir method is described in an article entitled "How to Prove Yourself: Practical solutions to identification and signature problems" in Advances in Cryptology- Crypto '86, Springer-Verlag, 1986, pp. 186 to 199. This way the prover can send all the messages to the verifier in a single message. This message is posted for public access. The bulk of the computation and communication required to execute algorithm prove-DECRYPT for each of the messages from previous centers can reduced. By combining many of the proofs into a single proof, the centers can efficiently prove they decrpyted all of the inputs correctly. It is necessary to show that the following equation holds for each pair ( G ( j ) , H ( j ) ). H ( j ) = ( G ( j ) ) x mod p The above equations are reduced to the following single equation using randomly chosen coefficients c j : A center can execute the above protocol where G = Π i ( G ( j ) ) c j and H = Π i ( H ( j ) ) c j . Advantage is made of the fact that if one or more of the original equations is wrong, then if the coefficients are chosen randomly, the final equation will also be wrong with high probability. These random coefficients must not be chosen by the prover, but should be provided by a verifier, beacon or as the output of a suitable hash function. Similarly, as a variation of the above scheme, the following two round anonymous channel can be constructed. In the two round anonymous channel, each mixing center 11( i ), on inputs ( G i , M i ) first shuffles the inputs to ( G i · g r i mod p , M i · w r i0 mod p ) and passes the shuffled values in a random order to the next center. Each center executes the prove-SHUFFLE algorithm (with some constants fixed to this scheme) to prove the correctness of the information. When the shuffled messages are finally provided to the mixing center 11( n ), mixing center 11( n ) publishes G n +1 and M n +1 for each message. Then each mixing center 11( i ) publishes H i = G x i n +1 . The mixing center 11( i ) executes the prove-DECRYPT algorithm with input ( G n +1, g , H i ) to prove the correctness. The message m can be recovered by M n +1 /ΠH i . In order to avoid vote-duplication attack, each sender may sign and encrypt the message to be posted. That is, the sender may sign the output of a message to be posted. By signing the output of a message constructor (described below) and then encrypting the message using the public key of the first center 11(1), a malicious sender cannot copy another sender's message, since the copied message would not have the correct signature. Moreover, the message is encrypted in a manner such that the message cannot be decrypted, nor can a different signature be affixed to the encrypted message. Alternatively, the first center may conceal all of the message from the senders until each sender has posted a note or message. In order to prevent the first center 11(1) and a malicious sender from conspiring, it is possible to use a conventional secure commitment scheme such as that discussed in an article by M. Naor, entitled "Bit commitment using pseudo-randomness," in Advances in Cryptology - CRYPTO '89, 1989, pp. 128 to 136. Having described a preferred method of practicing the present invention, preferred embodiments useful for practicing the invention will now be described. Figure 1 schematically illustrates a preferred embodiment for practicing the invention. The senders 10(1), 10(2), 10(3),... 10(ℓ) and mixing centers 11(1), 11(2), 11(3)...11( n ) use personal computers or workstations connected to a conventional electronic bulletin board 12. All parties (senders, verifiers, centers and the like) to the message transfer process interact by posting messages to and receiving messages from the bulletin board. Senders can also serve as 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 Figure 2. Figure 2 illustrates how messages are anonymously transferred. Each message constructor 14(1), 14(2), 14(3)...14(ℓ) of message sender 10(1), 10(2), 10(3)...10(ℓ) generates an encrypted message 16(1), 16(2), 16(3),...16(ℓ), using constants 15 as described above. The encrypted messages 16 are posted to the electronic bulletin board 12. Then each mixing center 11( i ) reads as its input, message 17( i - 1) from the bulletin board 12. (mixing center 11(1) reads the encrypted message 16.) The mixing center then follows the sequence process decrypt 19, shuffle 20, prove-DECRYPT 21, prove-SHUFFLE 22 using its secret key 23( i ) as described above. The processed messages and proofs 17(i) are posted to the electronic bulletin board. (Mixing center 11( n ) posts decryted messages 18.) In the case of electronic voting, mixing center 11( n ) will post a tally of the votes Figure 3 schematically illustrates a channel checker 24. The channel checker 24 receives constants 15, encrypted messages 16, a set of processed messages and proofs 17(1), 17(2)... and decrypted messages 18 and determines whether the message transfer was processed as specified above, thus indicating a valid or invalid channel. That is, the channel checker includes a verifier for the proofs given by the mixing centers. Figure 4 illustrates a message constructor 14. The message constructor 14 generates encrypted message 16 for the message 25 using constants 15 as described above. While there has been described and illustrated a preferred method and apparatus of secure anonymous message transfer and electronic voting, it will be apparent to those skilled in the art that variations and modifications thereof, as well as other embodiments, are possible without deviating from the broad teaching herein and that the scope of protection sought is defined solely by the scope of the claims appended hereto.

Claims: A method of secure anonymous message transfer from a plurality of senders (10) by use of a plurality of mixing centres (11), the method including the steps of (a) choosing constants which are posted for senders S 1 , S 2 .... S 1 (10) and mixing centres, C 1 , C 2 , .... C n , (11), (b) constructing an encrypted message which is posted at each sender S k (10), (c) decrypting and/or shuffling the posted messages from each sender S k (10) at a first mixing centre C 1 (11), the resulting messages then being posted for use by the next centre (11), (d) sequentially decrypting and/or shuffling the messages from the previous centre (11) at each mixing centre C 2 through C n-1 (11), the resulting messages then being posted for use by the next centre (11), (e) decrypting and/or shuffling the messages from the previous centre C n-1 (11) at the last mixing centre C n (11) and posting the result, characterised in that the method further includes the steps of (f) proving at each mixing centre (11) the validity of the steps of decrypting and/or shuffling, and posting the proof, and (g) verifying the correctness of the steps of decrypting and/or shuffling from the posted messages, the result, and the proof when necessary at a channel checker (24). A method of secure anonymous message transfer as claimed in claim 1, in which the steps (c), (d) and (e) further include the step of (h) providing each mixing centre (11) with a secret key (23), and (i) the step of decrypting using the secret key (23) of a respective mixing centre (11). A method of secure anonymous message transfer as claimed in claim 1, wherein a proving step includes the step of executing an algorithm prove-DECRYPT. A method of secure anonymous message transfer as claimed in claim 1, wherein a proving step includes the step of executing an algorithm prove-SHUFFLE. A method of secure anonymous message transfer as claimed in claim 3, wherein the algorithm prove-DECRYPT is executed for multiple messages together. A method of secure anonymous message transfer as claimed in claim 3, wherein the algorithm prove-DECRYPT employs the Fiat-Shamir method. A method of secure anonymous message transfer as claimed in claim 3, wherein after the last mixing centre C n (11) the result is posted, and each mixing centre (11) executes the algorithm prove-DECRYPT using the result. A method of secure anonymous message transfer as claimed in claim 1, including proving each mixing centre (11) with a secret key (23) and wherein after the last mixing centre C n the result is posted, and each mixing centre (11) performs the decrypting and/or shuffling using its respective secret key (23) and the result. A method of secure anonymous message transfer as claimed in claim 1, in which, in the step (b), each sender S k (10) posts its encrypted message substantially simultaneously. A method of secure anonymous message transfer as claimed in claim 1, in which, in the step (b), each sender S k (10) constructs its encrypted message using a key (23) for the first mixing centre C 1 (11), and the encrypted message includes a signature of a respective sender S k (10). A method of secure anonymous message transfer as claimed in claim 1, in which, in the step (b), each sender S k (10) constructs an encrypted message which is publicly revealed after the first mixing centre C 1 (11) has received a respective encrypted message. A method of secure anonymous message transfer as claimed in claim 1, in which the first mixing centre C 1 (11) decrypts and/or shuffles only legitimate messages and decrypts and/or shuffles only one message from each sender (10). A method of secure anonymous message transfer as claimed in claim 12, in which the senders (10) are voters and the messages are votes. A method of secure anonymous message transfer as claimed in claim 13, in which the step of decrypting and/or shuffling at the last mixing centre C n (11) includes computing a tally. An apparatus for secure anonymous message transfer including a bulletin board (12) temporarily storing messages, a plurality of senders, S 1 , S 2 .... S 1 , (10(1), 10(2) etc.) each sender S k constructing an encrypted message (16(1), 16(2) etc.) using constants and posting the encrypted message (16) to the bulletin board (12), a plurality of mixing centres, C 1 , C 2 , ...C n , (11(1), 11(2) etc.) a first mixing centre C 1 (11) decrypting and/or shuffling the posted messages (16) from each sender (10) using the constants and posting the resulting message to the bulletin board (12) for use by the next mixing centre (11), each mixing centre C 2 through C n-1 sequentially decrypting and/or shuffling the message (16) from the previous mixing centre (11) using the constants and posting the resulting message to the bulletin board (12) for use by the next mixing centre (11), the last mixing centre C n decrypting and/or shuffling messages from the previous centre C n-1 using the constants and posting the result on the bulletin board (12), characterised in that the apparatus includes proving means (21) (22) associated with each respective mixing centre (11) for proving the validity of the decrypting and/or shuffling of the respective mixing centre, which proof is posted on the bulletin board (12), and channel checking means (24) for verifying the correctness of the decrypting and/or shuffling from the posted messages (16), the result, and the proof. An apparatus for anonymous message transfer as claimed in claim 15, including secret key means (23) associated with each respective mixing centre (11) for providing a secret key to the respective mixing centre for decrypting messages. An apparatus for anonymous message transfer as claimed in claim 15, in which the proving means (21) (22) employs algorithm prove-DECRYPT for proving the validity of the decrypting. An apparatus for anonymous message transfer as claimed in claim 17, in which the proving means (21)(22) executes algorithm prove-DECRYPT for multiple messages. An apparatus for anonymous message transfer as claimed in claim 15, in which the proving means (21) (22) employs algorithm prove-SHUFFLE for proving the validity of the shuffling. An apparatus for anonymous message transfer as claimed in claim 15, in which each sender S k (10) posts its encrypted message (16) to the bulletin board (12) substantially simultaneously. An apparatus for anonymous message transfer as claimed in claim 16, in which each sender S k (10) constructs its encrypted message (16) using the secret key (23) of the first mixing centre C 1 (11) and including a signature of the respective sender S k (10). An apparatus for anonymous message transfer as claimed in claim 15, where the encrypted message (16) constructed by each sender (10) is posted to the bulletin board (12) through the first mixing centre (11). An apparatus for anonymous message transfer as claimed in claim 15, in which the first mixing centre C 1 (11) decrypts and/or shuffles only legitimate messages (16) and decrypts and/or shuffles only one message (16) from each sender (10). An apparatus for anonymous message transfer as claimed in claim 23, in which the senders (10) are voters and the messages (16) are votes. An apparatus for anonymous message transfer as claimed in claim 24, in which the result includes a tally. A method of secure anonymous message transfer as claimed in claim 4, in which the algorithm prove-SHUFFLE employs the Fiat-Shamir method.

Inventors: KILIAN JOSEPH J, SAKO KAZUE, KILIAN, JOSEPH J., SAKO, KAZUE
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1996
Main classification: H04L9
IPC codes: G07C13, G06Q50, G09C1, H04L9