Abstract
Cryptosystems require the computation of modular exponentiation, this operation is related to the problem of finding a minimal addition chain. However, obtaining the shortest addition chain of length n is an NP-Complete problem whose search space size is proportional to n!. This paper introduces a novel idea to compute the minimal addition chain problem, through an implementation of a Simulated Annealing (SA) algorithm. The representation used in our SA is based on Factorial Number System (FNS). We use a fine-tuning process to get the best performance of SA using a Covering Array (CA), Diophantine Equation solutions (DE) and Neighborhood Functions (NF). We present a parallel implementation to execute the fine-tuning process using a Message Passing Interface (MPI) and the Single Program Multiple Data (SPMD) model. These features, allowed us to calculate minimal addition chains for benchmarks considered difficult in very short time, the experimental results show that this approach is a viable alternative to solve the solution of the minimal addition chain problem.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Michalewicz, Z.: Genetic Algorithms + Data Structures = Evolution Program, 3rd edn. Springer, Heidelberg (1996)
Nedjah, N., de Macedo Mourelle, L.: Minimal Addition Chain for Efficient Modular Exponentiation Using Genetic Algorithms. In: Hendtlass, T., Ali, M. (eds.) IEA/AIE 2002. LNCS (LNAI), vol. 2358, pp. 88–98. Springer, Heidelberg (2002)
Gordon, D.M.: A Survey of Fast Exponentiation Methods. Journal of Algorithms, 129–146 (1998)
Downey, P., Leong, B., Sethi, R.: Computing Sequences with Addition Chains”. SIAM Journal on Computing, 638–646 (1981)
Cruz-Cortés, N., Rodríguez-Henríquez, F., Juárez-Morales, R., Coello Coello, C.A.: Finding Optimal Addition Chains Using a Genetic Algorithm Approach. In: Hao, Y., Liu, J., Wang, Y.-P., Cheung, Y.-m., Yin, H., Jiao, L., Ma, J., Jiao, Y.-C. (eds.) CIS 2005. LNCS (LNAI), vol. 3801, pp. 208–215. Springer, Heidelberg (2005)
de Castro, L.N., Timmis, J.: An Introduction to Artificial, Immune Systems: A New Computational Intelligence Paradigm. Springer, Heidelberg (2002) ISBN: 978-1-85233-594-6
Nedjah, N., Mourelle, L.M.: Efficient Pre-processing for Large Window-Based Modular Exponentiation Using Genetic Algorithms. In: Chung, P.W.H., Hinde, C.J., Ali, M. (eds.) IEA/AIE 2003. LNCS, vol. 2718, pp. 165–194. Springer, Heidelberg (2003)
Bos, J.N.E., Coster, M.J.: Addition Chain Heuristics. In: Brassard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 400–407. Springer, Heidelberg (1990)
Bleichenbacher, D., Flammenkamp, A.: An efficient Algorithm for Computing Shortest Additions Chains, Bell Labs (1997), http://www.homes.uni-bielefeld.de/achim/ac.ps.gz
Bergeron, F., Berstel, J., Brlek, S.: Efficient Computation of Addition Chains. Journal de Théorie des Nombres de Bordeaux tome 6, 21–38 (1994)
Lopez-Escogido, D., Torres-Jimenez, J., Rodriguez-Tello, E., Rangel-Valdez, N.: Strength Two Covering Arrays Construction Using a SAT Representation. In: Gelbukh, A., Morales, E.F. (eds.) MICAI 2008. LNCS (LNAI), vol. 5317, pp. 44–53. Springer, Heidelberg (2008)
Quinn Reference, M.J.: Parallel Programming in C with MPI and OpenMP. Mc Graw Hill Higher Education (2004) ISBN 0-07-282256-2
Grabysz, A.D., Rabenseifner, R.: Nesting OpenMP in MPI to Implement a Hybrid Communication Method of Parallel Simulated Annealing on a Cluster of SMP Nodes. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds.) Euro-Par 2006. LNCS, vol. 4128, pp. 1075–1084. Springer, Heidelberg (2006)
Strout, M.M., Kreaseck, B., Hovland, P.D.: Data-Flow Analysis for MPI Programs. In: IEEE Computer Society, International Conference on Parallel Processing, pp. 175–184. IEEE Compurer Society (2006) ISBN 0-7695-2636-5
Thurber, E.W.: Shortest Addition Chains, http://wwwhomes.uni-bielefeld.de/achim/addition_chain.html
Laisan, C.A.: Sur la Numeration Factorielle, Application Aux Permutations. Bulletin de la Societe Mathematique de France, 176–183 (1888)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jose-Garcia, A., Romero-Monsivais, H., Hernandez-Morales, C.G., Rodriguez-Cristerna, A., Rivera-Islas, I., Torres-Jimenez, J. (2011). A Simulated Annealing Algorithm for the Problem of Minimal Addition Chains. In: Antunes, L., Pinto, H.S. (eds) Progress in Artificial Intelligence. EPIA 2011. Lecture Notes in Computer Science(), vol 7026. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24769-9_23
Download citation
DOI: https://doi.org/10.1007/978-3-642-24769-9_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24768-2
Online ISBN: 978-3-642-24769-9
eBook Packages: Computer ScienceComputer Science (R0)