Interactive Visualization Applets for Modular Exponentiation Using Addition Chains

  • Hatem M. Bahig
  • Yasser Kotb
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6077)


Online visualization systems have come to be heavily used in education, particularly for online learning. Most e-learning systems, including interactive learning systems, have been designed to simplify understanding the ideas of some main problems or in general overall course materials. This paper presents a novel interactive visualization system for one of the most important operation in public-key cryptosystems. This operation is modular exponentiation using addition chains. An addition chain for a natural number e is a sequence 1 = a 0 < a 1 < ... < a r  = e of numbers such that for each 0 < i ≤ r, a i  = a j  + a k for some 0 ≤ k ≤ j < i. Finding an addition chain with minimal length is NP-hard problem. The proposed system visualizes how to generate addition chains with minimal length using depth-first branch and bound technique and how to compute the modular exponentiation using addition chains.


addition chain branch and bound algorithm public-key cryptosystem visualization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bahig, H.: Improved generation of minimal addition chains. Computing 78, 161–172 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Bleichenbacher, D.: Efficiency and Security of Cryptosystems Based on Number Theory. ch. 4, A Docotor Thesis, Swiss Federal Institue of Technology Zurich, Zurich (1996)Google Scholar
  3. 3.
    Brusilovsky, P.: Adaptive and intelligent technologies for web-based education. Kunstliche Intelligenz. Special Issue on Intelligent Tutoring Systems and Teleteaching 4 (1999)Google Scholar
  4. 4.
    Cruz-Cortés, N., Rodríguez-Henríquez, F., Juárez-Morales, R., Coello Coello, C.: 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)CrossRefGoogle Scholar
  5. 5.
    Cruz-Cortés, N., Rodríguez-Henríquez, F., Juárez-Morales, R., Coello Coello, C.: An Artificial Immune System Heuristic for Generating Short Addition Chains. IEEE Trans. Evolutionary Computation 12(1), 1–24 (2008)CrossRefGoogle Scholar
  6. 6.
    Cattaneo, G., De Santis, A., Ferraro Petrillo, U.: Visualization of cryptographic protocols with GRACE. Journal of Visual Languages and Computing 19, 258–290 (2008)CrossRefGoogle Scholar
  7. 7.
    Chin, Y., Tsai, Y.: Algorithms for finding the shortest addition chain. In: Proceedings National Computer Symposium, Kaoshiung, Taiwan, pp. 1398–1414 (1985)Google Scholar
  8. 8.
  9. 9.
  10. 10.
    Downey, P., Leong, B., Sethi, R.: Computing sequences with addition chains. SIAM J. Computing 10(3), 638–646 (1981)zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Gordon, D.M.: A survey of fast exponentiation methods. J. Algorithms 122, 129–146 (1998)CrossRefGoogle Scholar
  12. 12.
    Knuth, D.E.: The Art of Computer Programming: Seminumerical Algorithms, 3rd edn., vol. 2, pp. 461–485. Addison-Wesley, Reading (1997)Google Scholar
  13. 13.
    Alejandro, L., Cruz-Cortés, N., Moreno-Armendáriz, M., Orantes-Jiménez, S.: Finding Minimal Addition Chains with a Particle Swarm Optimization Algorithm. LNCS, vol. 5845, pp. 680–691. Springer, Heidelberg (2009)Google Scholar
  14. 14.
    Nedjah, N., Mourelle, L.: Minimal Addition-Subtraction Chains Using Genetic Algorithms. In: Yakhno, T. (ed.) ADVIS 2002. LNCS, vol. 2457, pp. 303–313. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Nedjah, N., Mourelle, L.: Towards minimal addition chains using Ant colony optimization. Journal of Mathematical modeling and algorithms 5(4), 525–543 (2003)CrossRefMathSciNetGoogle Scholar
  16. 16.
    Nilsson, N.J.: Principles of Ariticial Intelligence, 2nd edn. Springer, Heidelberg (1982)Google Scholar
  17. 17.
    Rivest, R., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Communications of the ACM 21(2), 120–126 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Stasko, J., Hundhausen, C.: Algorithm Visualization. In: Fincher, S., Petre, M. (eds.) Computer Science Education Research, pp. 199–228 (2005)Google Scholar
  19. 19.
    Thurber, E.: Efficient generation of minimal length addition chains. SIAM J. Computing 28, 1247–1263 (1999)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Hatem M. Bahig
    • 1
  • Yasser Kotb
    • 1
  1. 1.Computer Science Division, Department of Mathematics, Faculty of ScienceAin Shams UniversityCairoEgypt

Personalised recommendations