SoK: SCA-secure ECC in software – mission impossible?


  • Lejla Batina Radboud University, Nijmegen, The Netherlands
  • Łukasz Chmielewski Masaryk University, Brno, Czech Republic; Radboud University, Nijmegen, The Netherlands
  • Björn Haase Endress+Hauser Liquid Analysis GmbH&Co. KG, Germany
  • Niels Samwel Radboud University, Nijmegen, The Netherlands
  • Peter Schwabe Max Planck Institute for Security and Privacy, Bochum, Germany; Radboud University, Nijmegen, The Netherlands



Elliptic Curve Cryptography, Side-Channel Analysis, Fault Injection


This paper describes an ECC implementation computing the X25519 keyexchange protocol on the Arm Cortex-M4 microcontroller. For providing protections against various side-channel and fault attacks we first review known attacks and countermeasures, then we provide software implementations that come with extensive mitigations, and finally we present a preliminary side-channel evaluation. To our best knowledge, this is the first public software claiming affordable protection against multiple classes of attacks that are motivated by distinct real-world application scenarios. We distinguish between X25519 with ephemeral keys and X25519 with static keys and show that the overhead to our baseline unprotected implementation is about 37% and 243%, respectively. While this might seem to be a high price to pay for security, we also show that even our (most protected) static implementation is at least as efficient as widely-deployed ECC cryptographic libraries, which offer much less protection.




How to Cite

Batina, L., Chmielewski, Łukasz, Haase, B., Samwel, N., & Schwabe, P. (2022). SoK: SCA-secure ECC in software – mission impossible?. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2023(1), 557–589.