Skip to main content
Log in

A fast optimal parallel algorithm for a short addition chain

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Given a natural number e, an addition chain for e is a finite sequence of numbers having the following properties: (1) the first number is one, (2) every element is the sum of two earlier elements, and (3) the given number occurs at the end of the sequence. We introduce a fast optimal algorithm to generate a chain of short length for the number e of n-bits. The algorithm is based on the right–left binary strategy and barrel shifter circuit. The algorithm uses \(O((\frac{n}{\log {n}})^2)\) processors and runs in \(O((\log {n})^2)\) time under exclusive read exclusive write parallel random access machine.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. Akl S (1997) Parallel computation: models and methods. Prentice Hall, Upper Saddle River

    Google Scholar 

  2. Bahig H (2006) Improved generation of minimal addition chains. Computing 78:161–172

    Article  MathSciNet  MATH  Google Scholar 

  3. Bergeron F, Berstel J, Brlek S (1994) Efficient computation of addition chains. J de Theorie Nombres de Bordeaux 6:21–38

    Article  MathSciNet  MATH  Google Scholar 

  4. Bergeron F, Berstel J, Brlek S, Duboc C (1989) Addition chains using continued fractions. J Algorithms 10:403–412

    Article  MathSciNet  MATH  Google Scholar 

  5. Bos J, Coster M (1990) Matthijs. Addition chain heuristics. In: Proceedings on advances in cryptology, vol 435. LNCS, pp 400–407

  6. Chin YH, Tsai YH (1985) Algorithms for finding the shortest addition chain. In: Proceedings of national computer symposium, Kaoshiung, Taiwan, Dec 20–22, pp 1398–1414

  7. Downey P, Leong B, Sethi R (1981) Computing sequences with addition chains. SIAM J Comput 3:638–646

    Article  MathSciNet  MATH  Google Scholar 

  8. Gordon DM (1998) A survey of fast exponentiation methods. J Algorithms 27(1):129–146

    Article  MathSciNet  MATH  Google Scholar 

  9. Karp R, Ramachandran V (1990) Parallel Algorithms for Shared Memory Machines. In: Van Leeuwwen J (ed) Handbook of Theoretical Computer Science. Algorithm and Complexity, vol A. Elsevier, pp 869–941

  10. Khaled F, Hazem B, Hatem B, Ragab A (2011) Binary addition chain on EREW PRAM. In: Lecture notes in computer science, vol 7017, pp 321–330

  11. Knuth D (1973) The art of computer programming: seminumerical algorithms, vol 2. Addison-Wesley, Boston

    MATH  Google Scholar 

  12. Kunihiro N, Yamamoto H (1998) Window and extended window methods for addition chain and addition-substraction chain, special section on cryptography and information security. IEICE Trans Fundam E81–A:72–81

    Google Scholar 

  13. Kunihiro N, Yamamoto H (2000) New methods for generating short addition chains. IEICE Trans Fundam E83–A(1):60–67

    Google Scholar 

  14. Lee Y, Kim H, Hong S, Yoon H (2006) Expansion of sliding window method for finding shorter addition/subtraction-chains. Int J Netw Secur 2(1):34–40

    Google Scholar 

  15. Li Y, Ma Q (2010) Design and implementation of layer extended shortest addition chains database for fast modular exponentiation in RSA. In: 2010 International Conference on Web Information Systems and Mining, China, IEEE proceeding, pp 136–139

  16. Jrvinen K, Dimitrov V, AzarderakhshA R (2015) Generalization of addition chains and fast inversions in binary fields. IEEE Trans Comput 64(9):2421–2432

    Article  MathSciNet  Google Scholar 

  17. Nedjah N, Mourelle LM (2002) Minimal addition chains using genetic algorithms. In: Proceedings of the Fifteenth International Conference on Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, Lecture notes in computer science, vol 2358, pp 88–98

  18. Nedjah N, Mourelle LM (2006) Towards minimal addition chains using ant colony optimization. J Math Model Algorithms 5(4):525–543

    Article  MathSciNet  MATH  Google Scholar 

  19. Nedjah N, Mourelle LM (2011) High-performance SoC-based implementation of modular exponentiation using evolutionary addition chains for efficient cryptography. Appl Soft Comput 11:4302–4311

    Article  Google Scholar 

  20. Rooij P (1995) Efficient Exponentiation using precomputation and vector addition chains. In: Advances in cryptology–EUROCRYPT ’94 (Perugia). Lecture notes in computer science, vol 950, pp 389–399

  21. Schonhage A, Strassen V (1971) Schnelle multiplikation GroBer Zahlen. Computing 7:281–292

    Article  MATH  Google Scholar 

  22. Thurber EG (1999) Efficient generation of minimal length addition chains. SIAM J Comput 28:1247–1263

    Article  MathSciNet  MATH  Google Scholar 

  23. Wakerly John F (2006) Digital design: principles and practices package. Prentice Hall, Upper Saddle River

    MATH  Google Scholar 

Download references

Acknowledgements

The author would like to thank the editor and referees for their valuable comments to improve this presentation.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hazem M. Bahig.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bahig, H.M. A fast optimal parallel algorithm for a short addition chain. J Supercomput 74, 324–333 (2018). https://doi.org/10.1007/s11227-017-2129-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-017-2129-0

Keywords

Navigation