Advertisement

Improving the Performance of Cryptographic Voting Protocols

  • Rolf HaenniEmail author
  • Philipp Locher
  • Nicolas Gailly
Conference paper
  • 35 Downloads
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11599)

Abstract

Cryptographic voting protocols often rely on methods that require a large number of modular exponentiations. Corresponding performance bottlenecks may appear both on the server and the client side. Applying existing optimization techniques is often mentioned and recommended in the literature, but their potential has never been analyzed in depth. In this paper, we investigate existing algorithms for computing fixed-base exponentiations and product exponentiations. Both of them appear frequently in voting protocols. We also explore the potential of applying small-exponent techniques. It turns out that using these techniques in combination, the overall computation time can be reduced by two or more orders of magnitude.

References

  1. 1.
    Baird, L.C.: Big Integer Library by Leemon. https://github.com/Evgenus/BigInt
  2. 2.
    Brickell, E.F., Gordon, D.M., McCurley, K.S., Wilson, D.B.: Fast exponentiation with precomputation. In: Rueppel, R.A. (ed.) EUROCRYPT 1992. LNCS, vol. 658, pp. 200–207. Springer, Heidelberg (1993).  https://doi.org/10.1007/3-540-47555-9_18CrossRefGoogle Scholar
  3. 3.
    Giry, D.: Cryptographic Key Length Recommendation. https://www.keylength.com
  4. 4.
    Granlund, T.: The GNU Multiple Precision Arithmetic Library - Edition 6.1.2 (2016). https://gmplib.org
  5. 5.
    Haenni, R., Locher, P., Koenig, R., Dubuis, E.: Pseudo-code algorithms for verifiable re-encryption mix-nets. In: Brenner, M., et al. (eds.) FC 2017. LNCS, vol. 10323, pp. 370–384. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-70278-0_23CrossRefGoogle Scholar
  6. 6.
    Indutny, F.: BigNum in Pure Javascript. https://github.com/indutny/bn.js
  7. 7.
    Koshiba, T., Kurosawa, K.: Short exponent Diffie-Hellman problems. In: Bao, F., Deng, R., Zhou, J. (eds.) PKC 2004. LNCS, vol. 2947, pp. 173–186. Springer, Heidelberg (2004).  https://doi.org/10.1007/978-3-540-24632-9_13CrossRefGoogle Scholar
  8. 8.
    Lee, P.J., Lim, C.H.: Method for exponentiation in a public-key cryptosystem. United States Patent No. 5999627, December 1999Google Scholar
  9. 9.
    Lim, C.H., Lee, P.J.: More flexible exponentiation with precomputation. In: Desmedt, Y.G. (ed.) CRYPTO 1994. LNCS, vol. 839, pp. 95–107. Springer, Heidelberg (1994).  https://doi.org/10.1007/3-540-48658-5_11CrossRefGoogle Scholar
  10. 10.
    Menezes, A.J., van Oorschot, P.C., Vanstone, S.A.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1996)zbMATHGoogle Scholar
  11. 11.
    Möller, N.: Mini-GMP - A Minimalistic Implementation of a GNU GMP Subset. https://godoc.org/modernc.org/minigmp
  12. 12.
    Perlitch, A.: JSBN - Javascript Big Number. https://github.com/andyperlitch/jsbn
  13. 13.
    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).  https://doi.org/10.1007/978-3-642-12678-9_7CrossRefGoogle Scholar
  14. 14.
    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).  https://doi.org/10.1007/978-3-642-02620-1_28CrossRefGoogle Scholar
  15. 15.
    Wikström, D.: User Manual for the Verificatum Mix-Net - VMN Version 3.0.3. Verificatum AB, Stockholm, Sweden (2018)Google Scholar
  16. 16.
    Wikström, D.: GMP Modular Exponentiation Extension. https://github.com/verificatum/verificatum-gmpmee
  17. 17.
    Wikström, D.: Verificatum JavaScript Cryptography Library. https://github.com/verificatum/verificatum-vjsc
  18. 18.
    Wu, T.: RSA and ECC in JavaScript. http://www-cs-students.stanford.edu/~tjw/jsbn

Copyright information

© International Financial Cryptography Association 2020

Authors and Affiliations

  1. 1.Bern University of Applied SciencesBielSwitzerland
  2. 2.École Polytechnique Fédérale de LausanneLausanneSwitzerland

Personalised recommendations