Professional Documents
Culture Documents
IMPORTANT Elliptic Curve PDF
IMPORTANT Elliptic Curve PDF
1
Elliptic Curve Cryptosystems
2
Elliptic Curves over GF (p)
y 2 = x3 + ax + b
together with an extra point O. The set of
points E form a group with respect to the ad-
dition rules:
• O+O =O
• (x, y) + O = (x, y)
3
Elliptic Curves over GF (p)
λ = (3x2 + a)(2y ) −1
1 1
x3 = λ2 − 2x1
y3 = λ(x1 − x3) − y1
4
Example: Let the elliptic curve be defined as
the solutions of
y 2 = x3 + x + 1
over the field GF (23)
λ = (3(32) + 1)(20)−1 = 6
x3 = 62 − 6 = 7
y3 = 6(3 − 7) − 10 = 12
5
y^2 = x^3 + x + 1
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
6
(3,10) + (9,7) = (17,20)
22
21 (17,20)
20
19
18
17
16
15
14
13
12
11
10
9 (3,10)
8
7
6 (9,7)
5
4
3
2 (17,3)
1
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
7
(3,10) + (3,10) = (7,12)
22
21
20
19
18
17
16
15
14
13 (7,12)
12
11
10 (7,11)
9 (3,10)
8
7
6
5
4
3
2
1
0
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
8
Elliptic Curves over GF (2k )
y 2 + xy = x3 + ax2 + b
together with an extra point O. The set of
points E form a group with respect to the ad-
dition rules:
• O+O =O
• (x, y) + O = (x, y)
• (x, y) + (x, x + y) = O
9
Elliptic Curves over GF (2k )
λ = x1 + (y1)(x1)−1
x3 = λ2 + λ + a
y 3 = x2
1 + (λ + 1)x3
10
Elliptic Curve Cryptosystems
(x1 : y1 : z1)
while the affine coordinates requires only two
values: (x1, y1)
P = (x1 : y1 : z1)
Q = (x2 : y2 : z2)
We compute the projective coordinates of the
elliptic sum
P + Q = (x3 : y3 : z3)
13
Projective Coordinates
A = x2 z 1 + x1
B = y2 z1 + y1
C = A+B
D = A2(A + az1) + z1BC
x3 = AD
y3 = CD + A2(Bx1 + Ay1)
z3 = A3z1
14
Projective Coordinates
A = x1 z 1
B = bz14 + x4
1
x3 = AB
y 3 = x4
1 A + B(x 2 + y z + A)
1 1 1
z3 = A3
15
Exponentiation Heuristics
a0 a1 a2 ··· ar
starting from a0 = 1 and ending with ar =
e such that any ak is the sum of two earlier
integers ai and aj in the chain:
16
Addition Chains
Example: e = 55
1 2 3 6 12 13 26 27 54 55
1 2 3 6 12 13 26 52 55
1 2 4 5 10 20 40 50 55
1 2 3 5 10 11 22 44 55
17
Addition Chains
18
Binary Method
Example: e = 55 = (110111)
Step 1: e5 = 1 −→ Q := P
±1 2 4 8 7 14 28 56 55
An addition-subtraction chain is an algorithm
for computing eP given the integer e
20
Signed-Digit Recoding
21
Signed-Digit Recoding Binary Method
Input: P, −P, e
Output: Q := eP
0. Obtain a signed-digit recoding f of e
1. if fk = 1 then Q := P else Q := O
2. for i = k − 1 downto 0
2a. Q := Q + Q
2b. if fi = 1 then Q := Q + P
if fi = 1̄ then Q := Q + (−P )
3. return Q
22
Canonical Recoding Algorithm
ei+1 ei ai fi ai
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 0 0
1 0 1 1̄ 1
1 1 0 1̄ 1
1 1 1 0 1
e = (0101111011110)
f = (101̄00001̄0001̄0)
requiring 3 elliptic curve additions instead of 9
(in addition to the elliptic curve doublings)
23
Properties of GF (2k ) Arithmetic
24
Addition in GF (2k )
C = (Ck−1Ck−2 · · · C1C0) = A + B
is easily performed by component-wise modulo
2 addition (the XOR operation)
Ci = Ai + Bi (mod 2)
= Ai ⊕ Bi
for i = 0, 1, . . . , k − 1
25
• The total delay is O(1) (single XOR delay)
A3 B3 A2 B2 A1 B1 A0 B0
C3 C2 C1 C0
26
Multiplication in GF (2k )
27
Squaring in a Normal Basis
A = (ak−1ak−2 · · · a1a0)
k−1
= a0β + a1β 2 + a2β 4 + · · · + ak−1β 2
We compute the square of A as
k−1 k−1
A2 = ( 2i 2 i
X X
ai β ) · ( ai β )
i=0 i=0
k−1
X 2 k−1
2i 2 i+1
X
= ai β = ai β
i=0 i=0
= (ak−2ak−3 · · · a1a0ak−1)
which is a cyclic left shift of A
28
Multiplication in a Normal Basis
29
Thus, we have a formula for Cr as
k−1
X k−1
X
Cr = Ai+r Bj+r λij
i=0 j=0
30
• The number of nonzero λij s determine the
complexity of the multiplication circuit
The upper-bound is k2
31
Inversion in GF (2k )
32
Example of Inverse Computation
33
Implementation Results
Elliptic Curves