Customizable elliptic curve cryptosystems

This paper presents a method for producing hardware designs for elliptic curve cryptography (ECC) systems over the finite field GF(2/sup m/), using the optimal normal basis for the representation of numbers. Our field multiplier design is based on a parallel architecture containing multiple m-bit serial multipliers; by changing the number of such serial multipliers, designers can obtain implementations with different tradeoffs in speed, size and level of security. A design generator has been developed which can automatically produce a customised ECC hardware design that meets user-defined requirements. To facilitate performance characterization, we have developed a parametric model for estimating the number of cycles for our generic ECC architecture. The resulting hardware implementations are among the fastest reported: for a key size of 270 bits, a point multiplication in a Xilinx XC2V6000 FPGA at 35 MHz can run over 1000 times faster than a software implementation on a Xeon computer at 2.6 GHz.

[1]  Alfred Menezes,et al.  Guide to Elliptic Curve Cryptography , 2004, Springer Professional Computing.

[2]  Berk Sunar,et al.  An Efficient Optimal Normal Basis Type II Multiplier , 2001, IEEE Trans. Computers.

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

[4]  Sorin A. Huss,et al.  A Reconfigurable System on Chip Implementation for Elliptic Curve Cryptography over GF(2n) , 2002, CHES.

[5]  Lejla Batina,et al.  Flexible Hardware Design for RSA and Elliptic Curve Cryptosystems , 2004, CT-RSA.

[6]  Philip Heng Wai Leong,et al.  A microcoded elliptic curve processor using FPGA technology , 2002, IEEE Trans. Very Large Scale Integr. Syst..

[7]  Christof Paar,et al.  A High Performance Reconfigurable Elliptic Curve Processor for GF(2m) , 2000, CHES.

[8]  Trieu-Kien Truong,et al.  VLSI Architectures for Computing Multiplications and Inverses in GF(2m) , 1983, IEEE Transactions on Computers.

[9]  Hans Eberle,et al.  Generic implementations of elliptic curve cryptography using partial reduction , 2002, CCS '02.

[10]  Gordon B. Agnew,et al.  A Fast Elliptic Curve Cryptosystem , 1990, EUROCRYPT.

[11]  Joos Vandewalle,et al.  Hardware/software co-design of an elliptic curve public-key cryptosystem , 2001, 2001 IEEE Workshop on Signal Processing Systems. SiPS 2001. Design and Implementation (Cat. No.01TH8578).

[12]  Alfred Menezes,et al.  Software Implementation of Elliptic Curve Cryptography over Binary Fields , 2000, CHES.

[13]  Jürgen Teich,et al.  Reconfigurable implementation of elliptic curve crypto algorithms , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[14]  T. Itoh,et al.  A Fast Algorithm for Computing Multiplicative Inverses in GF(2^m) Using Normal Bases , 1988, Inf. Comput..

[15]  Nele Mentens,et al.  An FPGA Implementation of an Elliptic Curve Processor over GF ( 2 m ) , 2004 .

[16]  Peng Ning,et al.  Efficient Software Implementation for Finite Field Multiplication in Normal Basis , 2001, ICICS.

[17]  Christof Paar,et al.  Efficient Algorithms for Elliptic Curve Cryptosystems , 1997, CRYPTO.

[18]  Adam D Woodbury,et al.  Efficient Algorithms for Elliptic Curve Cryptosystems on Embedded Systems , 2001 .

[19]  Anantha Chandrakasan,et al.  An Energy Efficient Reconfigurable Public-Key Cryptograhpy Processor Architecture , 2000, CHES.

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

[21]  Harald Niederreiter,et al.  Introduction to finite fields and their applications: List of Symbols , 1986 .

[22]  Sorin A. Huss,et al.  A reconfigurable coprocessor for finite field multiplication in GF (2 n) , 2002 .

[23]  Gordon B. Agnew,et al.  An Implementation of Elliptic Curve Cryptosystems Over F2155 , 1993, IEEE J. Sel. Areas Commun..

[24]  Christof Paar,et al.  Cryptography in Embedded Systems : An Overview , 2003 .

[25]  Gerald E. Sobelman,et al.  Elliptic Curve Scalar Multiplier Design Using FPGAs , 1999, CHES.

[26]  Tim Kerins,et al.  Fully Parameterizable Elliptic Curve Cryptography Processor over GF(2) , 2002, FPL.

[27]  Bart Preneel,et al.  An FPGA implementation of an elliptic curve processor GF(2m) , 2004, GLSVLSI '04.

[28]  Tarek A. El-Ghazawi,et al.  Implementation of Elliptic Curve Cryptosystems on a reconfigurable computer , 2003, Proceedings. 2003 IEEE International Conference on Field-Programmable Technology (FPT) (IEEE Cat. No.03EX798).

[29]  Francisco Rodríguez-Henríquez,et al.  Parallel Multipliers Based on Special Irreducible Pentanomials , 2003, IEEE Trans. Computers.

[30]  Sorin A. Huss,et al.  Rapid prototyping for hardware accelerated elliptic curve public-key cryptosystems , 2001, Proceedings 12th International Workshop on Rapid System Prototyping. RSP 2001.

[31]  M. Anwar Hasan,et al.  High performance FPGA based elliptic curve cryptographic co-processor , 2004, International Conference on Information Technology: Coding and Computing, 2004. Proceedings. ITCC 2004..

[32]  A. Menezes,et al.  Applications of Finite Fields , 1992 .

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

[34]  William M. Daley,et al.  Digital Signature Standard (DSS) , 2000 .

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

[36]  Ricardo Dahab,et al.  Fast Multiplication on Elliptic Curves over GF(2m) without Precomputation , 1999, CHES.

[37]  Alfred Menezes,et al.  Software Implementation of the NIST Elliptic Curves Over Prime Fields , 2001, CT-RSA.

[38]  Alfred Menezes,et al.  The State of Elliptic Curve Cryptography , 2000, Des. Codes Cryptogr..

[39]  Kouichi Itoh,et al.  Implementation of Elliptic Curve Cryptographic Coprocessor over GF(2m) on an FPGA , 2000, CHES.

[40]  H. Pietiläinen Elliptic Curve Cryptography on Smart Cards , 2000 .

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

[42]  Christof Paar,et al.  Elliptic Curve Cryptography on Smart Cards without Coprocessors , 2001, CARDIS.

[43]  S. Vanstone,et al.  OPTIMAL NORMAL BASES IN GF(p”)* , 2002 .

[44]  Martin Christopher Rosner,et al.  Elliptic Curve Cryptosystems on Reconfigurable Hardware , 1999 .

[45]  Nigel P. Smart,et al.  The Hessian Form of an Elliptic Curve , 2001, CHES.

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

[47]  Jürgen Teich,et al.  Tradeoff analysis of FPGA based elliptic curve cryptography , 2002, 2002 IEEE International Symposium on Circuits and Systems. Proceedings (Cat. No.02CH37353).

[48]  Michael Rosing,et al.  Implementing elliptic curve cryptography , 1998 .

[49]  Akashi Satoh,et al.  A Scalable Dual-Field Elliptic Curve Cryptographic Processor , 2003, IEEE Trans. Computers.

[50]  Ronald C. Mullin,et al.  Optimal normal bases in GF(pn) , 1989, Discret. Appl. Math..