7-8
MPC180E Security Processor User’s Manual
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
ECC Routines
7.3 ECC Routines
7.3.1 ECC F
p
Point Multiply
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 performed in a near
fully-automated fashion; however, there is some interaction required by the host processor
(described below).
Point multiplies in F
p
are carried out by the PKEU by performing repeated point add and
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 (i.e. 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.
NOTE:
The scalar ‘k’ is assumed to be positive. If k = 0, the results of
the point multiply are (1, 1, 0). If k
<
0, then k
←
(-k) and
Y
←
-Y (modP).
NOTE:
The input ‘Z’ is assumed to be non-zero. If zero, then the
results of the point multiply are (1, 1, 0).
Table 7-5. ECC F
p
Point Multiply
F
p
Point Multiply
Computation
Q = k*P, where Q
≡
(X
3
,Y
3
,Z
3
), P
≡
(X
1
,Y
1
, Z
1
)
Entry name
multkPtoQ
Entry address
0x001(FpmultkPtoQ)
Pre-conditions
A0 = x
1
(non-projective coordinate when XYZ=0) or X
1
(projective coordinate when XYZ=1)
A1 = y
1
(non-projective coordinate when XYZ=0) or Y
1
(projective coordinate when XYZ=1)
A2 = (z
1
≡
1) (non-proj. coordinate when XYZ=0) or Z
1
(projective coordinate when XYZ=1)
A3 = a elliptic curve parameter
B0 = b elliptic curve parameter
B1 = R
2
mod N value
N0 = prime p (modulus) of the ECC system
Run-time
conditions
EXP(k) = ms 32-bits of k (provided in 32 bit words throughout the point multiply, msb to lsb);
first word provides following routine invocation per ERDY assertion.
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
.
..