Practical Evaluation of Protected Residue Number System Scalar Multiplication

The Residue Number System (RNS) arithmetic is gaining grounds in public key cryptography, because it offers fast, efficient and secure implementations over large prime fields or rings of integers. In this paper, we propose a generic, thorough and analytic evaluation approach for protected scalar multiplication implementations with RNS and traditional Side Channel Attack (SCA) countermeasures in an effort to assess the SCA resistance of RNS. This paper constitutes the first robust evaluation of RNS software for Elliptic Curve Cryptography against electromagnetic (EM) side-channel attacks. Four different countermeasures, namely scalar and point randomization, random base permutations and random moduli operation sequence, are implemented and evaluated using the Test Vector Leakage Assessment (TVLA) and template attacks. More specifically, variations of RNS-based Montgomery Powering Ladder scalar multiplication algorithms are evaluated on an ARM Cortex A8 processor using an EM probe for acquisition of the traces. We show experimentally and theoretically that new bounds should be put forward when TVLA evaluations on public key algorithms are performed. On the security of RNS, our data and location dependent template attacks show that even protected implementations are vulnerable to these attacks. A combination of RNS-based countermeasures is the best way to protect against side-channel leakage.

[1]  Ingrid Verbauwhede,et al.  DPA, Bitslicing and Masking at 1 GHz , 2015, IACR Cryptol. ePrint Arch..

[2]  Pankaj Rohatgi,et al.  Template Attacks , 2002, CHES.

[3]  Michael Tunstall,et al.  Applying TVLA to Public Key Cryptographic Algorithms , 2016, IACR Cryptol. ePrint Arch..

[4]  Tanja Lange,et al.  Twisted Edwards Curves , 2008, AFRICACRYPT.

[5]  Craig Costello,et al.  Selecting elliptic curves for cryptography: an efficiency and security analysis , 2016, Journal of Cryptographic Engineering.

[6]  P. Rohatgi,et al.  A testing methodology for side channel resistance , 2011 .

[7]  Frederik Vercauteren,et al.  Somewhat Practical Fully Homomorphic Encryption , 2012, IACR Cryptol. ePrint Arch..

[8]  Jean-Claude Bajard,et al.  An RNS Montgomery Modular Multiplication Algorithm , 1998, IEEE Trans. Computers.

[9]  Lejla Batina,et al.  Template attacks using classification algorithms , 2016, 2016 IEEE International Symposium on Hardware Oriented Security and Trust (HOST).

[10]  Arnaud Tisserand,et al.  Single Base Modular Multiplication for Efficient Hardware RNS Implementations of ECC , 2015, CHES.

[11]  François Durvaux,et al.  Towards Sound and Optimal Leakage Detection Procedure , 2017, IACR Cryptol. ePrint Arch..

[12]  Thomas Plantard,et al.  Selected RNS Bases for Modular Multiplication , 2009, 2009 19th IEEE Symposium on Computer Arithmetic.

[13]  Nicolas Guillermin A high speed coprocessor for elliptic curve scalar multiplication over Fp , 2010 .

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

[15]  Benedikt Heinz,et al.  Localized Electromagnetic Analysis of Cryptographic Implementations , 2012, CT-RSA.

[16]  Elisabeth Oswald,et al.  Template Attacks on ECDSA , 2009, WISA.

[17]  Apostolos P. Fournaris Fault and Power Analysis Attack Protection Techniques for Standardized Public Key Cryptosystems , 2017 .

[18]  Guillaume Fumaroli,et al.  Blinded Fault Resistant Exponentiation , 2006, FDTC.

[19]  Jean-Claude Bajard,et al.  Modular multiplication and base extensions in residue number systems , 2001, Proceedings 15th IEEE Symposium on Computer Arithmetic. ARITH-15 2001.

[20]  Eric Peeters,et al.  Parallel FPGA implementation of RSA with residue number systems - can side-channel threats be avoided? , 2003, 2003 46th Midwest Symposium on Circuits and Systems.

[21]  Christophe Giraud,et al.  An RSA Implementation Resistant to Fault Attacks and to Simple Power Analysis , 2006, IEEE Transactions on Computers.

