Reconfigurable Hardware Architecture for Authenticated Key Agreement Protocol Over Binary Edwards Curve

In this article, we present a high-performance hardware architecture for Elliptic curve based (authenticated) key agreement protocol “Elliptic Curve Menezes, Qu and Vanstone” (ECMQV) over Binary Edwards Curve (BEC). We begin by analyzing inversion module on a 251-bit binary field. Subsequently, we present Field Programmable Gate Array (FPGA) implementations of the unified formula for computing elliptic curve point addition on BEC in affine and projective coordinates and investigate the relative performance of these two coordinates. Then, we implement the w-coordinate based differential addition formulae suitable for usage in Montgomery ladder. Next, we present a novel hardware architecture of BEC point multiplication using mixed w-coordinates of the Montgomery laddering algorithm and analyze it in terms of resistance to Simple Power Analysis (SPA) attack. In order to improve the performance, the architecture utilizes registers efficiently and uses efficient scheduling mechanisms for the BEC arithmetic implementations. Our implementation results show that the proposed architecture is resistant against SPA attack and yields a better performance when compared to the existing state-of-the-art BEC designs for computing point multiplication (PM). Finally, we present an FPGA design of ECMQV key agreement protocol using BEC defined over GF(2251). The execution of ECMQV protocol takes 66.47μs using 32,479 slices on Virtex-4 FPGA and 52.34μs using 15,988 slices on Virtex-5 FPGA. To the best of our knowledge, this is the first FPGA design of the ECMQV protocol using BEC.

[1]  Reza Azarderakhsh,et al.  Parallel and High-Speed Computations of Elliptic Curve Cryptography Using Hybrid-Double Multipliers , 2015, IEEE Transactions on Parallel and Distributed Systems.

[2]  John Kelsey,et al.  Recommendation for Random Number Generation Using Deterministic Random Bit Generators , 2014 .

[3]  T. Sansaloni,et al.  Fast FPGA-based pipelined digit-serial/parallel multipliers , 1999, ISCAS'99. Proceedings of the 1999 IEEE International Symposium on Circuits and Systems VLSI (Cat. No.99CH36349).

[4]  Bahram Rashidi,et al.  A Survey on Hardware Implementations of Elliptic Curve Cryptosystems , 2017, ArXiv.

[5]  Xiaojun Wang,et al.  Low latency flexible FPGA implementation of point multiplication on elliptic curves over GF(p) , 2017, Int. J. Circuit Theory Appl..

[6]  Craig Costello,et al.  Complete Addition Formulas for Prime Order Elliptic Curves , 2016, EUROCRYPT.

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

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

[9]  Reza Azarderakhsh,et al.  Efficient FPGA Implementations of Point Multiplication on Binary Edwards and Generalized Hessian Curves Using Gaussian Normal Basis , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[10]  Martijn Stam,et al.  On Montgomery-Like Representationsfor Elliptic Curves over GF(2k) , 2003, Public Key Cryptography.

[11]  Daniel J. Bernstein,et al.  Batch Binary Edwards , 2009, CRYPTO.

[12]  Apostolos P. Fournaris,et al.  Affine Coordinate Binary Edwards Curve Scalar Multiplier with Side Channel Attack Resistance , 2015, 2015 Euromicro Conference on Digital System Design.

[13]  Francisco Rodríguez-Henríquez,et al.  Cryptographic Algorithms on Reconfigurable Hardware (Signals and Communication Technology) , 2006 .

[14]  Tanja Lange,et al.  Handbook of Elliptic and Hyperelliptic Curve Cryptography , 2005 .

[15]  Wayne Luk,et al.  Customizable elliptic curve cryptosystems , 2005, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[16]  Hugo Krawczyk,et al.  SIGMA: The 'SIGn-and-MAc' Approach to Authenticated Diffie-Hellman and Its Use in the IKE-Protocols , 2003, CRYPTO.

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

[18]  Keshab K. Parhi,et al.  GPU accelerated elliptic curve cryptography in GF(2m) , 2010, 2010 53rd IEEE International Midwest Symposium on Circuits and Systems.

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

[20]  Hugo Krawczyk,et al.  HMQV: A High-Performance Secure Diffie-Hellman Protocol , 2005, CRYPTO.

[21]  Indranil Sengupta,et al.  Design of a high performance Binary Edwards Curve based processor secured against side channel analysis , 2012, Integr..

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

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

[24]  Tim Güneysu,et al.  MicroACP - A Fast and Secure Reconfigurable Asymmetric Crypto-Processor - -Overhead Evaluation of Side-Channel Countermeasures- , 2014, ARC.

[25]  Indranil Sengupta,et al.  High-Speed Unified Elliptic Curve Cryptosystem on FPGAs Using Binary Huff Curves , 2012, VDAT.

