Fast Truncated Multiplication for Cryptographic Applications

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3659)


The Truncated Multiplication computes a truncated product, a contiguous subsequence of the digits of the product of 2 integers. A few truncated polynomial multiplication algorithms are presented and adapted to integers. They are based on the most often used n-digit full multiplication algorithms of time complexity O(n α ), with 1< α ≤ 2, but a constant times faster. For example, the least significant half products with Karatsuba multiplication need only 80% of the full multiplication time. The faster the multiplication, the less relative time saving can be achieved.


Computer Arithmetic Short product Truncated product Cryptography RSA cryptosystem Modular multiplication Montgomery multiplication Karatsuba multiplication Barrett multiplication Optimization 


  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.
    Barrett, P.D.: Implementing the Rivest Shamir Adleman public key encryption algorithm on standard digital signal processor. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 311–323. Springer, Heidelberg (1987)Google Scholar
  3. 3.
    Bernstein, D.J.: Fast Multiplication and its Applications,
  4. 4.
    Bosselaers, A., Govaerts, R., Vandewalle, J.: Comparison of three modular reduction functions. In: Stinson, D.R. (ed.) CRYPTO 1993. LNCS, vol. 773, pp. 175–186. Springer, Heidelberg (1994)Google Scholar
  5. 5.
    Brickell, E.F.: A Survey of Hardware Implementations of RSA. In: Brassard, G. (ed.) CRYPTO 1989. LNCS, vol. 435, pp. 368–370. Springer, Heidelberg (1990)Google Scholar
  6. 6.
    Burnikel, C., Ziegler, J.: Fast recursive division. MPI research report I-98-1-022Google Scholar
  7. 7.
    Chevallier-Mames, B., Joye, M., Paillier, P.: Faster Double-Size Modular Multiplication from Euclidean Multipliers. In: Walter, C.D., Koç, Ç.K., Paar, C. (eds.) CHES 2003. LNCS, vol. 2779, pp. 214–227. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  8. 8.
    Dhem, J.-F., Quisquater, J.-J.: Recent results on modular multiplications for smart cards. In: Schneier, B., Quisquater, J.-J. (eds.) CARDIS 1998. LNCS, vol. 1820, pp. 350–366. Springer, Heidelberg (2000)Google Scholar
  9. 9.
    GNU Multiple Precision Arithmetic Library manual,
  10. 10.
    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
  11. 11.
    Hanrot, G., Quercia, M., Zimmermann, P.: The Middle Product Algorithm, I. Rapport de recherche No. 4664, December 2 (2002),
  12. 12.
    Hensel, K.: Theorie der algebraische Zahlen. Leipzig (1908)Google Scholar
  13. 13.
    Jedwab, J., Mitchell, C.J.: Minimum weight modified signed-digit representations and fast exponentiation. Electronics Letters 25(17), 1171–1172 (1989)zbMATHCrossRefGoogle Scholar
  14. 14.
    Karp, A.H., Markstein, P.: High precision division and square root. ACM Transaction on Mathematical Software 23(4), 561–589 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Knuth, D.E.: The Art of Computer Programming. In: Seminumerical Algorithms, Algorithm 4.3.3R, vol. 2. Addison-Wesley, Reading (1981)Google Scholar
  16. 16.
    Krandick, W., Johnson, J.R.: Efficient Multiprecision Floating Point Multiplication with Exact Rounding, Tech. Rep. 93-76, RISC-Linz. Johannes Kepler University, Linz, Austria (1993)Google Scholar
  17. 17.
    Menezes, A., van Oorschot, P., Vanstone, S.: Handbook of Applied Cryptography. CRC Press, Boca Raton (1996)CrossRefGoogle Scholar
  18. 18.
    Montgomery, P.L.: Modular Multiplication without Trial Division. Mathematics of Computation 44(170), 519–521 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  19. 19.
    Mulders, T.: On computing short products. Tech Report No. 276, Dept of CS, ETH Zurich (November 1997),
  20. 20.
    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
  21. 21.
    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
  22. 22.
    Quisquater, J.-J.: Fast modular exponentiation without division. In: Rump session of Eurocrypt 1990, Arhus, Denmark (1990)Google Scholar
  23. 23.
    Rivest, R.L., 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
  24. 24.
    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
  25. 25.
  26. 26.
    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
  27. 27.
    Hars, L.: Long Modular Multiplication for Cryptographic Applications. In: Joye, M., Quisquater, J.-J. (eds.) CHES 2004. LNCS, vol. 3156, pp. 45–61. Springer, Heidelberg (2004), CrossRefGoogle Scholar
  28. 28.
    Hars, L.: Finding the Fastest Multiplication for Cryptographic Operand Lengths: Analytic and Experimental Comparisons (manuscript)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  1. 1.Seagate ResearchPittsburghUSA

Personalised recommendations