A Custom Instruction Approach for Hardware and Software Implementations of Finite Field Arithmetic over $$\mathbb{F}_{{2^{{163}} }} $$ using Gaussian Normal Bases

This paper presents a comprehensive analysis of the design of custom instructions in a reconfigurable hardware platform dedicated to accelerate arithmetic operations in the binary field $$\mathbb{F}_{{2^{{163}} }} $$, using a Gaussian normal basis representation. The resulting platform is capable of running real applications, thus allowing a precise measurement of the execution overheads, and a fair comparison of the hardware and software speedups at several implementation levels. By using this approach, we determine which field operations (e.g., multiplication) are better suited to constrained environments, and which ones provide an enhanced performance in general-purpose systems. Experimental results reveal that by using our fastest field multiplier implemented as a custom instruction in a combined hardware/software approach, we accelerate point multiplication (the fundamental operation in Elliptic Curve Cryptography) over 126 times.

[1]  Wai Keung Wong,et al.  FPGA implementation of a microcoded elliptic curve cryptographic processor , 2000, Proceedings 2000 IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00871).

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

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

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

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

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

[7]  Johann Großschädl,et al.  Instruction Set Extensions for Fast Arithmetic in Finite Fields GF( p) and GF(2m) , 2004, CHES.

[8]  M. Anwar Hasan,et al.  Fast Normal Basis Multiplication Using General Purpose Processors , 2001, Selected Areas in Cryptography.

[9]  Johann Großschädl,et al.  A Simple Architectural Enhancement for Fast and Flexible Elliptic Curve Cryptography over Binary Finite Fields GF(2m) , 2004, Asia-Pacific Computer Systems Architecture Conference.

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

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

[12]  Ricardo Dahab,et al.  Multiplication using Normal Bases , 2004 .

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

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

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

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

[17]  Ricardo Dahab,et al.  Software multiplication using Gaussian normal bases , 2006, IEEE Transactions on Computers.

[18]  Wayne Luk,et al.  Customising Hardware Designs for Elliptic Curve Cryptography , 2004, SAMOS.

[19]  Ian F. Blake,et al.  Low complexity normal bases , 1989, Discret. Appl. Math..

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

[21]  Wenbo Mao,et al.  Modern Cryptography: Theory and Practice , 2003 .

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

[23]  Ricardo Dahab,et al.  High-Speed Software Multiplication in F2m , 2000, INDOCRYPT.

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

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