High-performance elliptic curve cryptography processor over NIST prime fields

This study presents a description of an efficient hardware implementation of an elliptic curve cryptography processor (ECP) for modern security applications. A high-performance elliptic curve scalar multiplication (ECSM), which is the key operation of an ECP, is developed both in affine and Jacobian coordinates over a prime field of size p using the National Institute of Standards and Technology standard. A novel combined point doubling and point addition architecture is proposed using efficient modular arithmetic to achieve high speed and low hardware utilisation of the ECP in Jacobian coordinates. This new architecture has been synthesised both in application-specific integrated circuit (ASIC) and field-programmable gate array (FPGA). A 65 nm CMOS ASIC implementation of the proposed ECP in Jacobian coordinates takes between 0.56 and 0.73 ms for 224-bit and 256-bit elliptic curve cryptography, respectively. The ECSM is also implemented in an FPGA and provides a better delay performance than previous designs. The implemented design is area-efficient and this means that it requires not many resources, without any digital signal processing (DSP) slices, on an FPGA. Moreover, the area–delay product of this design is very low compared with similar designs. To the best of the authors’ knowledge, the ECP proposed in this study over F p performs better than available hardware in terms of area and timing.

[1]  Yinan Kong,et al.  High-Performance FPGA Implementation of Modular Inversion over F_256 for Elliptic Curve Cryptography , 2015, 2015 IEEE International Conference on Data Science and Data Intensive Systems.

[2]  Tim Kerins,et al.  An FPGA implementation of a GF(p) ALU for encryption processors , 2004, Microprocess. Microsystems.

[3]  Kendall Ananyi,et al.  Flexible Hardware Processor for Elliptic Curve Cryptography Over NIST Prime Fields , 2009, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

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

[5]  Máire O'Neill,et al.  Hardware Elliptic Curve Cryptographic Processor Over$rm GF(p)$ , 2006, IEEE Transactions on Circuits and Systems I: Regular Papers.

[6]  Ingrid Verbauwhede,et al.  A compact FPGA-based architecture for elliptic curve cryptography over prime fields , 2010, ASAP 2010 - 21st IEEE International Conference on Application-specific Systems, Architectures and Processors.

[7]  Ali Afzali-Kusha,et al.  Low-Power Low-Energy Prime-Field ECC Processor Based on Montgomery Modular Inverse Algorithm , 2009, 2009 12th Euromicro Conference on Digital System Design, Architectures, Methods and Tools.

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

[9]  Ingrid Verbauwhede,et al.  Elliptic curve cryptography on embedded multicore systems , 2008, Des. Autom. Embed. Syst..

[10]  Patrick Longa,et al.  Fast and Flexible Elliptic Curve Point Arithmetic over Prime Fields , 2008, IEEE Transactions on Computers.

[11]  Dipanwita Roy Chowdhury,et al.  Parallel crypto-devices for GF(p) elliptic curve multiplication resistant against side channel attacks , 2009, Comput. Electr. Eng..

[12]  Debdeep Mukhopadhyay,et al.  Petrel: Power and Timing Attack Resistant Elliptic Curve Scalar Multiplier Based on Programmable ${\rm GF}(p)$ Arithmetic Unit , 2011, IEEE Transactions on Circuits and Systems I: Regular Papers.

[13]  Yi Liu,et al.  A 3-Stage Pipelined Large Integer Modular Arithmetic Unit for ECC , 2009, 2009 International Symposium on Information Engineering and Electronic Commerce.

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

[15]  Hsie-Chia Chang,et al.  Efficient Power-Analysis-Resistant Dual-Field Elliptic Curve Cryptographic Processor Using Heterogeneous Dual-Processing-Element Architecture , 2014, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[16]  Chih-Tsun Huang,et al.  A Highly Efficient Cipher Processor for Dual-Field Elliptic Curve Cryptography , 2009, IEEE Transactions on Circuits and Systems II: Express Briefs.

[17]  Arnaud Tisserand,et al.  SPA resistant Elliptic Curve Cryptosystem using Addition Chains , 2007, ITNG.

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

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

[20]  Khaled Salah,et al.  An FPGA implementation of NIST 256 prime field ECC processor , 2013, 2013 IEEE 20th International Conference on Electronics, Circuits, and Systems (ICECS).

[21]  Seok-Bum Ko,et al.  Scalable Elliptic Curve Cryptosystem FPGA Processor for NIST Prime Curves , 2015, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[22]  Yinan Kong,et al.  FPGA-based efficient modular multiplication for Elliptic Curve Cryptography , 2015, 2015 International Telecommunication Networks and Applications Conference (ITNAC).

[23]  Ingrid Verbauwhede,et al.  A Side-channel Attack Resistant Programmable PKC Coprocessor for Embedded Applications , 2007, 2007 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.