High-Speed Modular Multiplication

  • Wieland Fischer
  • Jean-Pierre Seifert
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2964)


Sedlak’s [Sed] modular multiplication algorithm is one of the first real silicon implementations to speed up the RSA signature generation [RSA] on a smartcard, cf. [DQ]. Theoretically, Sedlak’s algorithm needs on average n/3 steps (i.e., additions/subtractions) to compute the modular product of n-bit numbers. In [FS2] we presented a theoretical algorithm how to speed up Sedlak’s algorithm by an arbitrary integral factor i ≥ 2, i.e., our new algorithm needs on average n/(3 · i) steps in order to compute the modular product of n-bit numbers. As an extension of [FS2] the present paper will show how this theoretical framework can be turned into a practical implementation.


Booth recoding Computer arithmetic Implementation issues Sedlak’s algorithm Modular multiplication 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Ba]
    Barrett, P.: Implementing the rivest shamir and adleman public key encryption algorithm on a standard digital signal processor. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)Google Scholar
  2. [Br]
    Brickell, E.F.: A fast modular multiplication algorithm with application to two key cryptography. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)Google Scholar
  3. [Bo]
    Booth, A.D.: A signed binary multiplication technique. Q. J. Mech. Appl. Math. 4(2), 236–240 (1951)zbMATHCrossRefMathSciNetGoogle Scholar
  4. [DJQ]
    Dhem, J.-F., Joye, M., Quisquater, J.-J.: Normalisation in diminished-radix modulus transformation. Electronics Letters 33(23), 1931 (1997)CrossRefGoogle Scholar
  5. [DQ]
    Dhem, J.-F., Quisquater, J.-J.: Recent results on modular multiplication for smart cards. In: Schneier, B., Quisquater, J.-J. (eds.) CARDIS 1998. LNCS, vol. 1820, pp. 336–357. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  6. [FS1]
    Fischer, W., Seifert, J.-P.: Increasing the bitlength of a crypto-coprocessor. In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 71–81. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. [FS2]
    Fischer, W., Seifert, J.-P.: Unfolded modular multiplication. In: Ibaraki, T., Katoh, N., Ono, H. (eds.) ISAAC 2003. LNCS, vol. 2906, pp. 726–735. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. [Gro]
    Großschädel, J.: A bit-serial unified multiplier architecture for finite fields GF(p) and GF(2m). In: Koç, Ç.K., Naccache, D., Paar, C. (eds.) CHES 2001. LNCS, vol. 2162, pp. 206–223. Springer, Heidelberg (2001)Google Scholar
  9. [JY]
    Joye, M., Yen, S.-M.: Optimal left-to-right binary signed-digit exponent recoding. IEEE Transactions on Computers 49(7), 740–748 (2000)CrossRefGoogle Scholar
  10. [Kor]
    Koren, I.: Computer Arithmetic Algorithms. Brookside Court Publishers, Amherst (1998)Google Scholar
  11. [Mac]
    MacSorley, O.L.: High-speed arithmetic in binary computers. Proc. IRE 49, 67–91 (1961)CrossRefMathSciNetGoogle Scholar
  12. [Mon]
    Montgomery, P.L.: Modular multiplication without trial division. Math. of Computation 44, 519–521 (1985)zbMATHCrossRefGoogle Scholar
  13. [NMR]
    Naccache, D., M’Raihi, D.: Arithmetic co-processors for public-key cryptography: The state of the art. IEEE Micro, 14–24 (1996)Google Scholar
  14. [Om]
    Omura, J.: A public key cell design for smart card chips. In: Proc. of IT Workshop, pp. 27–30 (1990)Google Scholar
  15. [Par]
    Parhami, B.: Computer Arithmetic. Oxford University Press, New York (2000)Google Scholar
  16. [Spa]
    Spaniol, O.: Arithmetik in Rechenanlagen. B. G. Teubner, Stuttgart (1976)zbMATHGoogle Scholar
  17. [Q]
    Quisquater, J.-J.: Encoding system according to the so-called RSA method, by means of a microcontroller and arrangement implementing this system, U.S. Patent #5,166,979, November 24 (1992)Google Scholar
  18. [RSA]
    Rivest, R., Shamir, A., Adleman, L.: A method for obtaining digital signatures and public-key cryptosystems. Comm. of the ACM 21, 120–126 (1978)zbMATHCrossRefMathSciNetGoogle Scholar
  19. [STK]
    Savas, E., Tenca, A.F., Koc, C.K.: A scalable and unified multiplier architecture for finite fields \(\mathbb{F}_{p}\) and \(\mathbb{F}_{2}\) k. In: Paar, C., Koç, Ç.K. (eds.) CHES 2000. LNCS, vol. 1965, p. 277. Springer, Heidelberg (2000)Google Scholar
  20. [Sed]
    Sedlak, H.: The RSA cryptographic Processor: The first High Speed One-Chip Solution. In: Price, W.L., Chaum, D. (eds.) EUROCRYPT 1987. LNCS, vol. 304, pp. 95–105. Springer, Heidelberg (1988)Google Scholar
  21. [WQ]
    de Waleffe, D., Quisquater, J.-J.: CORSAIR, a smart card for public-key cryptosystems. In: Menezes, A., Vanstone, S.A. (eds.) CRYPTO 1990. LNCS, vol. 537, pp. 503–513. Springer, Heidelberg (1991)Google Scholar
  22. [Wa]
    Walter, C.: Techniques for the Hardware Implementation of Modular Multiplication. In: Proc. of 2nd IMACS Internat. Conf. on Circuits, Systems and Computers, vol. 2, pp. 945–949 (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Wieland Fischer
    • 1
  • Jean-Pierre Seifert
    • 1
  1. 1.Infineon Technologies, Secure Mobile SolutionsMunichGermany

Personalised recommendations