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, such that
the sequence can be treated as being random. Such functions may be described as
"True" Random Rumber Generators (TRNGs) or "Pseudo" Random Number Generators (PRNGs).
A TRNG generates numbers which for all practical purposes cannot be guessed or predetermined
and typically use external physical phenomena to generate true randomness. A PRNG only
appears to generate random numbers and actually generates deterministic numbers which have
certain statistical properties that from a cursory examination 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 most security systems. Their most obvious use
is in the generation of crytographic keys for data encryption, where the generated key
can neither be guessed nor computed, even when previous keys are known - the more random the key,
the more secure the system. This is a perfect application for a high quality TRNG.
However, there are security applications where a PRNG is more appropriate.
For example, when generating
Initialisation Vectors
for a cipher mode, it is often a requirement that these should be guaranteed unique
yet vary significantly from use to use, and a PRNG is an ideal way to
generate such values, particulalry since a TRNG does not guarantee uniqueness.
Helion Random Number Generation Solutions
Helion can provide Random Number Generator IP cores for the NIST SP800-90A AES-CTR mode
Deterministic Random Bit Generator (CTR_DRBG) and the ANSI X9.31 standard PRNG
(AES or Triple-DES version). Both cores are available in versions for use in
ASIC as well as the full range of Altera, Microsemi (Actel) and Xilinx FPGA technologies
and they have been designed with each target technology in mind to provide the most resource
efficient RNG solutions available.
Measured Area and Performance
NIST SP800-90A CTR_DRBG - Tiny 128-bit keysize version
TARGET TECHNOLOGY |
MAX. RANDOM BIT RATE |
AREA |
Altera Cyclone V (C6) |
176 Mbps |
260 ALMs |
Altera Cyclone 10 GX (E5) |
234 Mbps |
264 ALMs |
Altera Arria II GX (C4) |
204 Mbps |
283 ALMs |
Altera Arria V GX (C4) |
192 Mbps |
269 ALMs |
Altera Arria 10 (E1S) |
269 Mbps |
276 ALMs |
Altera Stratix IV (C2) |
151 Mbps |
296 ALMs |
Altera Stratix V (C1) |
222 Mbps |
259 ALMs |
Xilinx Spartan-6 (-3) |
150 Mbps |
75 slices |
Xilinx Virtex-5 (-3) |
226 Mbps |
78 slices |
Xilinx Virtex-6 (-3) |
294 Mbps |
73 slices |
Xilinx Artix-7 (-3) |
215 Mbps |
72 slices |
Xilinx Kintex-7 (-3) |
312 Mbps |
71 slices |
Xilinx Virtex-7 (-3) |
312 Mbps |
71 slices |
Xilinx UltraSCALE (-2) |
370 Mbps |
74 CLBs |
Xilinx UltraSCALE+ (-2) |
463 Mbps |
58 CLBs |
The table shows resource and random bit rates for the Tiny CTR_DRBG core. The Helion Standard
CTR_DRBG core can provide higher bit rates, please contact us for further details.
ANSI X9.31 PRNG - Triple-DES 3-key version
TARGET TECHNOLOGY |
MAX. RANDOM BIT RATE |
AREA |
Altera Cyclone III/IV (C6) |
102 Mbps |
1048 LEs |
Altera Cyclone V (C6) |
133 Mbps |
322 ALMs |
Altera Cyclone 10 GX (E5) |
170 Mbps |
313 ALMs |
Altera Arria II GX (C4) |
167 Mbps |
522 ALMs |
Altera Arria V GX (C4) |
136 Mbps |
325 ALMs |
Altera Arria 10 (E1S) |
195 Mbps |
331 ALMs |
Altera Stratix IV (C2) |
195 Mbps |
541 ALMs |
Altera Stratix V (C1) |
172 Mbps |
321 ALMs |
Microsemi ProASIC3/E (-2) |
42 Mbps |
2092 tiles |
Xilinx Spartan-3A (-5) |
72 Mbps |
465 slices |
Xilinx Spartan-6 (-3) |
113 Mbps |
149 slices |
Xilinx Virtex-5 (-3) |
166 Mbps |
160 slices |
Xilinx Virtex-6 (-3) |
193 Mbps |
150 slices |
Xilinx Artix-7 (-3) |
160 Mbps |
147 slices |
Xilinx Kintex-7 (-3) |
222 Mbps |
148 slices |
Xilinx Virtex-7 (-3) |
222 Mbps |
148 slices |
Xilinx UltraSCALE (-2) |
249 Mbps |
92 CLBs |
Xilinx UltraSCALE+ (-2) |
309 Mbps |
87 CLBs |
The table shows resource and random bit rate figures for the Triple-DES version of the X9.31 PRNG
core. The AES version can support higher bit rates, please contact us for more details.
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.
|