be temporary or permanent and equivalent at logical
level to a bit flip, bit set, bit reset or bit stuck-at (on
single or multiple bits).
FAs exploit some unspecified circuit behavior, di-
rectly or not, in order to deduce the secret. For
instance, they can use differences between faulty
and correct outputs thanks to differential fault anal-
ysis (DFA) (Biham and Shamir, 1997).
Safe-error analysis (SEA) (Yen and Joye, 2000)
checks if the injected fault has an impact on the final
result. By determining whether a corrupted data was
effectively used or not, SEA is very efficient against
SCA protections based on useless/dummy operations.
Attackers can produce fault(s) on data, control or
external memory. In this paper, we only consider
faults on data since we target software implementa-
tions with on-chip memory.
Two types of protections exist against FAs: detec-
tion and correction schemes. Detection schemes al-
low various policy solutions when an attack occurs:
execution stop and re-run, algorithm change, eras-
ing/destroying secret values, etc. Detection can be
achieved at various levels: in hardware using intru-
sion sensors, at algorithm using redundant computa-
tions (spatial and/or temporal) or data integrity checks
for instance. Correction schemes use methods per-
forming the expected operations even in presence of
faults (e.g. use of majority voters). In this paper, we
only consider detection schemes.
4 ATTACKS AND PROTECTIONS
ON ECC
In this section, several SCAs, FAs and related protec-
tions for ECC are recalled. Attacks objective is to re-
cover the secret scalar/key k from execution(s) of the
scalar multiplication Q = [k]P.
4.1 SCAs on ECC and Protections
During SM, each sequence of curve-level operations
depends on the actual scalar bits. If ADD and DBL op-
erations can be distinguished (through physical mea-
surements) and DA algorithm is used, then SM is vul-
nerable to SPA. Indeed, a 1 key bit generates a DBL
followed by an ADD, while a 0 key bit only generates
a DBL. If partial traces for ADD and DBL are different
(even with a few differences), an attacker is able to
distinguish what operation is made and then recover
the key bits from the trace as illustrated in Figure 1.
Several other SCAs on ECC exist including tim-
ings, DPA, zero-value point attacks (Akishita and
Takagi, 2003) or doubling attacks (Fouque and
DBL ADD
1
DBL
0
DBL
0
DBL
0
DBL ADD
1
Figure 1: Basic DA algorithm.
Valette, 2003). In practice, some randomization
schemes can be applied against DPA-like attacks in
many protocols. Then SPA-like ones are considered
as a major threat in ECC. In this paper, we only deal
with SPA-like attacks.
Among SCA protections uniformization and ran-
domization have been widely used in ECC.
Among uniformization countermeasures, double
and add always (DAA) (Coron, 1999) and ML are
typical SPA protections. The DAA algorithm is simi-
lar to DA where a useless ADD is added when the key
bit is zero. This is good for SPA protection but very
bad for SEA ones (injecting a fault during the useless
ADD has not impact on the output, then the attacker
knows that the operation was a dummy one and the
corresponding key bit was 0).
ML is widely used in practice since it is SPA and
SEA resistant. The same operations sequence is made
regardless of the key bits. Attackers cannot distin-
guish ADD and DBL patterns. Furthermore, all inter-
mediate computations impact the final result.
Among randomization countermeasures, scalar
randomization and point blinding protections have
been proposed against DPA (Coron, 1999). Scalar
randomization consists in performing [k]P = [k + r ·
λ]P where r is the order of E and λ is a random num-
ber. Point blinding performs [k]P = [k](P + R) − [k]R
instead of [k]P, where R is a random point. Other
randomization countermeasures use projective coor-
dinates. Before each SM execution, P coordinates are
randomized thanks to the multiplication by a random
number λ, so P = (λx
P
,λy
P
,λz
P
). This new P is em-
ployed during SM.
4.2 FAs on ECC and Protections
Attackers can inject faults on several types of data
during SM: curves parameters, scalar, field represen-
tation (Ciet and Joye, 2005), base point (Biehl et al.,
2000) and current point (Bl
¨
omer et al., 2006). The
attacker aims DFA or transferring the ECDLP (dis-
crete logarithm problem) onto a weaker curve. Com-
monly, the transfer is possible since b parameter in
curve equation 1 is unused during SM. Below, two
attack examples with different targets are recalled.
In (Biehl et al., 2000), the base point
e
P belongs to
e
E
SW
instead of E
SW
. Curve
e
E
SW
has a smaller order
than E
SW
and it is defined by:
e
b = y
2
− x
3
− ax. (2)
SECRYPT 2018 - International Conference on Security and Cryptography
406