Skip to main content

Vote Validatability in Mix-Net-Based eVoting

  • Conference paper
  • First Online:
E-Voting and Identity (Vote-ID 2015)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 9269))

Included in the following conference series:

Abstract

One way to build secure electronic voting systems is to use Mix-Nets, which break any correlation between voters and their votes. One of the characteristics of Mix-Net-based eVoting is that ballots are usually decrypted individually and, as a consequence, invalid votes can be detected during the tallying of the election. In particular, this means that the ballot does not need to contain a proof of the vote being valid.

However, allowing for invalid votes to be detected only during the tallying of the election can have bad consequences on the reputation of the election. First, casting a ballot for an invalid vote might be considered as an attack against the eVoting system by non-technical people, who might expect that the system does not accept such ballots. Besides, it would be impossible to track the attacker due to the anonymity provided by the Mix-Net. Second, if a ballot for an invalid vote is produced by a software bug, it might be only detected after the election period has finished. In particular, voters would not be able to cast a valid vote again.

In this work we formalize the concept of having a system that detects invalid votes during the election period. In addition, we give a general construction of an eVoting system satisfying such property and an efficient concrete instantiation based on well-studied assumptions.

P. Bibiloni was partially supported by the Spanish project TIN 2013-42795-P and the fellowship FPI/1645/2014, which was cofinanced by the European Social Fund.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    There could be bugs in the software which verifies vote validatability. However, this verification can be done in parallel by different implementations done by different entities, leveraging this risk.

  2. 2.

    As in [4], the result function can be used to model revote policies. In this work we just consider the scenario where each voter can only cast one vote.

  3. 3.

    Technically, it is a Pseudo-Random Function [12] from \({\mathcal {V}}\) to \({\mathbb {G}}_1\) where \(F_{(\cdot )}\) is injective for any \(k\in {\mathbb {Z}}_p^*\). Therefore, an adversary restricted to only evaluate the function in points from \({\mathcal {V}}\) can not distinguish those evaluations from randomly sampled elements, which is sufficient for the security reduction to work.

  4. 4.

    In [10] the authors define equivocable values as the generators of the group. However, it can be seen that values for which the simulator knows the discrete logarithm w.r.t. the generator of the group are also equivocable.

