The requirement is to maximize the entropy of this input seed. In order to do this, when
data is extracted from RNGA as quickly as the hardware allows, there are about one or
two bits of added entropy per 32-bit word. Any single bit of that word contains that
entropy. Therefore, when used as an entropy source, a random number should be
generated for each bit of entropy required, and the least significant bit (any bit would be
equivalent) of each word retained. The remainder of each random number should then be
discarded. Used this way, even with full knowledge of the internal state of RNGA and all
prior random numbers, an attacker is not able to predict the values of the extracted bits.
Other sources of entropy can be used along with RNGA to generate the seed to the
pseudorandom algorithm. The more random sources combined to create the seed, the
better. The following is a list of sources that can be easily combined with the output of
this module:
• Current time using highest precision possible
• Real-time system inputs that can be characterized as "random"
• Other entropy supplied directly by the user
32.2 Modes of operation
RNGA supports the following modes of operation.
Table 32-1. Modes of operation supported by RNGA
Mode
Description
Normal
The ring-oscillator clocks are active; RNGA generates entropy
(randomness) from the clocks and stores it in shift registers.
Sleep
The ring-oscillator clocks are inactive; RNGA does not
generate entropy.
32.2.1 Entering Normal mode
To enter Normal mode, write 0 to CR[SLP].
Modes of operation
K22F Sub-Family Reference Manual , Rev. 3, 7/2014
682
Freescale Semiconductor, Inc.