Side Channel Attack Resistance of the Elliptic Curve Point Multiplication using Gaussian Integers

Elliptic curve cryptography is a cornerstone of embedded security. However, hardware implementations of the elliptic curve point multiplication are prone to side channel attacks. In this work, we present a new key expansion algorithm which improves the resistance against timing and simple power analysis attacks. Furthermore, we consider a new concept for calculating the point multiplication, where the points of the curve are represented as Gaussian integers. Gaussian integers are subset of the complex numbers, such that the real and imaginary parts are integers. Since Gaussian integer fields are isomorphic to prime fields, this concept is suitable for many elliptic curves. Representing the key by a Gaussian integer expansion is beneficial to reduce the computational complexity and the memory requirements of a secure hardware implementation.

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

[2]  Tsuyoshi Takagi,et al.  Efficient Representations on Koblitz Curves with Resistance to Side Channel Attacks , 2005, ACISP.

[3]  Klaus Huber Codes over Gaussian integers , 1994, IEEE Trans. Inf. Theory.

[4]  Xu An Wang,et al.  SPA Resistant Scalar Multiplication Based on Addition and Tripling Indistinguishable on Elliptic Curve Cryptosystem , 2015, 2015 10th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC).

[5]  Fan Ming-yu,et al.  Secure and efficient elliptic curve cryptography resists side-channel attacks , 2009 .

[6]  Aleksey Koval,et al.  Security systems based on Gaussian integers: Analysis of basic operations and time complexity of secret transformations , 2011 .

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

[8]  Paul Zbinden,et al.  Flexible FPGA-Based Architectures for Curve Point Multiplication over GF(p) , 2016, 2016 Euromicro Conference on Digital System Design (DSD).

[9]  Algorithm for Gaussian Integer Exponentiation , 2016 .

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

[11]  Nicolas Thériault,et al.  SPA Resistant Left-to-Right Integer Recodings , 2005, IACR Cryptol. ePrint Arch..

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

[13]  Jurgen Freudenberger,et al.  A Compact Coprocessor for the Elliptic Curve Point Multiplication over Gaussian Integers , 2020 .

[14]  Shuguo Li,et al.  Improved Algorithms and Implementations for Integer to $\tau $ NAF Conversion for Koblitz Curves , 2018, IEEE Transactions on Circuits and Systems I: Regular Papers.

[15]  Martin Krisell Elliptic Curve Digital Signatures in RSA Hardware , 2013 .

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

[17]  Clemens Heuberger,et al.  Symmetric digit sets for elliptic curve scalar multiplication without precomputation , 2013, IACR Cryptol. ePrint Arch..

[19]  Mustapha Hedabou,et al.  Countermeasures for Preventing Comb Method Against SCA Attacks , 2005, ISPEC.

[20]  Kimmo Järvinen,et al.  A scalable architecture for elliptic curve point multiplication , 2004, Proceedings. 2004 IEEE International Conference on Field- Programmable Technology (IEEE Cat. No.04EX921).

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

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

[23]  Louis Goubin,et al.  A Refined Power-Analysis Attack on Elliptic Curve Cryptosystems , 2003, Public Key Cryptography.