A New Algorithm for High-Speed Modular Multiplication Design

Modular exponentiation in public-key cryptosystems is usually achieved by repeated modular multiplications on large integers. Designing high-speed modular multiplication is thus very crucial to speed up the decryption/encryption process. In this paper, we first explore how to relax the data dependency that exists between multiplication, quotient determination, and modular reduction in the conventional Montgomery modular multiplication algorithm. Then, we propose a new modular multiplication algorithm for high-speed hardware design. The speed improvement is achieved by reducing the critical path delay from the 4-to-2 to 3-to-2 carry-save addition. The resulting time complexity of our development is further decreased by simultaneously performing the multiplication and modular reduction processes. Experimental results show that the developed modular multiplication can operate at speeds higher than those of related work. When the proposed modular multiplication is applied to modular exponentiation, both time and area-time advantages are obtained.

[1]  C. D. Walter,et al.  Montgomery exponentiation needs no final subtractions , 1999 .

[2]  Donald E. Knuth The Art of Computer Programming 2 / Seminumerical Algorithms , 1971 .

[3]  Cheng-Wen Wu,et al.  A systolic RSA public key cryptosystem , 1996, 1996 IEEE International Symposium on Circuits and Systems. Circuits and Systems Connecting the World. ISCAS 96.

[4]  C. D. Walter,et al.  Systolic Modular Multiplication , 1993, IEEE Trans. Computers.

[5]  Ming-Der Shieh,et al.  A New Montgomery Modular Multiplication Algorithm and its VLSI Design for RSA Cryptosystem , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[6]  J. McCanny,et al.  Modified Montgomery modular multiplication and RSA exponentiation techniques , 2004 .

[7]  Dan I. Moldovan,et al.  Partitioning and Mapping Algorithms into Fixed Size Systolic Arrays , 1986, IEEE Transactions on Computers.

[8]  Çetin Kaya Koç,et al.  A Scalable Architecture for Modular Multiplication Based on Montgomery's Algorithm , 2003, IEEE Trans. Computers.

[9]  Tian-Sheuan Chang,et al.  A new RSA cryptosystem hardware design based on Montgomery's algorithm , 1998 .

[10]  P. L. Montgomery Modular multiplication without trial division , 1985 .

[11]  Sanu Mathew,et al.  An improved unified scalable radix-2 Montgomery multiplier , 2005, 17th IEEE Symposium on Computer Arithmetic (ARITH'05).

[12]  Jun Rim Choi,et al.  Two implementation methods of a 1024-bit RSA cryptoprocessor based on modified Montgomery algorithm , 2001, ISCAS 2001. The 2001 IEEE International Symposium on Circuits and Systems (Cat. No.01CH37196).

[13]  Colin D. Walter,et al.  Hardware Implementation of Montgomery's Modular Multiplication Algorithm , 1993, IEEE Trans. Computers.

[14]  K. Manochehri,et al.  Fast Montgomery modular multiplication by pipelined CSA architecture , 2004, Proceedings. The 16th International Conference on Microelectronics, 2004. ICM 2004..

[15]  Cheng-Wen Wu,et al.  Cellular-array modular multiplier for fast RSA public-key cryptosystem based on modified Booth's algorithm , 2003, IEEE Trans. Very Large Scale Integr. Syst..

[16]  A. P. Chandrakasan,et al.  An energy-efficient reconfigurable public-key cryptography processor , 2001, IEEE J. Solid State Circuits.

[17]  Alessandro Cilardo,et al.  Carry-save Montgomery modular exponentiation on reconfigurable hardware , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[18]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[19]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[20]  Keshab K. Parhi,et al.  VLSI digital signal processing systems , 1999 .

[21]  M. McLoone,et al.  Fast Montgomery modular multiplication and RSA cryptographic processor architectures , 2003, The Thrity-Seventh Asilomar Conference on Signals, Systems & Computers, 2003.

[22]  Adi Shamir,et al.  A method for obtaining digital signatures and public-key cryptosystems , 1978, CACM.

[23]  Whitfield Diffie,et al.  New Directions in Cryptography , 1976, IEEE Trans. Inf. Theory.

[24]  Nadia Nedjah,et al.  Three hardware architectures for the binary modular exponentiation: sequential, parallel, and systolic , 2006, IEEE Transactions on Circuits and Systems I: Regular Papers.

[25]  Nan Jiang,et al.  Parallelized radix-2 scalable Montgomery multiplier , 2007, 2007 IFIP International Conference on Very Large Scale Integration.