Cryptology ePrint Archive: Report 2016/923

Attacking embedded ECC implementations through cmov side channels

Erick Nascimento and Lukasz Chmielewski and David Oswald and Peter Schwabe

Abstract: Side-channel attacks against implementations of elliptic-curve cryptography have been extensively studied in the literature and a large tool-set of countermeasures is available to thwart different attacks in different contexts. The current state of the art in attacks and countermeasures is nicely summarized in multiple survey papers, the most recent one by Danger et al. However, any combination of those countermeasures is ineffective against attacks that require only _a single trace_ and directly target a conditional move (cmov) -- an operation that is at the very foundation of all scalar-multiplication algorithms. This operation can either be implemented through arithmetic operations on registers or through various different approaches that all boil down to loading from or storing to a secret address. In this paper we demonstrate that such an attack is indeed possible for ECC software running on AVR ATmega microcontrollers, using a protected version of the popular $\mu$NaCl library as an example. For the targeted implementations, we are able to recover 99.6% of the key bits for the arithmetic approach and 95.3% of the key bits for the approach based on secret addresses, with confidence levels 76.1% and 78.8%, respectively. All publicly available ECC software for the AVR that we are aware of uses one of the two approaches and is thus in principle vulnerable to our attacks.

Category / Keywords: implementation / ECC, Montgomery ladder, power analysis, AVR, conditional move

Original Publication (with minor differences): Selected Areas in Cryptography (SAC 2016)

Date: received 22 Sep 2016, last revised 24 Sep 2016

Contact author: erick nogueira nascimento at gmail com

Available format(s): PDF | BibTeX Citation

Version: 20160924:220308 (All versions of this report)

Short URL:

Discussion forum: Show discussion | Start new discussion

[ Cryptology ePrint archive ]