Comparison of hardware random number generators
From Infogalactic: the planetary knowledge core
In computing, a hardware random number generator is an apparatus that generates random numbers from a physical process. Such devices are often based on microscopic phenomena that generate a low-level, statistically random "noise" signal, such as thermal noise, the photoelectric effect or other quantum phenomena.
Manufacturer | Country | Model | Intro Date | Interface | OS | Price | Throughput | Operating principle | Certifications | Open Hardware? | Software License |
---|---|---|---|---|---|---|---|---|---|---|---|
Araneus Information Systems Oy | Finland | Alea II | 2014 | USB | Windows/Linux/BSD/MacOS X[1] | €119[2] | 100 kbit/s[1] | Reverse biased semiconductor junction | NIST STS / DIE HARD[3] | Closed | Proprietary |
BitBabbler | Australia | BitBabbler Black[4] | 2015 | USB | Linux/BSD/Mac/Windows | US$35[citation needed] | >650 kbit/s[citation needed] | Mix of Shot noise, Johnson–Nyquist noise, Flicker noise, and some Electromagnetic interference[5] | ENT test suite / NIST SP800-22 / DIE HARDER / TestU01[6] | ? | GPLv2 |
BitBabbler White[7] | 2015 | USB | Linux/BSD/Mac/Windows | US$143[citation needed] | >2.5 Mbit/s[citation needed] | Mix of Shot noise, Johnson–Nyquist noise, Flicker noise, and some Electromagnetic interference[5] | ENT test suite / NIST SP800-22 / DIE HARDER / TestU01[6] | ? | GPLv2 | ||
Comscire | USA | PQ4000KS | 2016 | USB | Linux/Windows/Mac | $795[8] | 4 Mbit/s[9] | Shot noise | NIST SP800-90 B, C[10] | Closed | Proprietary |
PQ32MU | 2013 | USB | Linux/Windows/Mac | $1,495[11] | 32 Mbit/s[12] | Shot noise | NIST SP800-90 B, C[13] | Closed | Proprietary | ||
Flying Stone Technology | Japan | FST-01 (includes NeuG 1.0) | 2013 | USB | Windows/Linux/FreeBSD/Mac | $35[14] | 602 kbit/s[15] | Analog-to-Digital converter noise | NIST SP800-22 | Open | GPLv3 |
Generic | N/A | rtl-sdr dongles | 2013 | USB | Linux/Mac | $24[16] | 2.8 Mbit/s[17] | Atmospheric noise. Requires rtl-entropy[18] | NIST SP800-22 | Closed | GPLv3[18] |
STM32 Nucleo Dongles (Running NeuG 1.0) | 2015 | USB | Windows/Linux/FreeBSD/Mac | $12[19] | 560 kbit/s[15] | Analog-to-Digital converter noise | NIST SP800-22 | Closed | GPLv3 | ||
ID Quantique SA | Switzerland | Quantis-USB | 2006 | USB | Windows/Linux | €990[citation needed] | 4 Mbit/s[20] | Beam splitter | NIST SP800-22 / DIE HARD by METAS / CTL[20] | Closed | Proprietary |
Quantis-PCIe-4M | 2010 | PCie | Windows/Linux | €1299 | 4 Mbit/s[20] | Beam splitter | NIST SP800-22 / DIE HARD by METAS / CTL[20] | Closed | Proprietary | ||
Quantis-PCIe-16M | 2010 | PCIe | Windows/Linux | €2990 | 16 Mbit/s[20] | Beam splitter | NIST SP800-22 / DIE HARD by METAS / CTL[20] | Closed | Proprietary | ||
Quantis Appliance 4M | 2016 | RS-232 | Windows/Linux | N/A | 4 Mbit/s[20] | Beam splitter | NIST SP800-22 / DIE HARD by METAS / CTL[20] | Closed | Proprietary | ||
Quantis Appliance 16M | 2016 | RS-232 | Windows/Linux | N/A | 16 Mbit/s[20] | Beam splitter | NIST SP800-22 / DIE HARD by METAS / CTL[20] | Closed | Proprietary | ||
Quantis AIS31 | 2015 | PCIe / USB | Windows/Linux | N/A | 75 kbit/s[20] | Beam splitter | BSI AIS 31 / NIST SP800-22 / DIE HARD by METAS / CTL[21] | Closed | Proprietary | ||
Intel | USA | Ivy Bridge-EP | 2013 | CPU | N/A | $323[22] | 3 Gbit/s[23] | Johnson–Nyquist noise | N/A | Closed | Mixed |
Kidekin | South Korea | TRNG | 2015 | USB | Linux/Windows/Mac | $79[citation needed] | 2 Mbit/s[24] | Registerless Linear Feedback Shift Registers[25] | NIST SP800-22 | Closed | Proprietary |
LETech | Japan | GRANG (various devices) | 2008–2012 | USB3/SATA | Linux/Windows | N/A | 400 Mbit/S [26] | Johnson–Nyquist noise | NIST SP800-22 | Closed | Proprietary |
GRANG Server | 2013 | Giga bit Ethernet | Linux | N/A | 1.2 Gbit/S [27] | Johnson–Nyquist noise | NIST SP800-22 | Closed | Proprietary | ||
Moonbase Otago | N/A | OneRNG | 2015 | USB | Linux/Windows/Mac | $40[28] | 350 kbit/s[29] | Avalanche diode with optional Atmospheric noise | NIST SP800-22 | Open | GPLv3/LGPLv3 |
Quant-Lab | Croatia | QRBG121 | 2005 | USB | Windows/Linux | €2,700[citation needed] | 12 Mbit/s[30] | Photoelectric effect | NIST SP800-22 | Closed | Proprietary |
QuintessenceLabs | Australia | qStream, qCrypt-xStream | 2012 | Network, PCIe | Linux/Windows | N/A | 1 Gbit/s[31] | Beam splitter | NIST SP800-90 A, B, C[31] | Closed | Proprietary |
Simtec Electronics | UK | Entropy Key[32] | 2009 | USB | Linux, BSD, Windows | £36[citation needed] | 26.6 kbit/s[citation needed] | avalanche noise | NIST SP800-22 | Closed | MIT |
TectroLabs | USA | TL200 | 2014 | USB | Windows/Linux/Mac | $139[33] | 2.0 Mbit/s[33] | Reverse biased Zener diodes | NIST SP800-22 / DIE HARD[34] | Closed | Proprietary |
SwiftRNG | 2016 | USB[35] | Windows/Linux/Mac[35] | $349[35] | 100 Mbit/s[35] | Reverse biased Zener diodes[35] | NIST SP800-22 / DIE HARD[34] | Closed | Proprietary | ||
TRNG98 | USA | TRNG9803 | 2009 | Serial | Linux/Windows/Solaris/BSD | €109[36] | 72 kbit/s[37] | NIST SP800-22 | Closed | Proprietary | |
TRNG9815 | 2009 | USB | Linux/Windows/Solaris/BSD | €620[citation needed] | 550 kbit/s[38] | NIST SP800-22 | Closed | Proprietary | |||
ubld.it | USA | TrueRNG v2 | 2014 | USB | Linux/Windows/Mac/Pi | $50[citation needed] | >350 kbit/s[39] | Reverse biased semiconductor junction | NIST SP800-22 | Closed | Proprietary |
TrueRNG Pro | 2015 | USB | Linux/Windows/Mac | $99[40] | 3.2 Mbit/s[40] | NIST SP800-22 | Closed | Proprietary | |||
WaywardGeek | USA | Infinite Noise TRNG | 2014 | USB | Linux/Windows/Pi | $35[41] | 300 kbit/s[42] | Johnson–Nyquist noise | NIST SP800-22 | Open | Public Domain |
References
- ↑ 1.0 1.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 6.0 6.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 15.0 15.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 18.0 18.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 20.00 20.01 20.02 20.03 20.04 20.05 20.06 20.07 20.08 20.09 20.10 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 31.0 31.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 33.0 33.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 34.0 34.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 35.0 35.1 35.2 35.3 35.4 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 40.0 40.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.