Hardware implementation of an elliptic curve processor over GF(p)

We describe a hardware implementation of an arithmetic processor which is efficient for bit-lengths suitable for both commonly used types of public key cryptography (PKC), i.e., elliptic curve (EC) and RSA cryptosystems. Montgomery modular multiplication in a systolic array architecture is used for modular multiplication. The processor consists of special operational blocks for Montgomery modular multiplication, modular addition/subtraction, EC point doubling/addition, modular multiplicative inversion, EC point multiplier, projective to affine coordinates conversion and Montgomery to normal representation conversion.

[1]  Wilm E. Donath,et al.  Hardware implementation , 1968, AFIPS '68 (Fall, part II).

[2]  Atsuko Miyaji,et al.  Efficient Elliptic Curve Exponentiation Using Mixed Coordinates , 1998, ASIACRYPT.

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

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

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

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

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

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

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

[10]  A. P. Chandrakasan,et al.  An energy-efficient reconfigurable public-key cryptography processor , 2001, IEEE J. Solid State Circuits.

[11]  Paul C. Kocher,et al.  Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems , 1996, CRYPTO.

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

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

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

[15]  Joos Vandewalle,et al.  Hardware implementation of a Montgomery modular multiplier in a systolic array , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[16]  Paul C. Kocher,et al.  Differential Power Analysis , 1999, CRYPTO.

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

[18]  Keshab K. Parhi,et al.  Performance-Scalable Array Architectures for Modular Multiplication , 2002, J. VLSI Signal Process..

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

[20]  Behrooz Parhami,et al.  Computer arithmetic - algorithms and hardware designs , 1999 .

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

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

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

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

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

[26]  M Stojcev,et al.  Logic and Computer Design Fundamentals , 1998 .

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

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

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

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

[31]  E. Brickell,et al.  Fast Exponentiation with Precomputation: Algorithms and Lower Bounds , 1993 .

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

[33]  N. Koblitz A Course in Number Theory and Cryptography , 1987 .

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

[35]  Kaya Ko,et al.  RSA Hardware Implementation , 1995 .

[36]  Vipul Gupta,et al.  An End-to-End Systems Approach to Elliptic Curve Cryptography , 2002, CHES.

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

[38]  Christof Paar,et al.  A Scalable GF(p) Elliptic Curve Processor Architecture for Programmable Hardware , 2001, CHES.

[39]  Alfred Menezes,et al.  Elliptic curve public key cryptosystems , 1993, The Kluwer international series in engineering and computer science.

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

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

[42]  Johannes Wolkerstorfer,et al.  Dual-Field Arithmetic Unit for GF(p) and GF(2m) , 2002, CHES.

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

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

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

[46]  Peter J. Ashenden,et al.  The Designer's Guide to VHDL , 1995 .

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

[48]  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..

[49]  Shimon Even Systolic Modular Multiplication , 1990, CRYPTO.