Rsa Montgomery Modular Multiplication ((A × B × R-1) Mod N); Rsa Montgomery Modular Multiplication((A × B × R-2) Mod N); Modular Multiplication Register Usage - Motorola DigitalDNA MPC180E User Manual

Security processor
Table of Contents

Advertisement

7.4.2 RSA Montgomery Modular Multiplication
((A × B × R
-1
The (A × B × R
) mod N calculation is the core function of the PKEU. It is used to assist
the exponentiation routine in completing its operation though it is also available to the host
processor - typically to put messages into the Montgomery format. This function operates
with a minimum of five digits (Modsize = 4). The complete set of I/O conditions is shown
below:
Computation
C = A * B * R
number of digits of the modulus vector
Entry name
modularmultiply
Entry address
0x00a(modularmultiply)
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
Typically, though it is not mandatory, the operands will be in the Montgomery residue system. The only
conditions
time this would not be the case is when manually placing a value into the Montgomery residue system.
Initial Condition
Figure 7-18. Modular Multiplication Register Usage
Prior to initiating this function, the A and B register pointers must be set in the control
register which indicate which sub-registers (e.g A0, B0, A1, B1, etc.) are the targeted
operands. See Table 7-2 for a detailed description. Once this is performed, the host
processor may successfully initiate this function.
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
-1
) mod N)
Table 7-19. Modular Multiplication
-1
mod N, where A, B, and C are integers less than N and R = 2
B3
B2
B1
B0
B(⇑)
A3
A2
A1
A(⇑)
A0
N3
N2
N1
N0
modulus N(⇑)
'0' - ECC disabled
ECC
EXP(k)
XYZ
'0' - integer-modulo-n enabled
F2M
regAsel
set (00)
regBsel
set (00)
regNsel
set (00)
Modsize
set
EXP(k)_SIZE
Chapter 7. Public Key Execution Unit
Modular Multiply
Final Condition
C(⇑)
A(⇑)
modulus N(⇑)
same
same
same
same
same
same
RSA Routines
16D
where D is the
7-27

Advertisement

Table of Contents
loading

Table of Contents