Finding short and implementation-friendly addition chains with evolutionary algorithms

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$$2255-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.

[1]  Edward G. Thurber The Scholz-Brauer problem on addition chains. , 1973 .

[2]  Marco A. Moreno-Armendáriz,et al.  Finding Minimal Addition Chains with a Particle Swarm Optimization Algorithm , 2009, MICAI.

[3]  Daniel M. Gordon,et al.  A Survey of Fast Exponentiation Methods , 1998, J. Algorithms.

[4]  NADIA NEDJAH,et al.  Towards Minimal Addition Chains Using Ant Colony Optimisation , 2006, J. Math. Model. Algorithms.

[5]  Krzysztof Krawiec,et al.  Evolutionary Computation Framework for Learning from Visual Examples 1 , 2001 .

[6]  Nadia Nedjah,et al.  High-performance SoC-based implementation of modular exponentiation using evolutionary addition chains for efficient cryptography , 2011, Appl. Soft Comput..

[7]  Patrick Longa,et al.  Efficient and Secure Algorithms for GLV-Based Scalar Multiplication and Their Implementation on GLV-GLS Curves , 2014, CT-RSA.

[8]  Jean-Sébastien Coron,et al.  Resistance against Differential Power Analysis for Elliptic Curve Cryptosystems , 1999, CHES.

[9]  Nadia Nedjah,et al.  Minimal Addition-Subtraction Chains Using Genetic Algorithms , 2002, ADVIS.

[10]  Carlos A. Coello Coello,et al.  Evolutionary Algorithms for Finding Short Addition Chains: Going the Distance , 2016, EvoCOP.

[11]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[12]  Scott A. Vanstone,et al.  Faster Point Multiplication on Elliptic Curves with Efficient Endomorphisms , 2001, CRYPTO.

[13]  Arindam Sarkar,et al.  Swarm Intelligence based Faster Public-Key Cryptography in Wireless Communication ( SIFPKC ) , 2012 .

[14]  Francisco Rodríguez-Henríquez,et al.  An Artificial Immune System Heuristic for Generating Short Addition Chains , 2008, IEEE Transactions on Evolutionary Computation.

[15]  Francisco Rodríguez-Henríquez,et al.  A Genetic Algorithm with repair and local search mechanisms able to find minimal length addition chains for small exponents , 2009, 2009 IEEE Congress on Evolutionary Computation.

[16]  Edward G. Thurber On addition chains $1(mn)\leq 1(n)-b$ and lower bounds for $c(r)$ , 1973 .

[17]  Craig Costello,et al.  Fourℚ: Four-Dimensional Decompositions on a ℚ-curve over the Mersenne Prime , 2015, ASIACRYPT.

[18]  Efrén Mezura-Montes,et al.  Addition chain length minimization with evolutionary programming , 2011, GECCO.

[19]  Daniel J. Bernstein,et al.  Curve25519: New Diffie-Hellman Speed Records , 2006, Public Key Cryptography.

[20]  Efrén Mezura-Montes,et al.  Evolutionary programming for the length minimization of addition chains , 2015, Eng. Appl. Artif. Intell..

[21]  Nadia Nedjah,et al.  Minimal Addition-Subtraction Sequences for Efficient Pre-processing in Large Window-Based Modular Exponentiation Using Genetic Algorithms , 2003, IDEAL.

[22]  Duc-Phong Le Fast Quadrupling of a Point in Elliptic Curve Cryptography , 2011, IACR Cryptol. ePrint Arch..

[23]  Donald Ervin Knuth,et al.  The Art of Computer Programming, Volume II: Seminumerical Algorithms , 1970 .

[24]  Francisco Rodríguez-Henríquez,et al.  Finding Optimal Addition Chains Using a Genetic Algorithm Approach , 2005, CIS.

[25]  Nadia Nedjah,et al.  Minimal Addition Chain for Efficient Modular Exponentiation Using Genetic Algorithms , 2002, IEA/AIE.

[26]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[27]  Neill Michael Clift Calculating optimal addition chains , 2011, Computing.

[28]  José Torres-Jiménez,et al.  A Genetic Algorithm for the Problem of Minimal Brauer Chains , 2013, Recent Advances on Hybrid Intelligent Systems.

[29]  Tanja Lange,et al.  Kummer Strikes Back: New DH Speed Records , 2014, ASIACRYPT.

[30]  M. Scott,et al.  Endomorphisms for Faster Elliptic Curve Cryptography on a Large Class of Curves , 2011, Journal of Cryptology.

[31]  Matthijs J. Coster,et al.  Addition Chain Heuristics , 1989, CRYPTO.