7-12
MPC180E Security Processor User’s Manual
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
ECC Routines
7.3.3 ECC F
p
Point Double
This function is extensively utilized by the point multiply routine. However, its value as a
stand-alone routine to the host processor is extremely limited. As a result, the information
provided on the routine is primarily for testing and debug purposes.
Figure 7-6. ECC F
p
Point Double Register Usage
Table 7-7. ECC F
p
Point Double
F
p
Point Double
Computation
R = Q + Q = 2 * Q, where R
≡
(X
3
,Y
3
,Z
3
), and Q
≡
(X
3
,Y
3
, Z
3
)
Entry name
FpdoubleQ
Entry address
0x003(FpdoubleQ)
Pre-conditions
B1 = X’
1
(projective coordinate in Montgomery residue system)
B2 = Y’
1
(projective coordinate in Montgomery residue system)
B3 = Z’
1
(projective coordinate in Montgomery residue system)
A3 = a’ (elliptic curve parameter in Montgomery residue system)
B0 = b’ (elliptic curve parameter in Montgomery residue system)
N0 = prime p (modulus) of the ECC system
Post-conditions
B1 = X’
3
B2 = Y’
3
B3 = Z’
3
A3 = a’
B0 = b’
Unless explicitly noted, all other registers are not guaranteed to be any particular value.
Special
conditions
All variables followed with the tick mark (‘) indicate it is in the Montgomery residue system.
While not explicitly mentioned or necessary, the contents registers A0, A1, and A2 a left
undisturbed in anticipation that these will store the generator point (P) during a point multiply.
N1
N2
N3
A0
A1
A2
A3
B0
B1
B2
B3
Initial Condition
Final Condition
a’
same
?
?
?
N0
b’
b’
modulus N
modulus N
Y’
1
X’
1
a’
same
same
X’
3
Y’
3
Z’
3
Z’
1
XYZ
F2M
EXP(k)
‘0’ - F
p
enabled
same
Modsize
EXP(k)_SIZE
set
same
ECC
same
‘1’ - ECC enabled
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..