SoK: SCA-secure ECC in software – mission impossible?
Keywords: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
Copyright (c) 2022 Lejla Batina, Łukasz Chmielewski, Björn Haase, Niels Samwel, Peter Schwabe
This work is licensed under a Creative Commons Attribution 4.0 International License.