An efficient implementation of multi-prime RSA on DSP processor

The Rivest, Shamir and Adleman (1978) RSA algorithmis a popular cryptography algorithm widely used in signing and encrypting operations for security systems. Generally, the software implementations of the RSA algorithm are based on 2-prime RSA. The multi-prime RSA has been proposed to speed up RSA implementations. Both 2-prime and multi-prime implementations require squaring reduction and multiplication reduction of multi-precision integers. The Montgomery (1985) reduction algorithm is the most efficient for the squaring and multiplication reductions. We present a new method to implement the Montgomery squaring reduction, which speeds up squaring reduction by 10-15% for various key sizes. Furthermore, a multi-prime 1024-bit RSA signing operation is implemented on the TI TMS320C6201 DSP processor with the new reduction method. As a result, the signing operation can be finished within 6 ms, which is about twice faster than the RSA implementation of Itoh, Takenaka, Torii, Temma and Kurihara (see Proc. of CHES'99, p.61-71, 1999) on the same DSP platform.

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

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

[3]  Daniel M. Gordon,et al.  A Survey of Fast Exponentiation Methods , 1998, J. Algorithms.

[4]  Burton S. Kaliski,et al.  A Cryptographic Library for the Motorola DSP56000 , 1991, EUROCRYPT.

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

[6]  Matthijs J. Coster,et al.  Addition Chain Heuristics , 1989, CRYPTO.

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

[8]  Kouichi Itoh,et al.  Fast Implementation of Public-Key Cryptography ona DSP TMS320C6201 , 1999, CHES.

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

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

[11]  Paul Barrett,et al.  Implementing the Rivest Shamir and Adleman Public Key Encryption Algorithm on a Standard Digital Signal Processor , 1986, CRYPTO.

[12]  Chris J. Mitchell,et al.  Algorithms for software implementations of RSA , 1989 .

[13]  M. Markovic,et al.  Optimization of RSA algorithm implementation on TI TMS320C54x signal processors , 2001, 5th International Conference on Telecommunications in Modern Satellite, Cable and Broadcasting Service. TELSIKS 2001. Proceedings of Papers (Cat. No.01EX517).

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

[15]  Tolga Acar,et al.  Analyzing and comparing Montgomery multiplication algorithms , 1996, IEEE Micro.