Low complexity and hardware-friendly spectral modular multiplication

The Schönhage-Strassen Algorithm (SSA) is an asymptotically fast multiplication algorithm with the complexity of O(l log l log log l) where l is the operand size. It outperforms other multiplication algorithms when l is large enough. One possible usage of such long integer multiplication is for cryptography. Innovated from SSA, the Interleaved Spectral Montgomery Modular Multiplication (ISM3) algorithm is proposed to accelerate the modular multiplication. ISM3 algorithm primarily interleaves the Montgomery modular multiplication algorithm between time and spectral (frequency) domain. We show that the tasks in each step of the proposed algorithm have little data dependency, and hence, extremely suitable for hardware implementation. We present the parallel ISM3 architecture and implement it on Xilinx Virtex-II and Virtex-6 FPGAs. Experimental results show that our 3838-bit ISM3 is faster than the previous Montgomery multiplier. Moreover, our design can complete a 7678-bit modular multiplication in 3398 cycles in 17.98 μs on a Virtex-6 device.

[1]  Vincent Rijmen,et al.  ECRYPT yearly report on algorithms and keysizes , 2009 .

[2]  Reto Zimmermann,et al.  Efficient VLSI implementation of modulo (2/sup n//spl plusmn/1) addition and multiplication , 1999, Proceedings 14th IEEE Symposium on Computer Arithmetic (Cat. No.99CB36336).

[3]  Çetin Kaya Koç,et al.  Spectral Modular Exponentiation , 2007, 18th IEEE Symposium on Computer Arithmetic (ARITH '07).

[4]  Martin Fürer Faster integer multiplication , 2007, STOC '07.

[5]  Çetin Kaya Koç,et al.  Spectral modular arithmetic , 2006 .

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

[7]  Ray C. C. Cheung,et al.  Area-Efficient Architectures for Large Integer and Quadruple Precision Floating Point Multipliers , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

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

[9]  Kim-Fung Man,et al.  Reconfigurable Number Theoretic Transform architectures for cryptographic applications , 2010, 2010 International Conference on Field-Programmable Technology.

[10]  Tarek A. El-Ghazawi,et al.  New Hardware Architectures for Montgomery Modular Multiplication Algorithm , 2011, IEEE Transactions on Computers.

[11]  S KaliskiBurton,et al.  Analyzing and Comparing Montgomery Multiplication Algorithms , 1996 .

[12]  Anatolij A. Karatsuba,et al.  Multiplication of Multidigit Numbers on Automata , 1963 .

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

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

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

[16]  Arnold Schönhage,et al.  Schnelle Multiplikation großer Zahlen , 1971, Computing.

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

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

[19]  Wayne Luk,et al.  A Karatsuba-Based Montgomery Multiplier , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[20]  J. Pollard,et al.  The fast Fourier transform in a finite field , 1971 .

[21]  H. Nussbaumer Fast Fourier transform and convolution algorithms , 1981 .

[22]  Marshall C. Pease,et al.  An Adaptation of the Fast Fourier Transform for Parallel Processing , 1968, JACM.

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

[24]  S. Cook,et al.  ON THE MINIMUM COMPUTATION TIME OF FUNCTIONS , 1969 .

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