Page 84 - 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. 84

M. Hirt
                          76
                            The resulting proof will require L + 1 encryptions in the first message, then
                          one challenge, and in the final message, 2 sub-challenges plus 2L + 1 randoms.
                          Non-interactively, the proof can be made in 2L + 3 field elements.
                            We show the proof for Schnorr’s identification scheme. We denote the voter’s
                                                                        z v
                          secret key with z v and the public key with Z v = g . For shorthand, we set
                           −  =  e    e. The following protocol is a Σ-proof of knowledge of either the
                                 ∗
                           e
                                                     z v                            −


                          voter’s secret key z v satisfying g  = Z v ,OR a witness ξ satisfying  e = E(0, ξ).
                                     Randomizer                            Voter
                                                                           −
                                                                    knows  e = E(0, ξ)

                                       −
                                knows  e , ξ
                                       L
                                  α ∈ R R , e = E(0, α )





                                c 2 ∈ R Z u ,s 2 ∈ R Z q ,
                                                           e ,t 2
                                     s 2  −c 2
                                t 2 = g Z v
                                                            c
                                                                    c ∈ R Z u
                                c 1 = c − c 2 (mod u)
                                                        c 1 ,c 2 , β, s 2    ?


                                                                    c = c 1 + c 2 (mod u)
                                β = c 1 ξ    α
                                                                           ?
                                                                               −

                                                                    E(0, β) = c 1 e ⊕  e
                                                                       ?
                                                                     s 2   c 2
                                                                    g  = Z v  · t 2
                            A non-interactive version of the proof is the vector [c 1 ,c 2 , β, s 2 ] satisfying the

                          equation


                                        ?                −                  −  s 2  −c 2
                                                                            L
                                                         1
                                 c 1 + c 2 = H E(0,β 1 )   c 1 e   ...  E(0,β L )   c 1 e  g Z v  .
                          This proof takes L + 3 field elements.
                          Validity proof. The validity proof is a non-interactive proof that the random-
                          ized encryption  e contains a valid vote, i.e., each e i is an encryption of either 0
                                         ∗
                          or 1, and in total, there are exactly K encryptions of 1. Neither the voter (who
                          does not know the re-encryption witness ξ) nor the randomizer (who does not

                          know the ballot  v) can generate the proof on their own, hence they need to gen-
                          erate the proof interactively. The generation of the proof proceeds in two steps:
                          First, the voter and the randomizer engage in an interactive protocol which gives
                          to the randomizer a uniformly selected random non-interactive validity proof for
                           e (a so-called diverted proof [OO89]). Then, the randomizer adjusts this proof
                                                ∗
                          into a validity proof for  e .
                          Generating a diverted validity proof for  e. We first observe that validity proofs
                          are linear Σ-protocols; hence, the sum of two accepting validity proofs (for the
                          same vote  e) is again an accepting validity proof for  e. A diverted version of the
                          validity proof can hence be generated as the sum of the normal validity proof
                          (from Section 5.4) and a uniformly random validity proof for  e, generated by the
   79   80   81   82   83   84   85   86   87   88   89