Journal of Heuristics

, Volume 24, Issue 3, pp 457–481 | Cite as

Finding short and implementation-friendly addition chains with evolutionary algorithms

  • Stjepan PicekEmail author
  • Carlos A. Coello Coello
  • Domagoj Jakobovic
  • Nele Mentens


Finding the shortest addition chain for a given exponent is a significant problem in cryptography. In this work, we present a genetic algorithm with a novel encoding of solutions and new crossover and mutation operators to minimize the length of the addition chains corresponding to a given exponent. We also develop a repair strategy that significantly enhances the performance of our approach. The results are compared with respect to those generated by other metaheuristics for exponents of moderate size, but we also investigate values up to \(2^{255} - 21\). For numbers of such size, we were unable to find any results produced by other metaheuristics which could be used for comparison purposes. Therefore, we decided to add three additional strategies to serve as benchmarks. Our results indicate that the proposed approach is a very promising alternative to deal with this problem. We also consider a more practical perspective by taking into account the implementation cost of the chains: we optimize the addition chains with regards to the type of operations as well as the number of instructions required for the implementation.


Addition chains Genetic algorithms Cryptography Optimization Implementation 



This work has been supported in part by Croatian Science Foundation under the Project IP-2014-09-4882. The second author acknowledges support from CONACyT Project No. 221551. This work was supported in part by the Research Council KU Leuven (C16/15/058) and IOF project EDA-DSE (HB/13/020).