References

  1. Abe, M., Groth, J., Ohkubo, M., Tibouchi, M.: Unified, minimal and selectively randomizable structure-preserving signatures. In: Lindell, Y. (ed.) TCC 2014. LNCS, vol. 8349, pp. 688–712. Springer, Heidelberg (2014)

    Chapter  Google Scholar 

  2. Adida, B.: Encrypting your vote in javascript. Electronic Voting Technology Workshop - EVT/WOTE, August 2011. http://assets.adida.net/presentations/2011-08-08-helios-evt-rump.pdf

  3. Belenkiy, M., Chase, M., Kohlweiss, M., Lysyanskaya, A.: Compact E-Cash and simulatable VRFs revisited. In: Shacham, H., Waters, B. (eds.) Pairing 2009. LNCS, vol. 5671, pp. 114–131. Springer, Heidelberg (2009)

    Google Scholar 

  4. Bernhard, D., Cortier, V., Galindo, D., Pereira, O., Warinschi, B.: A comprehensive analysis of game-based ballot privacy definitions. IACR Cryptology ePrint Archive 2015, 255 (2015). http://eprint.iacr.org/2015/255

  5. Bernhard, D., Pereira, O., Warinschi, B.: On necessary and sufficient conditions for private ballot submission. IACR Cryptology ePrint Archive 2012, 236 (2012). http://dblp.uni-trier.de/db/journals/iacr/iacr2012.html#BernhardPW12. Informal Publication

  6. Camenisch, J.L., Chaabouni, R., shelat, a: Efficient protocols for set membership and range proofs. In: Pieprzyk, J. (ed.) ASIACRYPT 2008. LNCS, vol. 5350, pp. 234–252. Springer, Heidelberg (2008)

    Google Scholar 

  7. Chaum, D.: Untraceable electronic mail, return addresses and digital pseudonyms. In: Gritzalis, D. (ed.) Secure Electronic Voting, Advances in Information Security, vol. 7, pp. 211–219. Springer, New York (2003). http://dx.doi.org/10.1007/978-1-4615-0239-5_14

    Chapter  Google Scholar 

  8. Cramer, R., Gennaro, R., Schoenmakers, B.: A secure and optimally efficient multi-authority election scheme. Eur. Trans. Telecommun. 8(5), 481–490 (1997). http://dx.doi.org/10.1002/ett.4460080506

    Article  Google Scholar 

  9. Damgård, I., Jurik, M., Nielsen, J.B.: A generalization of Paillier’s public-key system with applications to electronic voting. Int. J. Inf. Secur. 9(6), 371–385 (2010)

    Article  Google Scholar 

  10. Escala, A., Groth, J.: Fine-tuning Groth-Sahai proofs. In: Krawczyk, H. (ed.) PKC 2014. LNCS, vol. 8383, pp. 630–649. Springer, Heidelberg (2014)

    Google Scholar 

  11. Gjøsteen, K.: Analysis of an internet voting protocol. Cryptology ePrint Archive, Report 2010/380 (2010). http://eprint.iacr.org/

  12. Goldreich, O., Goldwasser, S., Micali, S.: How to construct random functions. J. ACM 33(4), 792–807 (1986). http://doi.acm.org/10.1145/6490.6503

    Article  MathSciNet  Google Scholar 

  13. Goldwasser, S., Micali, S., Rivest, R.L.: A digital signature scheme secure against adaptive chosen-message attacks. SIAM J. Comput. 17(2), 281–308 (1988). http://dx.doi.org/10.1137/0217017

    Article  MATH  MathSciNet  Google Scholar 

  14. Groth, J., Sahai, A.: Efficient noninteractive proof systems for bilinear groups. SIAM J. Comput. 41(5), 1193–1232 (2012)

    Article  MATH  MathSciNet  Google Scholar 

  15. Luby, M., Rackoff, C.: How to construct pseudo-random permutations from Pseudo-random functions. In: Williams, H.C. (ed.) CRYPTO 1985. LNCS, vol. 218, pp. 447–447. Springer, Heidelberg (1986)

    Google Scholar 

  16. Santis, A.D., Persiano, G.: Zero-knowledge proofs of knowledge without interaction (extended abstract). In: FOCS, pp. 427–436. IEEE Computer Society (1992)

    Google Scholar 

  17. Schnorr, C.-P., Jakobsson, M.: Security of signed ElGamal encryption. In: Okamoto, T. (ed.) ASIACRYPT 2000. LNCS, vol. 1976, p. 73. Springer, Heidelberg (2000)

    Google Scholar 

  18. Tsiounis, Y., Yung, M.: On the security of ElGamal based encryption. In: Imai, H., Zheng, Y. (eds.) PKC 1998. LNCS, vol. 1431, p. 117. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pedro Bibiloni .

Editor information

Editors and Affiliations

A Proofs of Security Theorems

A Proofs of Security Theorems

We prove the security for the construction given in Sect. 4.2.

Theorem 1

Let \(({\mathsf {KeyGenEnc}},{\mathsf {Enc}},{\mathsf {Dec}})\) be a NM-CPA secure encryption scheme, let \(F_{(\cdot )}\) be a PRP family and let \(({\mathsf {GenCRS}},{\mathsf {Prove}},{\mathsf {VerifyProof}})\) be a NIZK proof system. Then, the protocol defined in Sect. 4.2 has ballot privacy.

Proof. Recall that privacy is defined as the indistinguishability of two experiments which depend on a bit \(\beta \). We will refer to them as \({\mathsf {Exp}}_\beta \) for \(\beta \in \{0,1\}\).

Let \({\mathsf {SimVote}}_1(pk,v)\) be the \({\mathsf {Vote}}\) algorithm of the protocol given in Sect. 4.2 but, instead of using the \({\mathsf {Prove}}\) algorithm to generate \(\pi \) it uses the \({\mathsf {SimProve}}\) algorithm. Moreover, let \({\mathsf {SimVote}}_2(pk,v)\) to be the \({\mathsf {SimVote}}_1\) algorithm but, instead of using a PRP it uses a truly random permutation.

Consider experiments \({\mathsf {Exp}}_{\beta ,0}={\mathsf {Exp}}_\beta \), \({\mathsf {Exp}}_{\beta ,1}\) to be the experiment which are the same as \({\mathsf {Exp}}_{\beta ,0}\) but the challenger runs \({\mathsf {SimGenCRS}}\) instead of \({\mathsf {GenCRS}}\) and it runs \({\mathsf {SimProve}}\) instead of \({\mathsf {Prove}}\). Finally, let \({\mathsf {Exp}}_{\beta ,2}\) be the experiments which are identical to \({\mathsf {Exp}}_{\beta ,1}\) but in which the challenger uses a truly random function instead of a PRP in order to cast ballots.

