Freescale Semiconductor
6-1
MCF52235 ColdFire® Integrated Microcontroller Reference Manual, Rev. 6
Chapter 6
Random Number Generator (RNG)
6.1
Introduction
This chapter describes the random number generator (RNG), including a programming model, functional
description, and application information.
6.1.1
Overview
The random number generator (RNG) module is capable of generating 32-bit random numbers. It complies
with Federal Information Processing Standard (FIPS) 140 standards for randomness and non-determinism.
The random bits generate by clocking shift registers with clocks derived from ring oscillators. The
configuration of the shift registers ensures statistically good data (data that looks random). The oscillators
with their unknown frequencies provide the required entropy needed to create random data.
CAUTION
There is no known cryptographic proof showing that this is a secure method
of generating random data. In fact, there may be an attack against the
random number generator if its output is used directly in a cryptographic
application (the attack is based on the linearity of the internal shift registers).
In light of this, it is highly
recommended to use the random data produced
by this module as an input seed to a NIST-approved (based on DES or
SHA-1) or cryptographically-secure (RSA generator or BBS generator)
random number generation algorithm.
It is also recommended to use other sources of entropy along with the RNG
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
– Mouse and keyboard motions (or equivalent if being used on a cell phone or PDA)
– Other entropy supplied directly by the user
NOTE
See Appendix D of the NIST Special Publication 800-90 “Recommendation
for Random Number Generation Using Deterministic Random Bit
Generators” for more information:
Because
of
an
order
from
the
United
States
International
Trade
Commission,
BGA-packaged
product
lines
and
part
numbers
indicated
here
currently
are
not
available
from
Freescale
for
import
or
sale
in
the
United
States
prior
to
September
2010:MCF52234CVM60,
MCF52235CVM60