Overview
A random number generator is a computational or physical device designed to generate
a sequence of numbers that does not have any easily discernable pattern, so that
the sequence can be treated as being random. Such random number generators may be
described as being "True" Random number generators (when they are sometimes referred
to as TRNGs) or "Pseudo" Random number generators (or PRNGs).
TRNGs generate numbers which for all practical purposes, cannot be guessed or predetermined.
They typically use external physical phenomena to bring in a level of true randomness.
PRNGs on the other hand only appear to generate random numbers; instead they generate
deterministic numbers which have certain statistical properties, which from a cursory
examination may appear to be random, but which can be proven otherwise by analysis.
Uses of Random Numbers in security applications
Random numbers form an integral part of many security systems. The most obvious is
the generation of secret keys for the encryption of bulk data. In this requirement,
a key must be generated which can neither be guessed nor computed, even if previous keys
used by the same system are known. The more random the choice is therefore, the more
secure the system. This is clearly a perfect application for a high quality TRNG.
There are however security applications where a PRNG is more appropriate.
For example, when generating
Initialisation Vectors
for a cipher mode, it is sometimes the requirement that these are non-repeating
yet vary significantly from use to use. In this case a PRNG is an ideal way to
generate these values, since a TRNG cannot guarantee that its values won't
repeat (it is truly random after all!).
Helion Random Number Generation Solutions
A suite of PRNG cores is available from Helion based on the well known X9.17 and
X9.31 ANSI standards. These can be supplied in versions based on either AES or
Triple-DES and allow high rate pseudo random numbers to be generated on demand.
These high performance PRNG cores are available in versions for use in ASIC as well
as Actel, Altera and Xilinx FPGA, and in common with all Helion IP cores they have
been designed with each technology firmly in mind to yield the very best and most
efficient results.
Measured Performance
| TARGET TECHNOLOGY |
RANDOM BIT RATE |
AREA |
| Actel FPGA (ProASIC3/E -2) |
42 Mbps |
2092 tiles |
| Altera FPGA (Cyclone IV C6) |
97 Mbps |
991 LEs |
| Altera FPGA (Stratix IV C2) |
116 Mbps |
475 ALMs |
| Xilinx FPGA (Spartan-3A -5) |
68 Mbps |
441 slices |
| Xilinx FPGA (Spartan-6 -3) |
99 Mbps |
147 slices |
| Xilinx FPGA (Virtex-6 -3) |
197 Mbps |
149 slices |
The table above shows logic resource and bit rate figures for the Triple-DES version of the X9.31 PRNG
core. The AES version provides higher bit rates.
Datasheets
For full details of the Helion PRNG cores, please download the datasheet appropriate
to your target technology.
Click here for the Xilinx FPGA core data sheet (PDF format)
Click here for the Altera FPGA core data sheet (PDF format)
Click here for the Actel FPGA core data sheet (PDF format)
For ASIC, the PRNG core is available separately as an HDL wrapper for use in conjunction with
the Helion Triple-DES and AES cores.
Contact
For more detailed information on this or any of our other products and services,
please feel free to email us at
helioncores@heliontech.com and we will be pleased to discuss how we can assist
with your individual requirements.
|