Due to the zero-knowledge property of the NIZK proof system, \({\mathsf {Exp}}_{\beta ,0}\) and \({\mathsf {Exp}}_{\beta ,1}\) are indistinguishable for \(\beta \in \{0,1\}\). Besides, \({\mathsf {Exp}}_{\beta ,1}\) and \({\mathsf {Exp}}_{\beta ,2}\) are indistinguishable for \(\beta \in \{0,1\}\) due to the pseudo-randomness of the PRP. Now the only thing left is to prove that \({\mathsf {Exp}}_{0,2}\) and \({\mathsf {Exp}}_{1,2}\) are indistinguishable.

Consider the \(\mathsf {Enc2Vote}\) scheme [5], where the result function \(\rho \) is the multiset function. The scheme is defined as follows: the \({\mathsf {Setup}}\) algorithm runs \({\mathsf {KeyGenEnc}}\) to produce a public key \(pk_e\) and a secret key \(sk_e\). Then, pk is set to be \(pk_e\) and sk is set to be \((pk_e,sk_e)\). The \({\mathsf {Vote}}\) algorithm takes as input a vote v and a public key \(pk_e\) and outputs b defined by \(b={\mathsf {Enc}}(pk_e,v,r)\) for some fresh randomness r. \(\mathsf{ValidateBallot }\) looks if the ballot b already appears on the bulletin board BB: it returns 1 if it does already appear and 0 otherwise. \({\mathsf {Tally}}\) decrypts all ballots \(\varvec{b}\) on the bulletin board obtaining votes \(\varvec{v}\) and evaluates \(r=\rho (\varvec{v})\), outputting an empty proof of correct tabulation. Observe that \(\mathsf {Enc2Vote}\) implicitly assumes that \({\mathbb {V}}=M_e\), the message space of the encryption scheme. As shown in [5], the following is satisfied:

Theorem 2

Let \(({\mathsf {KeyGenEnc}},{\mathsf {Enc}},{\mathsf {Dec}})\) be an NM-CPA secure encryption scheme. Then, \(\mathsf {Enc2Vote}\) has ballot privacy.

Finally, we reduce the privacy of our scheme to the privacy of \(\mathsf {Enc2Vote}\).

Lemma 1

Let \({\mathcal {A}}^1\) be a p.p.t. adversary that interacts which challenger \(\mathcal {C}\) and outputs a bit \(\alpha ^{{\mathcal {A}}_1}\) such that \(|\Pr [\alpha ^{{\mathcal {A}}_1}=1|{\mathsf {Exp}}_{0,2}]-\Pr [\alpha ^{{\mathcal {A}}_1}=1|{\mathsf {Exp}}_{1,2}]|\) is non-negligible. Then, there exists an adversary \({\mathcal {A}}^2\) that breaks the ballot privacy property of the \(\mathsf {Enc2Vote}\) scheme.

In our reduction, \({\mathcal {A}}^1\) will interact with \({\mathcal {A}}^2\), which will act as the challenger for \({\mathcal {A}}^1\). At the same time, \({\mathcal {A}}^2\) will interact with the privacy challenger \(\mathcal {C}\). The reduction is as follows:

In the Setup phase, \(\mathcal {C}\) will run \({\mathsf {ComSetupGen}}\), outputing \({\mathsf {cs}}\) and posting it to the bulletin board. It will also run \({\mathsf {KeyGenEnc}}\), keeping the private key for itself and publishing the public key \(pk_e\) to the bulletin board. Then, \(A^2\) will run the \({\mathsf {GenCRS}}\) and the \({\mathsf {KeyGenSign}}\) algorithms and will produce signatures on each voting option, posting all the information to the bulletin board.

