7-28
MPC180E Security Processor User’s Manual
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
RSA Routines
7.4.3 RSA Montgomery Modular Multiplication
(
(A
×
B
×
R
-2
) mod N
)
The (A
×
B
×
R
-2
) mod N calculation is similar to the standard ‘R
-1
’ Montgomery
multiplication except an additional R is divided out. This function is particularly helpful
when using the Chinese Remainder Theorem. This function operates with a minimum of
five digits (Modsize = 4). The complete set of I/O conditions is shown below:
Figure 7-19. Modular Multiplication (
with double reduction
) Register Usage
Table 7-20. Modular Multiplication (with double reduction)
Modular Multiply (with double reduction)
Computation
C = A * B * R
-2
mod N, where A, B, and C are integers less than N and R
= 2
16D
where D is the
number of digits of the modulus vector
Entry name
modularmultiply2
Entry address
0x00b(modularmultiply2)
Pre-conditions
A0-3 = A
B0-3 = B
N0-3 = modulus
Post-conditions
A0-3 = A operand is preserved
B0-3 = results of modular multiplication stored where the B operand was located
Unless explicitly noted, all other registers are not guaranteed to be any particular value.
Special
conditions
—
N1
N2
N3
A0
A1
A2
A3
B0
B1
B2
B3
Initial Condition
Final Condition
N0
C(
⇑
)
B(
⇑
)
modulus N(
⇑
)
modulus N(
⇑
)
A(
⇑
)
XYZ
F2M
EXP(k)
regAsel
regBsel
regNsel
‘0’ - integer-modulo-n enabled
same
set (00)
set (00)
set (00)
same
same
same
Modsize
EXP(k)_SIZE
set
same
A(
⇑
)
ECC
same
‘0’ - ECC disabled
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
.
..