Optimized FPGA-based elliptic curve cryptography processor for high-speed applications

Abstract In this paper, we introduce an FPGA-based processor for elliptic curve cryptography on Koblitz curves. The processor targets specifically to applications requiring very high speed. The processor is optimized for performing scalar multiplications, which are the basic operations of every elliptic curve cryptosystem, only on one specific Koblitz curve; the support for other curves is achieved by reconfiguring the FPGA. We combine efficient methods from various recent papers into a very efficient processor architecture. The processor includes carefully designed processing units dedicated for different parts of the scalar multiplication in order to increase performance. The computation is pipelined providing simultaneous processing of up to three scalar multiplications. We provide experimental results on an Altera Stratix II FPGA demonstrating that the processor computes a single scalar multiplication on average in 11.71 μ s and achieves a throughput of 235,550 scalar multiplications per second on NIST K-163.

[1]  P. L. Montgomery Speeding the Pollard and elliptic curve methods of factorization , 1987 .

[2]  Kimmo Järvinen,et al.  On Parallelization of High-Speed Processors for Elliptic Curve Cryptography , 2008, IEEE Trans. Very Large Scale Integr. Syst..

[3]  Neal Koblitz,et al.  CM-Curves with Good Cryptographic Properties , 1991, CRYPTO.

[4]  Christof Paar,et al.  Security on FPGAs: State-of-the-art implementations and attacks , 2004, TECS.

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

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

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

[8]  Mohammed Benaissa,et al.  Fast Elliptic Curve Cryptography on FPGA , 2008, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[9]  Jerome A. Solinas,et al.  Efficient Arithmetic on Koblitz Curves , 2000, Des. Codes Cryptogr..

[10]  Kimmo Järvinen,et al.  FPGA Design of Self-certified Signature Verification on Koblitz Curves , 2007, CHES.

[11]  Francisco Rodríguez-Henríquez,et al.  Parallel Formulations of Scalar Multiplication on Koblitz Curves , 2008, J. Univers. Comput. Sci..

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

[13]  Kimmo Järvinen,et al.  Efficient Circuitry for Computing τ-adic Non-Adjacent Form , 2006, 2006 13th IEEE International Conference on Electronics, Circuits and Systems.

[14]  Kimmo Järvinen,et al.  Fast point multiplication on Koblitz curves: Parallelization method and implementations , 2009, Microprocess. Microsystems.

[15]  Arjen K. Lenstra,et al.  Selecting Cryptographic Key Sizes , 2000, Journal of Cryptology.

[16]  Shreyas Sundaram,et al.  A public-key cryptographic processor for RSA and ECC , 2004 .

[17]  Kimmo Järvinen,et al.  On Repeated Squarings in Binary Fields , 2009, Selected Areas in Cryptography.

[18]  Kimmo Järvinen,et al.  High-Speed Elliptic Curve Cryptography Accelerator for Koblitz Curves , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[19]  Ricardo Dahab,et al.  Improved Algorithms for Elliptic Curve Arithmetic in GF(2n) , 1998, Selected Areas in Cryptography.

[20]  Jean-Jacques Quisquater,et al.  High-speed hardware implementations of Elliptic Curve Cryptography: A survey , 2007, J. Syst. Archit..

[21]  Siva Sai Yerubandi,et al.  Differential Power Analysis , 2002 .

[22]  Ramlan Mahmod,et al.  A New Addition Formula for Elliptic Curves over GF(2n) , 2002, IEEE Trans. Computers.

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

[24]  Billy Bob Brumley,et al.  Conversion Algorithms and Implementations for Koblitz Curve Cryptography , 2010, IEEE Transactions on Computers.

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

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

[27]  Vassil S. Dimitrov,et al.  FPGA Implementation of Point Multiplication on Koblitz Curves Using Kleinian Integers , 2006, CHES.

[28]  Ingrid Verbauwhede,et al.  Reconfigurable modular arithmetic logic unit supporting high-performance RSA and ECC over GF( p ) , 2007 .

[29]  M. Anwar Hasan,et al.  Look-Up Table-Based Large Finite Field Multiplication in Memory Constrained Cryptosystems , 2000, IEEE Trans. Computers.

[30]  Vassil S. Dimitrov,et al.  Provably Sublinear Point Multiplication on Koblitz Curves and Its Hardware Implementation , 2008, IEEE Transactions on Computers.