Motorola DigitalDNA MPC180E User Manual page 67

Security processor
Table of Contents

Advertisement

7.3.8 ECC F
m Polynomial-Basis Point Multiply
2
The PKEU performs the elliptic curve point multiply function which is the highest level of
ECC abstraction supported by the device. It is the intention that the host processor use the
PKEU in such a way as to support ECC schemes defined in IEEE P1363 (and other ECC
standards) where the point multiply is the critical and most computationally intensive, but
not final, step in many of these schemes. The point multiply is a nearly fully automated.
However, some interaction is required by the host processor (described below).
Point multiplies in F
m are carried out by the PKEU by performing repeated point add and
2
point double operations using projective coordinates. As a result, the host processor is
responsible for providing the point P represented as the point (X, Y, Z). For systems that do
not operate in the projective coordinate scheme (that is, point P is represented as the point
(x, y)), X is simply x, Y is y, and Z is 1. The complete set of I/O conditions is shown below:
Computation
Q = k*P, where Q ≡ (X
Entry name
multkPtoQ(will probably be the same as F
Entry address
0x001(multkPtoQ)
Pre-conditions
A0 = x
(when XYZ=0) or X
1
A1 = y
(when XYZ=0) or Y
1
A2 = (z
≡1) (when XYZ=0) or Z
1
A3 = a elliptic curve parameter
B0 = c elliptic curve parameter
2
B1 = R
mod N value
N0 = prime p (modulus) of the ECC system
Run-time
EXP(k) = ms 8-bits of k (provided in 8 bit words throughout the point multiply, msb to lsb);
conditions
first word provides following routine invocation per ERDY assertion.
Post-conditions
B1 = X
/ X'
2
B2 = Y
/ Y'
2
B3 = Z
/ Z'
2
A2 = undefined (when XYZ = 1) or Z
A3 = undefined (when XYZ = 1) or Z
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:
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
Table 7-12. ECC F
F
,Y
,Z
), P ≡ (X
,Y
3
3
3
1
(when XYZ=1)
1
(when XYZ=1)
1
(when XYZ=1)
1
2
2
2
2
(when XYZ = 0)
2
3
(when XYZ = 0)
2
Chapter 7. Public Key Execution Unit
m Point Multiply
2
m Point Multiply
2
, Z1)
1
)
p
ECC Routines
m 2
2
c
=
b
.
7-17

Advertisement

Table of Contents
loading

Table of Contents