[22]  Richard J. Lipton,et al.  On the Importance of Checking Cryptographic Protocols for Faults (Extended Abstract) , 1997, EUROCRYPT.

[23]  Shai Halevi,et al.  An Improved RNS Variant of the BFV Homomorphic Encryption Scheme , 2019, IACR Cryptol. ePrint Arch..

[24]  Peter Schwabe,et al.  Online template attacks , 2014, Journal of Cryptographic Engineering.

[25]  Thanos Stouraitis,et al.  Hardware-fault attack handling in RNS-based Montgomery multipliers , 2013, 2013 IEEE International Symposium on Circuits and Systems (ISCAS2013).

[26]  Julien Eynard,et al.  A Full RNS Variant of FV Like Somewhat Homomorphic Encryption Schemes , 2016, SAC.

[27]  Laurent Imbert,et al.  Leak Resistant Arithmetic , 2004, CHES.

[28]  Pankaj Rohatgi,et al.  Efficient Side­channel Testing for Public Key Algorithms: Rsa Case Study 2. Introduction , 2011 .

[29]  Apostolos P. Fournaris,et al.  Fault and Power Analysis Attack Resistant RNS based Edwards Curve Point Multiplication , 2015, CS2@HiPEAC.

[30]  Johann Heyszl,et al.  Dissecting Leakage Resilient PRFs with Multivariate Localized EM Attacks - A Practical Security Evaluation on FPGA , 2017, IACR Cryptol. ePrint Arch..

[31]  Julien Eynard,et al.  Fault Detection in RNS Montgomery Modular Multiplication , 2013, 2013 IEEE 21st Symposium on Computer Arithmetic.

[32]  Laurent Imbert,et al.  Attacking Randomized Exponentiations Using Unsupervised Learning , 2014, COSADE.

[33]  Dakshi Agrawal,et al.  The EM Side-Channel(s) , 2002, CHES.

[34]  Jean-Claude Bajard,et al.  Evaluation of Resilience of randomized RNS implementation , 2018, IACR Cryptol. ePrint Arch..

[35]  Ingrid Verbauwhede,et al.  An Updated Survey on Secure ECC Implementations: Attacks, Countermeasures and Cost , 2012, Cryptography and Security.

[36]  Nicolas Guillermin A coprocessor for secure and high speed modular arithmetic , 2011, IACR Cryptol. ePrint Arch..

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

[38]  François Durvaux,et al.  How to Certify the Leakage of a Chip? , 2014, IACR Cryptol. ePrint Arch..

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

[40]  Apostolos P. Fournaris,et al.  Residue Number System as a side channel and fault injection attack countermeasure in elliptic curve cryptography , 2016, 2016 International Conference on Design and Technology of Integrated Systems in Nanoscale Era (DTIS).

[41]  Josep Balasch,et al.  On the Cost of Lazy Engineering for Masked Software Implementations , 2014, CARDIS.

[42]  Jean-Claude Bajard,et al.  Combining Montgomery Ladder for Elliptic Curves Defined over $\F_p$ and RNS Representation , 2006 .

[43]  Apostolos P. Fournaris,et al.  Secure and Efficient RNS Software Implementation for Elliptic Curve Cryptography , 2017, 2017 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW).

[44]  Thanos Stouraitis,et al.  Efficient RNS Implementation of Elliptic Curve Point Multiplication Over ${\rm GF}(p)$ , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[45]  Jianqing Fan,et al.  To How Many Simultaneous Hypothesis Tests Can Normal, Student's t or Bootstrap Calibration Be Applied? , 2006, math/0701003.

[46]  Atsushi Shimbo,et al.  Cox-Rower Architecture for Fast Parallel Montgomery Multiplication , 2000, EUROCRYPT.

[47]  Denis Flandre,et al.  A Formal Study of Power Variability Issues and Side-Channel Attacks for Nanoscale Devices , 2011, EUROCRYPT.

[48]  Laurent Imbert,et al.  Electromagnetic Analysis on RSA Algorithm Based on RNS , 2013, 2013 Euromicro Conference on Digital System Design.