Hardware implementation of a Montgomery modular multiplier in a systolic array

This paper describes a hardware architecture for modular multiplication operation which is efficient for bit-lengths suitable for both commonly used types of public key cryptography (PKC) i.e. ECC and RSA cryptosystems. The challenge of current PKC implementations is to deal with long numbers (160-2048 bits) in order to achieve system's efficiency, as well as security. RSA, still the most popular PKC, has at its root the modular exponentiation operation. Modular exponentiation consists of repeated modular multiplications, which is also the basic operation for ECC protocols. The solution proposed in this work uses a systolic array implementation and can be used for arbitrary precisions. We also present modular exponentiation based on Montgomery's Multiplication Method (MMM).

[1]  Peter Kornerup,et al.  A Systolic, Linear-Array Multiplier for a Class of Right-Shift Algorithms , 1994, IEEE Trans. Computers.

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

[3]  Joos Vandewalle,et al.  Hardware architectures for public key cryptography , 2003, Integr..

[4]  Kalle Tammemäe,et al.  Modular Exponent Realization on FPGAs , 1998, FPL.

[5]  Victor S. Miller,et al.  Use of Elliptic Curves in Cryptography , 1985, CRYPTO.

[6]  Joos Vandewalle,et al.  Hardware implementation of an elliptic curve processor over GF(p) , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.

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

[8]  Elena Trichina,et al.  Scalable Algorithm for Montgomery Multiplication and Its Implementation on the Coarse-Grain Reconfigurable Chip , 2001, CT-RSA.

[9]  Çetin Kaya Koç,et al.  A Scalable Architecture for Montgomery Multiplication , 1999, CHES.

[10]  Lejla Batina,et al.  Montgomery in Practice: How to Do It More Efficiently in Hardware , 2002, CT-RSA.

[11]  Keshab K. Parhi,et al.  Performance-Scalable Array Architectures for Modular Multiplication , 2000, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors.

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

[13]  Peter Komerup,et al.  a A Systolic, Linear-Array Multiplier for a Class of Right-Shift Algorithms , 1994 .

[14]  Erkay Savas,et al.  A Scalable and Unified Multiplier Architecture for Finite Fields GF(p) and GF(2m) , 2000, CHES.

[15]  Christof Paar,et al.  High-Radix Montgomery Modular Exponentiation on Reconfigurable Hardware , 2001, IEEE Trans. Computers.

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

[17]  Çetin Kaya Koç,et al.  High-Radix Design of a Scalable Modular Multiplier , 2001, CHES.

[18]  Hideki Imai,et al.  High-Speed Implementation Methods for RSA Scheme , 1992, EUROCRYPT.

[19]  Colin D. Walter Precise Bounds for Montgomery Modular Multiplication and Some Potentially Insecure RSA Moduli , 2002, CT-RSA.

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

[21]  Kazuhiro Yokoyama,et al.  Elliptic curve cryptosystem , 2000 .

[22]  Ian F. Blake,et al.  Elliptic curves in cryptography , 1999 .

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

[24]  A. Tiountchik Systolic modular exponentiation via Montgomery algorithm , 1998 .

[25]  C. D. Walter,et al.  Improved linear systolic array for fast modular exponentiation , 2000 .

[26]  PaarChristof,et al.  High-Radix Montgomery Modular Exponentiation on Reconfigurable Hardware , 2001 .

[27]  William P. Marnane Optimised bit serial modular multiplier for implementation on field programmable gate arrays , 1998 .

[28]  Hideki Imai,et al.  Montgomery modular-multiplication method and systolic arrays suitable for modular exponentiation , 1994 .

[29]  Cheng-Wen Wu,et al.  An improved Montgomery's algorithm for high-speed RSA public-key cryptosystem , 1999, IEEE Trans. Very Large Scale Integr. Syst..

[31]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[32]  Wei-Chang Tsai,et al.  Two systolic architectures for modular multiplication , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[33]  Tsutomu Matsumoto,et al.  Systolic-Arrays for Modular Exponentiation Using Montgomery Method (Extended Abstract) , 1992, EUROCRYPT.

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

[35]  C. D. Walter,et al.  Montgomery's Multiplication Technique: How to Make It Smaller and Faster , 1999, CHES.

[36]  Charles R. Kime,et al.  Logic and Computer Design Fundamentals , 1997 .

[37]  C. D. Walter,et al.  Systolic Modular Multiplication , 1993, IEEE Trans. Computers.

[38]  Jun Rim Choi,et al.  Asynchronous implementation of 1024-bit modular processor for RSA cryptosystem , 2000, Proceedings of Second IEEE Asia Pacific Conference on ASICs. AP-ASIC 2000 (Cat. No.00EX434).

[39]  Colin D. Walter Still faster modular multiplication , 1995 .

[40]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[41]  Holger Orup,et al.  Simplifying quotient determination in high-radix modular multiplication , 1995, Proceedings of the 12th Symposium on Computer Arithmetic.