[26]  Augustin P. Sarr,et al.  Authenticated Key Agreement Protocols: Security Models, Analyses, and Designs. (Protocoles d'échanges de clefs authentifiés : modèles de sécurité, analyses et constructions) , 2010 .

[27]  Jean-Pierre Deschamps,et al.  Efficient Elliptic Curve Point Multiplication Using Digit-Serial Binary Field Operations , 2013, IEEE Transactions on Industrial Electronics.

[28]  Francisco Rodríguez-Henríquez,et al.  A fast implementation of multiplicative inversion over GF(2/sup m/) , 2005, International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II.

[29]  Soonhak Kwon,et al.  FPGA implementation of high performance elliptic curve cryptographic processor over GF , 2008, J. Syst. Archit..

[30]  Indranil Sengupta,et al.  FPGA implementation of binary edwards curve usingternary representation , 2011, GLSVLSI '11.

[31]  Mohammed Benaissa,et al.  High-Speed and Low-Latency ECC Processor Implementation Over GF( $2^{m})$ on FPGA , 2017, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[32]  Chester Rebeiro,et al.  High Speed Compact Elliptic Curve Cryptoprocessor for FPGA Platforms , 2008, INDOCRYPT.

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

[34]  Francisco Rodríguez-Henríquez,et al.  Cryptographic Algorithms on Reconfigurable Hardware , 2010 .

[35]  Tanja Lange,et al.  Binary Edwards Curves , 2008, CHES.

[36]  Marc Joye,et al.  The Montgomery Powering Ladder , 2002, CHES.

[37]  Nele Mentens,et al.  Completing the Complete ECC Formulae with Countermeasures , 2017 .

[38]  Chester Rebeiro,et al.  Pushing the Limits of High-Speed GF(2 m ) Elliptic Curve Scalar Multiplication on FPGAs , 2012, CHES.

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

[40]  Mohsen Machhout,et al.  Fast hardware implementation of ECDSA signature scheme , 2016, 2016 International Symposium on Signal, Image, Video and Communications (ISIVC).

[41]  Christof Paar,et al.  Itoh-Tsujii Inversion in Standard Basis and Its Application in Cryptography and Codes , 2002, Des. Codes Cryptogr..

[42]  Alfred Menezes,et al.  An Efficient Protocol for Authenticated Key Agreement , 2003, Des. Codes Cryptogr..

[43]  Georg Sigl,et al.  Fast FPGA Implementations of Diffie-Hellman on the Kummer Surface of a Genus-2 Curve , 2018, IACR Trans. Cryptogr. Hardw. Embed. Syst..

[44]  Jean-Sébastien Coron,et al.  Resistance against Differential Power Analysis for Elliptic Curve Cryptosystems , 1999, CHES.

[45]  Jean-Claude Bajard,et al.  A Secure and Efficient Authenticated Diffie-Hellman Protocol , 2009, EuroPKI.

[46]  Francisco Rodríguez-Henríquez,et al.  Speeding scalar multiplication over binary elliptic curves using the new carry-less multiplication instruction , 2011, Journal of Cryptographic Engineering.

[47]  Mike Scott,et al.  High performance hardware support for elliptic curve cryptography over general prime field , 2017, Microprocess. Microsystems.

[48]  John Kelsey,et al.  NIST Special Publication 800-90A: Recommendation for Random Number Generation Using Deterministic Random Bit Generators , 2011 .

[49]  Chester Rebeiro,et al.  Revisiting the Itoh-Tsujii Inversion Algorithm for FPGA Platforms , 2011, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[50]  Tsuyoshi Takagi,et al.  A Fast Parallel Elliptic Curve Multiplication Resistant against Side Channel Attacks , 2002, Public Key Cryptography.

[51]  Apostolos P. Fournaris,et al.  Designing efficient elliptic Curve Diffie-Hellman accelerators for embedded systems , 2015, 2015 IEEE International Symposium on Circuits and Systems (ISCAS).

[52]  Marc Joye,et al.  Weierstraß Elliptic Curves and Side-Channel Attacks , 2002, Public Key Cryptography.

[53]  Apostolos P. Fournaris,et al.  A High Speed Scalar Multiplier for Binary Edwards Curves , 2016, CS2@HiPEAC.

[54]  Shuguo Li,et al.  High-Performance Pipelined Architecture of Elliptic Curve Scalar Multiplication Over GF( ${2}^{m}$ ) , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[55]  Shuguo Li,et al.  High-Performance Pipelined Architecture of Point Multiplication on Koblitz Curves , 2018, IEEE Transactions on Circuits and Systems II: Express Briefs.

[56]  Masaaki Shirase,et al.  An architecture for elliptic curve cryptograph computation , 2005, CARN.