Page 66 - Towards Trustworthy Elections New Directions in Electronic Voting by Ed Gerck (auth.), David Chaum, Markus Jakobsson, Ronald L. Rivest, Peter Y. A. Ryan, Josh Benaloh, Miroslaw Kutylowski, Ben Adida ( (z-lib.org (1)
P. 66

A. Juels, D. Catalano, and M. Jakobsson
                          58
                           3. Adversarial corruption: The adversary A selects a set V of n A voters to corrupt,
                             as well as a voter j for coercion and a target vote β. If any of these selections
                             are invalid, i.e., if V  = n A or j  ∈V − V or β   C
                             terminated.                             ∈      φ, then the simulation is
                           4. Coin flip: Acoin b ∈ U {0, 1} is flipped.
                           5. Credential release: S gives A the set of credentials {σ i } i∈V as well as a credential
                             σ for the targeted voter j.If b =1,then S gives σ = σ j ;otherwise σ is a random
                             string.
                           6. Honest voter simulation: For each ballot element in W, the simulator posts a bal-
                             lot consisting of two ciphertexts (α i,1 ,α ,β i,1 ), (α i,2 ,α ,β i,2 ). S also furnishes


                                                             i,1           i,2
                             the associated NIZK proofs of the form specified above. Since the associated chal-
                                                   ˜
                             lenges value comes from OW , and may therefore be predetermined by S,the NIZK
                             proof may be simulated using standard techniques. Let A 0 be the list of these bal-
                                      ∗
                             lots. Let A be the associated set of plaintext ballot choices in W for which the
                             associated credential is correct, i.e., excluding λ elements.
                                The simulator creates the ciphertexts above as follows. For each ballot element
                                                                                       r i
                             in W, S chooses two elements r i ,k i at random in Z q and sets (α i,1 = h ,α    =
                                                                                       1   i,1
                                                                    k i
                                                                                h
                              r i
                                           h
                                                          k i
                             h ,β i,1 = h r i x 1 r i x 2 c j ), (α i,2 = h ,α    = h ,β i,2 = h k i x 1 k i x 2 σ i ).
                              2         1   2             1   i,2   2        1    2
                           7. Adversarial ballot posting: The adversary A posts a set of ballots B 0 and associ-
                             ated NIZK proofs.
                           8. Decryption of ballots posted by the adversary: S checks the NIZK proofs in B 0 .
                             Let B 1 be the list of ballots with correct proofs. For each ballot in B 1 and each

                             credential in {σ i } i∈V  σ j , the simulator decrypts using his own private key (see
                             above).
                           9. Tallying simulation: S simulates the behavior of honest tallying authorities. Since
                             these are a majority, any deviating behavior by tallying authorities in the control of
                             A may be ignored. This part of the simulation proceeds as follows:
                             (a) Proof checking: Let E 0 denote the combined list of input ballots A 0 and B 0 .
                                 S simulates the behavior of honest tallying authorities in rejecting all ballots
                                 with invalid associated NIZK proofs. Let E 1 be the resulting ballot list.
                             (b) Eliminating duplicates: Since no mixing has yet occurred, S may simulate
                                 the elimination of duplicate ballots using its own decryption key. Let E 2 be the
                                 resulting ballot list.
                                                            ˜
                             (c) Mixing: S simulates the oracle MN as applied to E 2 by outputting an equal-
                                 length list E 3 of random ciphertext triples. Likewise, S simulates the mixing
                                 of L 0 by outputting an equal-lengthed list L 1 of random ciphertexts.
                             (d) Checking credentials: S simulates the process of credential checking. In a
                                                                                            ˜
                                 true protocol execution, this would involve sequential comparison using PET
                                 between each ballot in E 3 (more precisely, the credential ciphertext therein)
                                 and the ciphertexts in L 1 . Either a match is found, in which case a ballot is
                                 deemed to be based on a valid credential, or else the list L 1 is exhausted, and
                                 the ballot is rejected.
                                                          ˜
                                   S simulates the output of PET for this phase of the protocol using its own
                                 decryption key as before. Let E 4 be the resulting ballot list.
                             (e) Decryption: This is done straightforwardly.
   61   62   63   64   65   66   67   68   69   70   71