Supplementary material


  1. Bernstein, D.J.: Curve25519: New diffie–hellman speed records. In: Yung, M., Dodis, Y., Kiayias, A., Malkin, T. (eds.) Public Key Cryptography - PKC 2006: 9th International Conference on Theory and Practice in Public-Key Cryptography, New York, USA, April 24–26, 2006. Proceedings, pp. 207–228. Springer Berlin (2006)Google Scholar
  2. Bernstein, D.J., Chuengsatiansup, C., Lange, T., Schwabe, P.: Kummer strikes back: new DH speed records. In: Iwata, T., Sarkar, P. (eds.) Advances in Cryptology-EUROCRYPT 2015. Lecture Notes in Computer Science, vol. 8873, pp. 317–337. Springer-Verlag, Berlin (2014)Google Scholar
  3. Bos, J., Coster, M.: Addition chain heuristics. In: Brassard, G. (ed.) Advances in Cryptology-CRYPTO’89 Proceedings. Lecture Notes in Computer Science, vol. 435, pp. 400–407. Springer, New York (1990)Google Scholar
  4. Clift, N.M.: Calculating optimal addition chains. Computing 91(3), 265–284 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  5. Coron, J.S.: Resistance against differential power analysis for elliptic curve cryptosystems. In: Koç, e., Paar C. (eds.) Cryptographic Hardware and Embedded Systems. Lecture Notes in Computer Science, vol. 1717, pp. 292–302. Springer (1999)Google Scholar
  6. Costello, C., Longa, P.: FourQ: four-dimensional decompositions on a Q-curve over the Mersenne prime. Cryptology ePrint Archive, Report 2015/565 (2015).
  7. Cruz-Corteés, N., Rodriguez-Henriquez, F., Coello Coello, C.: An artificial immune system heuristic for generating short addition chains. IEEE Trans. Evolut. Comput. 12(1), 1–24 (2008)CrossRefGoogle Scholar
  8. Cruz-Cortés, N., Rodrguez-Henrquez, F., Juárez-Morales, R., Coello Coello, C.: Finding optimal addition chains using a genetic algorithm approach. In: Hao, Y., Liu, J., Wang, Y., Cheung, Y.m., Yin, H., Jiao, L., Ma, J., Jiao, Y.C. (eds.) Computational Intelligence and Security. Lecture Notes in Computer Science, vol. 3801, pp. 208–215. Springer Berlin (2005)Google Scholar
  9. Domínguez-Isidro, S., Mezura-Montes, E., Osorio-Hernández, L.G.: Addition chain length minimization with evolutionary programming. In: 13th Annual Genetic and Evolutionary Computation Conference, GECCO 2011, Companion Material Proceedings, Dublin, Ireland, July 12–16, 2011, pp. 59–60 (2011)Google Scholar
  10. Domínguez-Isidro, S., Mezura-Montes, E., Osorio-Hernández, L.G.: Evolutionary programming for the length minimization of addition chains. Eng. Appl. Artif. Intell. 37, 125–134 (2015)Google Scholar
  11. Faz-Hernández, A., Longa, P., Sánchez, A.: Efficient and secure algorithms for GLV-based scalar multiplication and their implementation on GLV–GLS Curves. In: Benaloh, J. (ed.) Topics in Cryptology CT-RSA 2014. Lecture Notes in Computer Science, vol. 8366, pp. 1–27. Springer International Publishing (2014)Google Scholar
  12. Flammenkamp, A.: Shortest addition chains (2016).
  13. Galbraith, S., Lin, X., Scott, M.: Endomorphisms for Faster elliptic curve cryptography on a large class of curves. J. Cryptol. 24(3), 446–469 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  14. Gallant, R., Lambert, R., Vanstone, S.: Faster Point multiplication on elliptic curves with efficient endomorphisms. In: Kilian, J. (ed.) Advances in Cryptology CRYPTO 2001. Lecture Notes in Computer Science, vol. 2139, pp. 190–200. Springer, Berlin (2001)Google Scholar
  15. Gordon, D.M.: A survey of fast exponentiation methods. J. Algorithms 27, 129–146 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  16. Jakobovic, D., et al.: Evolutionary computation framework (2016).
  17. Knuth, D.E.: The Art of Computer Programming : Seminumerical Algorithms, vol. 2, 3rd edn. Addison-Wesley Longman Publishing, Boston (1997)Google Scholar
  18. Le, D.P.: Fast quadrupling of a point in elliptic curve cryptography. Cryptology ePrint archive, report 2011/039 (2011).
  19. León-Javier, A., Cruz-Cortés, N., Moreno-Armendáriz, M., Orantes-Jiménez, S.: Finding minimal addition chains with a particle swarm optimization algorithm. In: Aguirre, A.H., Borja, R.M., Garciá, C.A.R. (eds.) MICAI 2009: Advances in Artificial Intelligence. Lecture Notes in Computer Science, vol. 5845, pp. 680–691. Springer, Berlin (2009)Google Scholar
  20. Menezes, A., van Oorschot, P., Vanstone, S.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1996)CrossRefzbMATHGoogle Scholar
  21. Nedjah, N., de Macedo Mourelle, L.: Minimal addition chain for efficient modular exponentiation using genetic algorithms. In: Hendtlass, T., Ali, M. (eds.) Developments in Applied Artificial Intelligence. Lecture Notes in Computer Science, vol. 2358, pp. 88–98. Springer, Berlin (2002a)Google Scholar
  22. Nedjah, N., de Macedo Mourelle, L.: Minimal addition–subtraction chains using genetic algorithms. In: Yakhno, T. (ed.) Advances in Information Systems. Lecture Notes in Computer Science, vol. 2457, pp. 303–313. Springer (2002b)Google Scholar
  23. Nedjah, N., de Macedo Mourelle, L.: Minimal addition-subtraction sequences for efficient pre-processing in large window-based modular exponentiation using genetic algorithms. In: Liu, J., Cheung, Y.m., Yin, H. (eds.) Intelligent Data Engineering and Automated Learning, Lecture Notes in Computer Science, vol. 2690, pp. 329–336. Springer (2003)Google Scholar
  24. Nedjah, N., de Macedo Mourelle, L.: Finding minimal addition chains using ant colony. In: Yang, Z., Yin, H., Everson, R. (eds.) Intelligent Data Engineering and Automated Learning - IDEAL 2004. Lecture Notes in Computer Science, vol. 3177, pp. 642–647. Springer, Berlin Heidelberg (2004)Google Scholar
  25. Nedjah, N., de Macedo Mourelle, L.: Towards minimal addition chains using ant colony optimisation. J. Math. Model. Algorithms 5(4), 525–543 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  26. Nedjah, N., de Macedo Mourelle, L.: High-performance SoC-based Implementation of modular exponentiation using evolutionary addition chains for efficient cryptography. Appl. Soft Comput. 11(7), 4302–4311 (2011)CrossRefGoogle Scholar
  27. Osorio-Hernández, L.G., Mezura-Montes, E., Cortés, N.C., Rodríguez-Henríquez, F.: A genetic algorithm with repair and local search mechanisms able to find minimal length addition chains for small exponents. In: Proceedings IEEE Congress on Evolutionary Computation, Trondheim, Norway, 18–21 May, pp. 1422–1429 (2009)Google Scholar
  28. Picek, S., Coello, C.A.C., Jakobovic, D., Mentens, N.: Evolutionary algorithms for finding short addition chains: going the distance. In: Evolutionary Computation in Combinatorial Optimization-16th European Conference, EvoCOP 2016, Porto, Portugal, March 30–April 1, 2016, Proceedings, pp. 121–137 (2016)Google Scholar
  29. Rivest, R., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21(2), 120–126 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
  30. Rodriguez-Cristerna, A., Torres-Jimenez, J.: A genetic algorithm for the problem of minimal brauer chains. In: Recent Advances on Hybrid Intelligent Systems, Studies in Compter Intelligence, vol. 451, pp. 481–500. Springer Berlin (2013)Google Scholar
  31. Sarkar, A., Mandal, J.: Swarm Intelligence based faster public-key cryptography in wireless communication (SIFPKC). Int. J. Comput. Sci. Eng. Technol. (IJCSET) 3(7), 267–273 (2012)Google Scholar
  32. Stein, W.A., et al.: Sage mathematics software (Version 5.10). The Sage Development Team (2013).
  33. Thurber, E.G.: On addition chains \(1(mn)\le 1(n)-b\) and lower bounds for \(c(r)\). Duke Math. J. 40(4), 907–913 (1973)MathSciNetCrossRefzbMATHGoogle Scholar
  34. Thurber, E.G.: The scholz-brauer problem on addition chains. Pac. J. Math. 49(1), 229–242 (1973)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2017

Authors and Affiliations

  • Stjepan Picek
    • 1
    • 2
    Email author
  • Carlos A. Coello Coello
    • 3
  • Domagoj Jakobovic
    • 4
  • Nele Mentens
    • 1
  1. 1.KU Leuven, ESAT/COSIC and ImecLeuven-HeverleeBelgium
  2. 2.Computer Science and Artificial Intelligence LaboratoryMassachusetts Institute of TechnologyCambridgeUSA
  3. 3.Department of Computer ScienceCINVESTAV-IPNMexicoMexico
  4. 4.Faculty of Electrical Engineering and ComputingUniversity of ZagrebZagrebCroatia

Personalised recommendations