This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Bipartite Modular Multiplication Method
February 2008 (vol. 57 no. 2)
pp. 157-164
This paper proposes a new fast method for calculating modular multiplication. The calculation is performed @using a new representation of residues modulo M called KT -residue. This representation enables the multiplier to be split into two parts which can then be processed separately, in parallel, potentially doubling the calculation speed. The upper part of the split multiplier can be processed by calculating a multiplication modulo M between the multiplicand and this part of the split multiplier. The lower part of the split multiplier can be processed by calculating a multiplication modulo M between the multiplicand, this part of the split multiplier and the inverse of a constant R, where R < M. Two different implementations based on this method are proposed. One uses an interleaved modular multiplier and an interleaved Montgomery multiplier. The other one generates the partial products for each part of the split multiplier separately, which are added and accumulated in a single pipelined unit. A radix-4 version of this hardware implementation is presented as an example. The proposed method is also suitable for software implementation in a multiprocessor environment.

[1] ANSI X9.30, Public Key Cryptography for the Financial Services Industry: Part 1: The Digital Signature Algorithm (DSA), Am. Nat'l Standards Inst., Am. Bankers Assoc., 1997.
[2] G.R. Blakley, “A Computer Algorithm for Calculating the Product AB Modulo M,” IEEE Trans. Computers, vol. 32, no. 5, pp. 497-500, May 1983.
[3] E.F. Brickell, “A Fast Modular Multiplication Algorithm with Application to Two Key Cryptography,” Advances in Cryptology— Proc. CRYPTO '82, pp. 51-60, 1983.
[4] W. Diffie and M.E. Hellman, “New Directions in Cryptography,” IEEE Trans. Information Theory, vol. 22, no. 11, pp. 644-654, Nov. 1976.
[5] T. ElGamal, “A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms,” IEEE Trans. Information Theory, vol. 31, no. 4, pp. 469-472, July 1985.
[6] W. Fischer and J.-P. Seifert, “Increasing the Bitlength of a Crypto-Coprocessor,” Proc. Fifth Int'l Workshop Cryptographic Hardware and Embedded Systems (CHES '03), pp. 71-81, 2003.
[7] M.E. Kaihara and N. Takagi, “A Hardware Algorithm for Modular Multiplication/Division,” IEEE Trans. Computers, vol. 54, no. 1, pp. 12-21, Jan. 2005.
[8] M.E. Kaihara and N. Takagi, “Bipartite Modular Multiplication,” Proc. Seventh Int'l Workshop Cryptographic Hardware and Embedded Systems (CHES '05), pp. 201-210, 2005.
[9] Ç.K. Koç, T. Acar, and B.S. Kaliski Jr., “Analyzing and Comparing Montgomery Multiplication Algorithms,” IEEE Micro, vol. 16, no. 3, pp. 26-33, June 1996.
[10] P. Kornerup, “High-Radix Modular Multiplication for Cryptosystems,” Proc. 11th IEEE Symp. Computer Arithmetic (ARITH-11), pp.277-283, 1993.
[11] P.L. Montgomery, “Modular Multiplication without Trial Division,” Math. Computation, vol. 44, no. 170, pp. 519-521, Apr. 1985.
[12] H. Orup, “Simplifying Quotient Determination in High-Radix Modular Multiplication,” Proc. 12th IEEE Symp. Computer Arithmetic (ARITH-12), pp. 193-199, 1995.
[13] R.L. Rivest, A. Shamir, and L. Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” Comm. ACM, vol. 21, no. 2, pp. 120-126, Feb. 1978.
[14] K.R. Sloan, “Comments on a Computer Algorithm for Calculating the Product AB Modulo M,” IEEE Trans. Computers, vol. 34, no. 3, pp. 290-292, Mar. 1985.
[15] N. Takagi, “A Radix-4 Modular Multiplication Hardware Algorithm for Modular Exponentiation,” IEEE Trans. Computers, vol. 41, no. 8, pp. 949-956, Aug. 1990.
[16] A.F. Tenca, G. Todorov, and Ç.K. Koç, “High-Radix Design of a Scalable Modular Multiplier,” Proc. Second Int'l Workshop Cryptographic Hardware and Embedded Systems (CHES '01), pp. 185-201, 2001.
[17] C.D. Walter, “Space/Time Trade-Offs for Higher Radix Modular Multiplication Using Repeated Addition,” IEEE Trans. Computers, vol. 46, no. 2, pp. 139-141, Feb. 1997.
[18] C.D. Walter, “Systolic Modular Multiplication,” IEEE Trans. Computers, vol. 42, no. 3, pp. 376-378, Mar. 1993.
[19] H. Wu, “Montgomery Multiplier and Squarer for a Class of Finite Fields,” IEEE Trans. Computers, vol. 51, no. 5, pp. 521-529, May 2002.

Index Terms:
Computer arithmetic, Algorithms
Citation:
Marcelo Kaihara, Naofumi Takagi, "Bipartite Modular Multiplication Method," IEEE Transactions on Computers, vol. 57, no. 2, pp. 157-164, Feb. 2008, doi:10.1109/TC.2007.70793
Usage of this product signifies your acceptance of the Terms of Use.