Chapter 7. Public Key Execution Unit
7-7
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
Memories
7.1.7 Modsize Register
This register sets the maximum size of the modulus (or prime) for RSA and ECC F
p
or the
irreducible polynomial for ECC F
2
m. The maximum size of these vectors is 128 digits (1
digit = 16 bits) for RSA and ECC F
p
and 32 digits for ECC F
2
m (Note that the value written
to modsize is not checked for validity). Thus, modsize represents the number of 16-bit
blocks in the modulus or irreducible. If the number of bits in the modulus or irreducible is
not evenly divisible by 16, then those remaining bits above the evenly divisible number of
bits constitutes an entire 16-bit block in so far as setting modsize is concerned. Modsize is
specified as a value between 0 and 127, which indicates a block size of 1 to 128 digits. On
power-up or clear, modsize is set to 0. This register must be written to before initiating an
arithmetic function.
All functions have a minimum modsize greater than zero for the function to operate
properly.
7.1.8 EXP(k)_SIZE
EXP(k)_SIZE sets the maximum size of the exponent or multiplier vector in terms of 32-bit
words. The minimum size is one 32-bit word, and the maximum size is 64 32-bit words.
EXP(k)_SIZE will be specified as a value between 0 and 63, which indicates an exponent
or multiplier size of 1 to 64 bytes. On power-up or clear, EXP(k)_SIZE is 0.
7.2 Memories
The PKEU uses four memory spaces (RAM) consisting of 128 16-bit words. Three of these
memories, A, B, and N, are R/W accessible to the host during normal operation. The fourth
memory, t (or tmp) is normally not accessible to the host accept when the PKEU is placed
in test mode.
Each individual memory can be thought of as consisting of four, equally sized (32 16-bit
words), separate sub-blocks (e.g. A(0), A(1), A(2), and A(3)). Depending on the function to
be executed, it may be necessary to specify which sub-block is to be referenced for the
operation. The host specifies the sub-block for each memory via the PKCR. Note that it is
not possible for the host to specify the tmp memory sub-blocks.
Prior to any operation, A, B, and N must be loaded with appropriate data. Once the
operation is complete, the expected results may then be read from these memories. During
processing, the PKEU uses all available memory to hold intermediate results. Memories
can not be written to during processing or boot.
Note that despite being implemented as a series of 16 bit half -words, conversion from 32
bit words to 16 bit half-words is handled by the host interface. The RAM can only be
written or read using 32 bit words.
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
.
..