SLIDE 12 Protected ECC Accelerator
100 200 300 50 100 150 200 250 300 350 #transit. cycles DBL operation Mastrovito Unprotected Activity trace 0.00 0.02 0.04 0.06 0.08 current [mA] DBL operation Mastrovito Unprotected Current measures 100 200 300 #transit. DBL operation Mastrovito Protected Activity trace 0.00 0.04 0.08 0.12 0.16 current [mA] DBL operation Mastrovito Protected Current measures 100 200 300 #transit. ADD operation Mastrovito Protected Activity trace
Arnaud Tisserand. CNRS – Lab-STICC. Hardware Support for Physical Security 45/57
Double-Base Number System
Standard radix-2 representation: k =
t−1
ki2i = kt−1
2t−1
kt−2
2t−2
. . .
. . .
k2
22
k1
21
k0
20 t explicit digits implicit weights
Digits: ki ∈ {0, 1}, typical size: t ∈ {160, . . . , 600} Double-Base Number System (DBNS): k =
n−1
kj2aj3bj = kn−1 an−1 bn−1 . . . . . . . . . k1 a1 b1 k0 a0 b0 n (2, 3)−terms explicit “digits” explicit ranks aj, bj ∈ N, kj ∈ {1} or kj ∈ {−1, 1}, size n ≈ log t DBNS is a very redundant and sparse representation:
1701 = (11010100101)2
1701 = 243 + 1458 = 2035 + 2136 = (1, 0, 5), (1, 1, 6) = 1728 − 27 = 2633 − 2033 = (1, 6, 3), (−1, 0, 3) = 729 + 972 = 2036 + 2235 = (1, 0, 6), (1, 2, 5) . . .
Arnaud Tisserand. CNRS – Lab-STICC. Hardware Support for Physical Security 46/57
Randomized DBNS Recoding of the Scalar k
encryption signature etc
protocol level
[k]P ADD(P, Q) DBL(P) TPL(P)
curve level
x±y x×y . . .
field level
On-the-fly DBNS random recoding for the scalar k randomly recode windows of the scalar k on-the-fly: 1 + 2 ⇆ 3 1 + 3 ⇆ 22 1 + 23 ⇆ 32 . . . control number of reductions (←) and expansions (→) Point tripling operation Q = TPL(P) = P + P + P k
ki block time
recoding rules possible rules
recoded ki (,ki+1)
random choice
DBNS is redundant ⇒ security ր DBNS is sparse ⇒ 20–30 % speed ր Ref: [2] Chabrier, Pamula & Tisserand. Asilomar 2009
Arnaud Tisserand. CNRS – Lab-STICC. Hardware Support for Physical Security 47/57
Comparison ECC 256 vs HECC 128 (1/2)
area [slices] time [ms]
ECC HECC
600 800 1000 1200 1400 1600 1800 2000 2200 5 10 15 20 25 30 5,4 5,2 5,1 4,4 4,2 4,1 3,4 3,2 3,1 2,4 2,2 2,1 1,4 1,2 1,1 12,2 12,1 11,2 11,1 10,2 10,1 9,2 9,1 8,2 8,1 7,2 7,1 6,2 6,1 5,2 5,1 4,2 4,1 3,2 3,1 2,2 2,1 1,2 1,1
On average HECC is 40 % faster than ECC for a similar silicon cost
Arnaud Tisserand. CNRS – Lab-STICC. Hardware Support for Physical Security 48/57