Architectures for Fast Modular Multiplication

Modular multiplication is the key ingredient needed to realize most public-key cryptographic primitives. In a modular setting, multiplications are carried in two steps: namely a usual integer arithmetic followed by a reduction step. Progress in any of these steps naturally improves the modular multiplication but it is not possible to interleave the best algorithms of these stages. In this study, we propose architectures for recently proposed method of interleaving the Karatsuba-Ofman multiplier and bipartite modular reduction on the upper most layer of Karatsuba-Ofman's recursion. We manage to come up with a high performance modular multiplication architecture by taking the advantage of a fast multiplication and a parallel reduction method.

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

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

[3]  Holger Sedlak,et al.  The RSA Cryptography Processor , 1987, EUROCRYPT.

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

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

[6]  Naofumi Takagi,et al.  Bipartite Modular Multiplication , 2005, CHES.

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

[8]  Manfred Schimmler,et al.  Area and time efficient modular multiplication of large integers , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

[9]  Blakely A Computer Algorithm for Calculating the Product AB Modulo M , 1983, IEEE Transactions on Computers.

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

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

[12]  N. Koblitz Elliptic curve cryptosystems , 1987 .

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

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

[15]  G. R. Blakley,et al.  A Computer Algorithm for Calculating the Product AB Modulo M , 1983, IEEE Trans. Computers.

[16]  Naofumi Takagi,et al.  Bipartite Modular Multiplication Method , 2008, IEEE Transactions on Computers.

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