MCF548x Reference Manual, Rev. 3
22-8 Freescale Semiconductor

22.4.4.5 Random Number Generator (RNG)

The RNG is a digital integrated circuit capable of generating 32-bit random numbers. It is designed to
comply with FIPS 140-1 standards for randomness and non-determinism.
Because many cryptographic algorithms use random numbers as a source for generating a secret value (a
nonce), it is desirable to have a private RNG for use by the SEC. The anonymity of each random number
must be maintained, as well as the unpredictablility of the next random number. The FIPS-140 ‘common
criteria’ compliant private RNG allows the system to develop random challenges or random secret keys.
The secret key can thus remain hidden from even the high-level application code, providing an added
measure of physical security.
The random number generator is responsible for creating an unpredictable sequence of bits and assembling
a string of those bits into a FIFO.

22.5 Memory Map/Register Definition

This section contains the SEC address map. Many of the registers are defined as 64-bit wide, but can be
addressed as two longword registers. For example, bits 63–32 of the EU assignment control register are
accessed at an MBAR offset of 0x21000. Bits 31–0 are accessed at an MBAR offset of 0x21004.
Table 22-2 shows the base address map for the modules within the SEC.
Table 22-3 provides the precise address map, including all registers in the execution units. The last column
of the table provides a cross reference to the section where the register is described in detail.
Table 22-2. SEC Module Base Address Map
MBAR Offset SEC Module Description Type
0x20000–0x200FF — Reserved
0x21000–0x21FFF Controller Arbiter/Controller Control register space Resource Control
0x22000–0x22FFF Channel_1 Crypto-channel 1 Data Control
0x23000–0x23FFF Channel_2 Crypto-channel 2 Data Control
0x24000–0x26FFF — Reserved
0x28000–0x28FFF AFEU ArcFour Execution Unit Crypto EU
0x2A000–0x2AFFF DEU DES Execution Unit Crypto EU
0x2C000–0x2CFFF MDEU Message Digest Execution Unit Crypto EU
0x2E000–0x2EFFF RNG Random Number Generator Crypto EU
0x32000–0x32FFF AESU AES Execution Unit Crypto EU
Table 22-3. SEC Register Map
Register
Offset Mnemonic Name Page
Controller Registers
0x21000 EUACRH EU Assignment Control Register High p. 22-11
0x21004 EUACRL EU Assignment Control Register Low p. 22-11