Motorola DigitalDNA MPC180E User Manual page 68

Security processor
Table of Contents

Advertisement

ECC Routines
Initial Condition
It is important to note that unlike the RSA exponentiation routine, the point to be multiplied
is not expected to be in the Montgomery residue system when loaded into the PKEU. All
of the other ECC parameters are also expected to be loaded in standard format. This
includes the a, c, and modulus parameters of the ECC system. In addition, the "R
term is also required. This term is used by the PKEU to put the operands in the Montgomery
residue system. See the full description of this function below.
It is the responsibility of the host processor to provide multiplier data to the accelerator
during the operation. That is, the 'k' from the point multiplication 'kP' must be provided
dynamically by the host micro-processor in 32-bit words. Note that the host must supply
the k data starting with the most significant 32-bit word and working down to the least
significant word. Each individual word, however, is formatted msb to lsb (i.e.
"k_word[msb:lsb]").
PKEU asserts the IRQ signal when it is ready to accept more data. This tells the host
processor to read the status word to see what was set. If the E_RDY bit is set (or pin
IRDY_B active low), the host processor knows it must provide the next word of k - this data
is written into the EXP(k) register one 32-bit word at a time. If this interrupt is masked, then
it must poll the status register to determine when to provide the next word of k. The host
should not look for the assertion of E_RDY until after the routine (i.e. PKCR[GO] bit). Any
data written to EXP(K) prior to this will be ignored.
The point multiplication is optimized to efficiently produce results for systems that work in
the projective coordinate scheme but can accelerate affine schemes as well. The host
processor selects the scheme via the CR XYZ-bit.
7-18
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
B3
B2
2
R
mod N
B1
B0
c
a
A3
1 (or Z
)
A2
1
y
(or Y
)
A1
1
1
x
(or X
)
A0
1
1
N3
N2
N1
N0
irred. poly.
ECC
'1' - ECC enabled
k (run-time)
EXP(k)
XYZ
select '1' or '0'
F2M
'1' - F
m enabled
2
Modsize
set
set
EXP(k)_SIZE
Figure 7-11. ECC F
m Point Multiply I/O
2
MPC180E Security Processor User's Manual
Final Condition
Z
(or Z'
)
2
2
Y
(or Y'
)
2
2
X
(or X'
)
2
2
?
3
? (or Z
)
2
2
? (or Z
)
2
?
?
?
?
?
irred. poly.
same
?
same
same
same
same
2
mod N"

Advertisement

Table of Contents
loading

Table of Contents