Execution Units
MSC8144E Reference Manual, Rev. 3
Freescale Semiconductor
26-27
PKEU Parameter Memory N. This 2048 bit memory is non-segmentable, and stores the
modulus for modular arithmetic and F
p
elliptic curve routines. For F
2
m elliptic curve
routines, this memory stores the irreducible polynomial.
26.4.1.11 PKEU Routines
Once a write to End_of_Message Register is issued, the EU checks the Mode Register and if
appropriate, the Data Size and Key Size Registers for valid data. If a valid routine is requested
(refer to Section 26.5.6.1, PKEU Mode Register (PKEUMR), on page 26-101 for a list of valid
routine values), it is performed.
Descriptions of the PKEU routines use the following notational conventions:
All values are positive
The modulus and elements of the prime field (F
p
) are positive numbers
The modulus and elements of the polynomial field (F
2
m) are polynomials represented as
bit strings, where the most-significant bit represents the highest-degree coefficient
A, B, E, N. 2048-bit values from the parameter memories (see Section 26.4.1.10). Unless
otherwise noted, N is modulus, E is exponent or key, and A and B are other operands.
X. Underscore denotes Montgomery format
Data Size: contents of the Data Size Register. Normally loaded with the number of
significant bits in N.
Key Size: contents of the Key Size Register. Normally loaded with the number of
significant bytes in E.
Sz’(N): The value in the Data Size Register rounded up to the next multiple of 32. (This
notation recognizes that Data Size is normally related to N, making Sz’(N) the number of
significant bits in N, rounded up to the next multiple of 32.)
Sz’(K): The value in the Key Size Register, times 8, rounded up to the next multiple of 32
(which is the number of bits specified by Key Size, rounded up to the next multiple of 32)
Additional notation for elliptic curve routines:
A0, A1, A2, A3, B0, B1, B2, B3: For elliptic curve routines, 2048-bit memories A and B
are each segmented into 512-bit quantities: A = A3
•
A2
•
A1
•
A0 and B = B3
•
B2
•
B1
•
B0 (where
•
denotes concatenation).
[X, Y] or [X, Y, Z]: coordinates of a point in two or three dimensions
PK_BUILD: The 384-byte data structure constructed by the SPK_BUILD routine, which
is the concatenation of six 512-bit quantities: B1
•
B0
•
A3
•
A2
•
A1
•
A0.
Almost all the PKEU routines require the user to supply a modulus input value. Cryptographic
security depends strongly on the quality of the modulus chosen. To achieve the best security,
In Diffie-Hellman, the modulus should be a large prime number.
Summary of Contents for MSC8144E
Page 1: ...MSC8144E Reference Manual Quad Core Media Signal Processor MSC8144ERM Rev 3 July 2009 ...
Page 48: ...MSC8144E Reference Manual Rev 3 xlviii Freescale Semiconductor ...
Page 86: ...MSC8144E Reference Manual Rev 3 1 38 Freescale Semiconductor Overview ...
Page 168: ...MSC8144E Reference Manual Rev 3 3 60 Freescale Semiconductor External Signals ...
Page 242: ...MSC8144E Reference Manual Rev 3 5 26 Freescale Semiconductor Reset ...
Page 314: ...MSC8144E Reference Manual Rev 3 8 24 Freescale Semiconductor General Configuration Registers ...
Page 414: ...MSC8144E Reference Manual Rev 3 10 14 Freescale Semiconductor MSC8144E SC3400 DSP Subsystem ...
Page 452: ...MSC8144E Reference Manual Rev 3 11 38 Freescale Semiconductor Internal Memory Subsystem ...
Page 520: ...MSC8144E Reference Manual Rev 3 12 68 Freescale Semiconductor DDR SDRAM Memory Controller ...
Page 1070: ...MSC8144E Reference Manual Rev 3 21 28 Freescale Semiconductor Timers ...