In the Voting phase, when \({\mathcal {A}}^1\) submits a Vote query, \(A^2\) will submit n Vote queries to \(\mathcal {C}\), one for each pair of candidates. The challenger \(\mathcal {C}\) will answer with n pairs of ciphertexts \((C_{0,1},\dots ,C_{0,n})\) and \((C_{1,1},\dots ,C_{1,n})\). \(A^2\) will then sample two pairs of random values \((p_{0,1},\dots ,p_{0,n})\) and \((p_{1,1},\dots ,p_{1,n})\) of the target space of the PRP. Finally, it will create ballots \(b_0=(C_{0,1},\dots ,C_{0,n},p_{0,1},\dots ,p_{0,n},\pi _0)\) and \(b_1=(C_{1,1},\dots ,C_{1,n},p_{1,1},\dots ,p_{1,n},\pi _1)\) where \(\pi _0\) and \(\pi _1\) will be simulated. \({\mathcal {A}}^2\) will post these ballots to the respective bulletin boards. Finally, when \({\mathcal {A}}^1\) submits a Ballot(b) query, \({\mathcal {A}}^2\) will run the \(\mathsf{ValidateBallot }\) algorithm and will create a Ballot \((b')\) for \(\mathcal {C}\) with \(b'=(C_1,\dots ,C_n)\) from b.

It is straightforward to see that the output of \({\mathcal {A}}^2\) in its interaction with \({\mathcal {A}}^1\) is correctly distributed, which implies that the reduction is sound.

Theorem 3

Let \(\rho \) be the counting function which outputs its inputs randomly permuted. Let \(({\mathsf {GenCRS}},{\mathsf {Prove}},{\mathsf {VerifyProof}})\) be a NIZKPK proof system and let \(({\mathsf {KeyGenSign}},\) \({\mathsf {Sign}},{\mathsf {VerifySign}})\) be an EUF-CMA signature scheme. Let \({\mathsf {Extract}}\) be the decryption procedure of the \({\mathsf {Tally}}\) algorithm of the protocol defined in Sect. 4.2. Then, the protocol defined in Sect. 4.2 has vote validatability for any \({\mathbb {V}}\), with respect to \(\rho ,{\mathsf {Extract}}\).

Proof

Strong consistency of the protocol follows by construction. Therefore we only need to show that, on correctly generated (pksk) no adversary can construct a ballot b such that \(\mathsf{ValidateBallot }\) returns 1 but \({\mathsf {Extract}}\) returns \(\perp \).

Let \({\mathsf {Exp}}_0\) be the vote validatability experiment and let \({\mathsf {Exp}}_1\) be identical to \({\mathsf {Exp}}_0\) but instead of using \({\mathsf {GenCRS}}\) the challenger uses \({\mathsf {ExtGenCRS}}\). These two experiments are indistinguishable by the properties of the NIZKPK. Now assume that an adversary \({\mathcal {A}}^1\) is able to output a ballot b in the experiment \({\mathsf {Exp}}_1\) such that \(\mathsf{ValidateBallot }=1\) and \({\mathsf {Extract}}(sk,b)=\perp \). Then, we build an adversary \({\mathcal {A}}^2\) which breaks the EUF-CMA of the signature scheme.

The reduction is straightforward: \({\mathcal {A}}^2\), interacting with an EUF-CMA challenger asks for signatures on \(\{\nu \}_{\nu \in {\mathcal {V}}}\). Then, it interacts with \({\mathcal {A}}^1\), posing as a vote validatability challenger. It runs all the algorithms as in the protocol but uses \({\mathsf {ExtGenCRS}}\), keeping the trapdoor key tk for itself, and using the answers from the EUF-CMA challenger as the signatures on the voting options. When \({\mathcal {A}}^1\) outputs a ballot b, \({\mathcal {A}}^2\) uses \({\mathsf {Extract}}\) on \(\pi \) to obtain a witness \(w=(\tilde{\nu }_1,\dots ,\tilde{\nu }_n,r_1,\dots ,r_n,\sigma _{\tilde{\nu }_1},\dots ,\sigma _{\tilde{\nu }_n},k))\) such that \((x,w)\in R\). This means that \({\mathsf {VerifySign}}(pk_s,\sigma _{\tilde{\nu }_i},\tilde{\nu }_i)=1\) for \(i\in \{1,\dots ,n\}\). \({\mathsf {Extract}}(sk,b)\) might return \(\perp \) either because (i) some \({\mathsf {Dec}}(sk_e,C_i)=\perp \), (ii) some \(\tilde{\nu }_i=\tilde{\nu }_j\) for \(i\ne j\) or (iii) some \(\tilde{\nu }_i\not \in {\mathcal {V}}\). However, (i) and (ii) are ruled out due to w being a valid witness, so the only possibility is (iii). Then, \({\mathcal {A}}^2\) can submit \((\tilde{\nu }_i,\sigma _{\tilde{\nu }_i})\) as its EUF-CMA forgery.

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Bibiloni, P., Escala, A., Morillo, P. (2015). Vote Validatability in Mix-Net-Based eVoting. In: Haenni, R., Koenig, R., Wikström, D. (eds) E-Voting and Identity. Vote-ID 2015. Lecture Notes in Computer Science(), vol 9269. Springer, Cham. https://doi.org/10.1007/978-3-319-22270-7_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22270-7_6

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22269-1

  • Online ISBN: 978-3-319-22270-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics