Modular Multiplication and Exponentiation Architectures for Fast RSA Cryptosystem Based on Digit Serial Computation

Modular exponentiation with large modulus and exponent, which is usually accomplished by repeated modular multiplications, has been widely used in public key cryptosystems. Typically, the Montgomery's modular-multiplication algorithm is used since no trial division is necessary, and the carry-save addition (CSA) is employed to reduce the critical path. In this paper, we optimize the Montgomery's multiplication and propose architectures to perform the least significant bit first and the most significant bit first algorithms. The developed architecture has the following distinctive characteristics: 1) use of digit serial approach for Montgomery multiplication. 2) Conversion of the CSA representation of intermediate multiplication using carry-skip addition. This allows the critical path to be reduced, albeit with a small-area speed penalty; and 3) precompute the quotient value in Montgomery's iteration in order to speed up the operating frequency. In this paper, we present results in Xilinx Virtex 5 and in 0.18-μm application-specified integrated circuit technologies. For fair comparison with previous works, Xilinx Virtex 2 results are reported. Experimental results show that the proposed modular exponentiation and modular-multiplication design obtain the best delay performance compared with the published works and outperform them in terms of area-time complexity as well.

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

[2]  Donald Ervin Knuth,et al.  The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information , 1978 .

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

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

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

[6]  Thomas Blum,et al.  Montgomery modular exponentiation on reconfigurable hardware , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[7]  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).

[8]  Zhou Dexin,et al.  Hardware Implementation of Finite-field Arithmetic , 2003 .

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

[10]  Joos Vandewalle,et al.  Hardware implementation of a Montgomery modular multiplier in a systolic array , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[11]  Qiang Liu,et al.  A regular parallel RSA processor , 2004, The 2004 47th Midwest Symposium on Circuits and Systems, 2004. MWSCAS '04..

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

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

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

[15]  Apostolos P. Fournaris,et al.  A new RSA encryption architecture and hardware implementation based on optimized Montgomery multiplication , 2005, 2005 IEEE International Symposium on Circuits and Systems.

[16]  G. Bioul,et al.  Synthesis of Arithmetic Circuits: FPGA, ASIC and Embedded Systems , 2006 .

[17]  Lei Yang,et al.  An efficient CSA architecture for montgomery modular multiplication , 2007, Microprocess. Microsystems.

[18]  María José Moure,et al.  Features, Design Tools, and Application Domains of FPGAs , 2007, IEEE Transactions on Industrial Electronics.

[19]  Eric Monmasson,et al.  FPGA Design Methodology for Industrial Control Systems—A Review , 2007, IEEE Transactions on Industrial Electronics.

[20]  Ming-Der Shieh,et al.  A New Modular Exponentiation Architecture for Efficient Design of RSA Cryptosystem , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[21]  Nadia Nedjah,et al.  High-Performance Hardware of the Sliding-Window Method for Parallel Computation of Modular Exponentiations , 2009, International Journal of Parallel Programming.

[22]  Thambipillai Srikanthan,et al.  Selecting Profitable Custom Instructions for Area–Time-Efficient Realization on Reconfigurable Architectures , 2009, IEEE Transactions on Industrial Electronics.

[23]  Francisco J. Azcondo,et al.  Course on Digital Electronics Oriented to Describing Systems in VHDL , 2010, IEEE Transactions on Industrial Electronics.