1/36 November 15, 2017 ECC’17
FAST ENDOMORPHISMS IN HARDWARE
Kimmo Järvinen1,2
1 University of Helsinki, Computer Science, Helsinki, Finland
kimmo.u.jarvinen@helsinki.fi
2 Xiphera Ltd., Espoo, Finland
FAST ENDOMORPHISMS IN HARDWARE Kimmo Jrvinen 1 , 2 1 University of - - PowerPoint PPT Presentation
FAST ENDOMORPHISMS IN HARDWARE Kimmo Jrvinen 1 , 2 1 University of Helsinki, Computer Science, Helsinki, Finland kimmo.u.jarvinen@helsinki.fi 2 Xiphera Ltd., Espoo, Finland kimmo.jarvinen@xiphera.com The 21st Workshop on Elliptic Curve
1/36 November 15, 2017 ECC’17
1 University of Helsinki, Computer Science, Helsinki, Finland
2 Xiphera Ltd., Espoo, Finland
2/36 November 15, 2017 ECC’17
3/36 November 15, 2017 ECC’17
4/36 November 15, 2017 ECC’17
5/36 November 15, 2017 ECC’17
5/36 November 15, 2017 ECC’17
5/36 November 15, 2017 ECC’17
6/36 November 15, 2017 ECC’17
6/36 November 15, 2017 ECC’17
6/36 November 15, 2017 ECC’17
7/36 November 15, 2017 ECC’17
8/36 November 15, 2017 ECC’17
◮ For binary curves, FAU supports arithmetic over F2m but
◮ For prime curves, FAU supports arithmetic over Z but FAU is
9/36 November 15, 2017 ECC’17
9/36 November 15, 2017 ECC’17
10/36 November 15, 2017 ECC’17
Scalar recoding Precomputation · · · Inversion Main for-loop Main for-loop
10/36 November 15, 2017 ECC’17
Scalar recoding Precomputation · · · Inversion Main for-loop Main for-loop
Scalar recoding Precomputation · · · Inversion Main for-loop Main for-loop
10/36 November 15, 2017 ECC’17
Scalar recoding Precomputation · · · Inversion Main for-loop Main for-loop
Scalar recoding Precomputation · · · Inversion Main for-loop Main for-loop
Precomputation Scalar recoding · · · Inversion Main for-loop Main for-loop
11/36 November 15, 2017 ECC’17
12/36 November 15, 2017 ECC’17
13/36 November 15, 2017 ECC’17
13/36 November 15, 2017 ECC’17
13/36 November 15, 2017 ECC’17
add dbl dbl add dbl add dbl dbl
add dbl add conversion add add add
add
14/36 November 15, 2017 ECC’17
14/36 November 15, 2017 ECC’17
◮ Base-τ expansions can be found analogously to finding
◮ Straightforward τ-adic expansion of k is twice as long as k ◮ Meier and Staffelbach: Because P = φm(P), then αP = βP if
◮ Solinas: Reduction modulo (τ m − 1)/(τ − 1) gives an
15/36 November 15, 2017 ECC’17
16/36 November 15, 2017 ECC’17
17/36 November 15, 2017 ECC’17
17/36 November 15, 2017 ECC’17
17/36 November 15, 2017 ECC’17
17/36 November 15, 2017 ECC’17
18/36 November 15, 2017 ECC’17
19/36 November 15, 2017 ECC’17
19/36 November 15, 2017 ECC’17
19/36 November 15, 2017 ECC’17
20/36 November 15, 2017 ECC’17
20/36 November 15, 2017 ECC’17
20/36 November 15, 2017 ECC’17
20/36 November 15, 2017 ECC’17
20/36 November 15, 2017 ECC’17
20/36 November 15, 2017 ECC’17
20/36 November 15, 2017 ECC’17
21/36 November 15, 2017 ECC’17
22/36 November 15, 2017 ECC’17
22/36 November 15, 2017 ECC’17
◮ Recode 00 . . . 01 with 1¯
◮ Precompute all φw−1(P) + aw−2φw−2(P) + . . . + a0P with
◮ Scan through the recoded scalar with a w-bit fixed window
22/36 November 15, 2017 ECC’17
◮ Recode 00 . . . 01 with 1¯
◮ Precompute all φw−1(P) + aw−2φw−2(P) + . . . + a0P with
◮ Scan through the recoded scalar with a w-bit fixed window
22/36 November 15, 2017 ECC’17
◮ Recode 00 . . . 01 with 1¯
◮ Precompute all φw−1(P) + aw−2φw−2(P) + . . . + a0P with
◮ Scan through the recoded scalar with a w-bit fixed window
22/36 November 15, 2017 ECC’17
◮ Recode 00 . . . 01 with 1¯
◮ Precompute all φw−1(P) + aw−2φw−2(P) + . . . + a0P with
◮ Scan through the recoded scalar with a w-bit fixed window
22/36 November 15, 2017 ECC’17
◮ Recode 00 . . . 01 with 1¯
◮ Precompute all φw−1(P) + aw−2φw−2(P) + . . . + a0P with
◮ Scan through the recoded scalar with a w-bit fixed window
22/36 November 15, 2017 ECC’17
◮ Recode 00 . . . 01 with 1¯
◮ Precompute all φw−1(P) + aw−2φw−2(P) + . . . + a0P with
◮ Scan through the recoded scalar with a w-bit fixed window
22/36 November 15, 2017 ECC’17
◮ Recode 00 . . . 01 with 1¯
◮ Precompute all φw−1(P) + aw−2φw−2(P) + . . . + a0P with
◮ Scan through the recoded scalar with a w-bit fixed window
23/36 November 15, 2017 ECC’17
23/36 November 15, 2017 ECC’17
24/36 November 15, 2017 ECC’17
25/36 November 15, 2017 ECC’17
25/36 November 15, 2017 ECC’17
26/36 November 15, 2017 ECC’17
26/36 November 15, 2017 ECC’17
26/36 November 15, 2017 ECC’17
26/36 November 15, 2017 ECC’17
26/36 November 15, 2017 ECC’17
27/36 November 15, 2017 ECC’17
28/36 November 15, 2017 ECC’17
29/36 November 15, 2017 ECC’17
12.7 % 1691 7.7 % 1029 7.1 % 10 1.4 % 2 12.3 % 27 9.1 % 20 6389 2519 2.54 × 236.6 126.0 1.88 ×
13,300 140 220
29/36 November 15, 2017 ECC’17
42.8 % 5697 84.8 % 11277 78.6 % 110 10.0 % 22 85.0 % 187 220 64730 32304 2.00 ×
13,300 140 220
30/36 November 15, 2017 ECC’17
31/36 November 15, 2017 ECC’17
32/36 November 15, 2017 ECC’17
33/36 November 15, 2017 ECC’17
33/36 November 15, 2017 ECC’17
34/36 November 15, 2017 ECC’17
35/36 November 15, 2017 ECC’17
36/36 November 15, 2017 ECC’17