Pseudo-Code Algorithms for Verifiable Re-encryption Mix-Nets

  • Rolf HaenniEmail author
  • Philipp Locher
  • Reto Koenig
  • Eric Dubuis
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10323)


Implementing the shuffle proof of a verifiable mix-net is one of the most challenging tasks in the implementation of an electronic voting system. For non-specialists, even if they are experienced software developers, this task is nearly impossible to fulfill without spending an enormous amount of resources into studying the necessary cryptographic theory. In this paper, we present one of the existing shuffle proofs in a condensed form and explain all the necessary technical details in corresponding pseudo-code algorithms. The goal of presenting the shuffle proof in this form is to make it accessible to a broader audience and to facilitate its implementation by non-specialists.



We thank the anonymous reviewers for their thorough reviews and appreciate their comments and suggestions.


  1. 1.
    Digital signature standard (DSS). FIPS PUB 186–4, National Institute of Standards and Technology (NIST) (2013)Google Scholar
  2. 2.
    Bayer, S., Groth, J.: Efficient zero-knowledge argument for correctness of a shuffle. In: Pointcheval, D., Johansson, T. (eds.) EUROCRYPT 2012. LNCS, vol. 7237, pp. 263–280. Springer, Heidelberg (2012). CrossRefGoogle Scholar
  3. 3.
    ElGamal, T.: A public key cryptosystem and a signature scheme based on discrete logarithms. In: Blakley, G.R., Chaum, D. (eds.) CRYPTO 1984. LNCS, vol. 196, pp. 10–18. Springer, Heidelberg (1985). CrossRefGoogle Scholar
  4. 4.
    Fiat, A., Shamir, A.: How to prove yourself: practical solutions to identification and signature problems. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 186–194. Springer, Heidelberg (1987). Google Scholar
  5. 5.
    Knuth, D.E.: The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edn. Addison Wesley, Boston (1997)Google Scholar
  6. 6.
    Locher, P., Haenni, R.: A lightweight implementation of a shuffle proof for electronic voting systems. In: Plödereder, E., Grunske, L., Schneider, E., Ull, D. (eds.) INFORMATIK 2014, 44. Jahrestagung der Gesellschaft für Informatik, pp. 1391–1400. No. P-232 in Lecture Notes in Informatics, Stuttgart, Germany (2014)Google Scholar
  7. 7.
    Maurer, U.: Unifying zero-knowledge proofs of knowledge. In: Preneel, B. (ed.) AFRICACRYPT 2009. LNCS, vol. 5580, pp. 272–286. Springer, Heidelberg (2009). CrossRefGoogle Scholar
  8. 8.
    Terelius, B., Wikström, D.: Proofs of restricted shuffles. In: Bernstein, D.J., Lange, T. (eds.) AFRICACRYPT 2010. LNCS, vol. 6055, pp. 100–113. Springer, Heidelberg (2010). CrossRefGoogle Scholar
  9. 9.
    Wikström, D.: A commitment-consistent proof of a shuffle. In: Boyd, C., González Nieto, J. (eds.) ACISP 2009. LNCS, vol. 5594, pp. 407–421. Springer, Heidelberg (2009).
  10. 10.
    Wikström, D.: User Manual for the Verificatum Mix-Net Version 1.4.0. Verificatum AB, Stockholm, Sweden (2014)Google Scholar
  11. 11.
    Wikström, D.: How to Implement a Stand-alone Verifier for the Verificatum Mix-Net: VMN Version 3.0.2. Verificatum AB, Stockholm, Sweden (2016)Google Scholar

Copyright information

© International Financial Cryptography Association 2017

Authors and Affiliations

  • Rolf Haenni
    • 1
    Email author
  • Philipp Locher
    • 1
  • Reto Koenig
    • 1
  • Eric Dubuis
    • 1
  1. 1.Bern University of Applied SciencesBielSwitzerland

Personalised recommendations