Faster Double-Size Modular Multiplication from Euclidean Multipliers

  • Benoît Chevallier-Mames
  • Marc Joye
  • Pascal Paillier
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2779)


A novel technique for computing a 2n-bit modular multiplication using n-bit arithmetic was introduced at CHES 2002 by Fischer and Seifert. Their technique makes use of an Euclidean division based instruction returning not only the remainder but also the integer quotient resulting from a modular multiplication, i.e. on input x, y and z, both ⌊xy/ z⌋ and xy mod z are returned. A second algorithm making use of a special modular ‘multiply-and-accumulate’ instruction was also proposed.

In this paper, we improve on these algorithms and propose more advanced computational strategies with fewer calls to these basic operations, bringing in a speed-up factor up to 57%. Besides, when Euclidean multiplications themselves have to be emulated in software, we propose a specific modular multiplication based algorithm which surpasses original algorithms in performance by 71%.


Modular multiplication crypto-processors embedded cryptographic software efficient implementations RSA 


  1. 1.
    Bajard, J.-C., Didier, L.-S., Kornerup, P.: An RNS Montgomery multiplication algorithm. In: 13th IEEE Symposium on Computer Arithmetic (ARITH 13), pp. 234–239. IEEE Press, Los Alamitos (1997)CrossRefGoogle Scholar
  2. 2.
    Bajard, J.-C., Didier, L.-S., Kornerup, P.: An RNS Montgomery multiplication algorithm. IEEE Transactions on Computers 47(7), 766–776 (1998)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Barrett, P.: Implementing the Rivest Shamir and Adleman public key encryption algorithm on a standard digital signal processing. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)Google Scholar
  4. 4.
    Fischer, W., Seifert, J.-P.: Increasing the bitlength of crypto-coprocessors via smart hardware/software co-design. In: Kaliski Jr., B.S., Koç, Ç.K., Paar, C. (eds.) CHES 2002. LNCS, vol. 2523, pp. 71–81. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  5. 5.
    Montgomery, P.L.: Modular multiplication without trial divisions. Mathematics of Computations 44(170), 519–521 (1985)zbMATHCrossRefGoogle Scholar
  6. 6.
    Paillier, P.: Low-cost double-size modular exponentiation or how to stretch your cryptoprocessor. In: Imai, H., Zheng, Y. (eds.) PKC 1999. LNCS, vol. 1560, pp. 223–234. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  7. 7.
    Posh, K.C., Posh, R.: Modulo reduction in Residue Number Systems. IEEE Transactions on Parallel and Distributed Systems 6(5), 449–454 (1995)CrossRefGoogle Scholar
  8. 8.
    Quisquater, J.-J.: Fast modular exponentiation without division. In: Rump session of EUROCRYPT 1990, Arhus, Denmark (1990)Google Scholar
  9. 9.
    Schwemmlein, J., Posh, K.C., Posh, R.: RNS modulo reduction upon a restricted base value set and its applicability to RSA cryptography. Computer & Security 17(7), 637–650 (1998)CrossRefGoogle Scholar
  10. 10.
    Walter, C.D.: Faster modular multiplication by operand scaling. In: Feigenbaum, J. (ed.) CRYPTO 1991. LNCS, vol. 576, pp. 313–323. Springer, Heidelberg (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Benoît Chevallier-Mames
    • 1
  • Marc Joye
    • 1
  • Pascal Paillier
    • 2
  1. 1.Gemplus, Card Security Group, La VigieLa CiotatFrance
  2. 2.Gemplus, Cryptography GroupIssy-les-MoulineauxFrance

Personalised recommendations