Point Double - Motorola DigitalDNA MPC180E User Manual

Security processor
Table of Contents

Advertisement

7.3.10 ECC F
2
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.
Computation
R = Q + Q = 2 * Q, where R ≡ (X
Entry name
F
mdoubleQ
2
Entry address
0x006(F
mdoubleQ)
2
Pre-conditions
B1 = X'
(projective coordinate in Montgomery residue system)
1
B2 = Y'
(projective coordinate in Montgomery residue system)
1
B3 = Z'
(projective coordinate in Montgomery residue system)
1
A3 = a' (elliptic curve parameter in Montgomery residue system)
B0 = c' (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 = c'
Unless explicitly noted, all other registers are not guaranteed to be any particular value.
Special
conditions
The c elliptic curve parameter is a function of the 'b' parameter and field size:
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.
Initial Condition
Figure 7-13. ECC F
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
m Point Double
Table 7-14. ECC F
F
,Y
,Z
), and Q ≡ (X
3
3
3
B3
Z'
1
B2
Y'
1
B1
X'
1
B0
c'
a'
A3
A2
A1
A0
N3
N2
N1
N0
irred. poly.
'1' - ECC enabled
ECC
EXP(k)
XYZ
F2M
'1' - F
m enabled
2
Modsize
set
EXP(k)_SIZE
m Point Double Register Usage
2
Chapter 7. Public Key Execution Unit
m Point Double
2
m Point Double
2
,Y
, Z
)
3
3
3
Final Condition
Z'
3
Y'
3
X'
3
b'
a'
same
same
same
?
?
?
irred. poly.
same
same
same
ECC Routines
m 2
2
c
=
b
.
7-21

Advertisement

Table of Contents
loading

Table of Contents