An efficient common-multiplicand-multiplication method to the Montgomery algorithm for speeding up exponentiation

The modular exponentiation is a common operation for scrambling secret data and is used by several public-key cryptosystems, such as the RSA scheme and DSS digital signature scheme. However, the calculations involved in modular exponentiation are time-consuming especially when performed in software. In this paper, we propose an efficient CMM-MSD Montgomery algorithm by utilizing the Montgomery modular reduction method, common-multiplicand-multiplication (CMM) method, and minimal-signed-digit (MSD) recoding technique for fast modular exponentiation. By using the technique of recording the common signed-digit representations in the grouped substrings of exponent, our algorithm can improve the efficiency of both the original CMM exponentiation algorithm and the Montgomery multiplication algorithm. The fast modular exponentiation algorithm developed in this paper can be easily implemented in general signed-digit computing machine, and is therefore well suited for parallel implementation to fast evaluating modular exponentiation. Moreover, by using the proposed CMM-MSD Montgomery algorithm, on average the total number of single-precision multiplications can be reduced by about 38.9% and 26.68% as compared with Dusse-Kaliski's Montgomery algorithm and Ha-Moon's Montgomery algorithm, respectively.

[1]  George W. Reitwiesner,et al.  Binary Arithmetic , 1960, Adv. Comput..

[2]  Ning Zhang,et al.  Efficient elliptic curve scalar multiplication algorithms resistant to power analysis , 2007, Inf. Sci..

[3]  Ferrell S. Wheeler,et al.  Signed Digit Representations of Minimal Hamming Weight , 1993, IEEE Trans. Computers.

[4]  Der-Chyuan Lou,et al.  Fast modular multi-exponentiation using modified complex arithmetic , 2007, Appl. Math. Comput..

[5]  Kazuyoshi Takagi,et al.  A Fast Algorithm for Multiplicative Inversion in GF(2m) Using Normal Basis , 2001, IEEE Trans. Computers.

[6]  Chin-Chen Chang,et al.  Efficient residue number system iterative modular multiplication algorithm for fast modular exponentiation , 2008, IET Comput. Digit. Tech..

[7]  JaeCheol Ha,et al.  A Common-Multiplicand Method to the Montgomery Algorithm for Speeding up Exponentiation , 1998, Inf. Process. Lett..

[8]  Israel Koren Computer arithmetic algorithms , 1993 .

[9]  Tzong-Chen Wu,et al.  Improved generalisation common-multiplicand multiplications algorithm of Yen and Laih , 1995 .

[10]  Shmuel Tomi Klein Should one always use repeated squaring for modular exponentiation? , 2008, Inf. Process. Lett..

[11]  William Stallings,et al.  Cryptography and Network Security: Principles and Practice , 1998 .

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

[13]  Sung-Ming Yen,et al.  Improved Common-Multiplicand Multiplication and Fast Exponentiation by Exponent Decomposition , 1997 .

[14]  M. Syuto A High-Speed Binary to Residue Converter Using a Signed-Digit Number Representation , 2002 .

[15]  Algirdas Avizienis,et al.  Signed-Digit Numbe Representations for Fast Parallel Arithmetic , 1961, IRE Trans. Electron. Comput..

[16]  Young-Ho Park,et al.  Fast exponentiation in subgroups of finite fields , 2002 .

[17]  Graham A. Jullien,et al.  Complexity and Fast Algorithms for Multiexponentiations , 2000, IEEE Trans. Computers.

[18]  Taher ElGamal,et al.  A public key cyryptosystem and signature scheme based on discrete logarithms , 1985 .

[19]  Kazuyoshi Takagi,et al.  A VLSI Algorithm for Division in GF(2m) Based on Extended Binary GCD Algorithm , 2002, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..

[20]  Chin-Chen Chang,et al.  Fast exponentiation method obtained by folding the exponent in half , 1996 .

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

[22]  W. Neville Holmes,et al.  Binary Arithmetic , 2007, Computer.

[23]  David Thomas,et al.  The Art in Computer Programming , 2001 .

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

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

[26]  Der-Chyuan Lou,et al.  Fast binary multiplication by performing dot counting and complement recoding , 2007, Appl. Math. Comput..

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

[28]  Andrew D. Booth,et al.  A SIGNED BINARY MULTIPLICATION TECHNIQUE , 1951 .

[29]  Sung-Ming Yen,et al.  Common-multiplicand multiplication and its applications to public key cryptography , 1993 .

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

[31]  Chia-Long Wu,et al.  Fast exponentiation based on common-multiplicand-multiplication and minimal-signed-digit techniques , 2007, Int. J. Comput. Math..