The SwiftRNG is a general purpose USB device that generates true (hardware) random numbers at a rate of 100 Mbits per second.
How It Works
The SwiftRNG utilizes random noise generated from two independent and reliable sources based on the electrical noise produced by an avalanche breakdown effect in zener diodes. The electrical noise generated by each random source is independently amplified, filtered and converted into digital values. The random bytes generated by both noise sources are then combined into the resulting random byte stream. To further reduce the bias, the resulting bytes are hashed as part of a post processing step that produces the final true random bytes. The random bytes are transmitted to the host computer via USB in 16,000 byte packets.
The SwiftRNG implements an embedded health check test (HCT) that continuously monitors the quality of the random noise sources immediately after the electrical noise is digitized and before any further processing. The HCT logic appends a health check status byte to each transmitted data packet so that the host computer is continuously notified about the health of the generator.
In addition to running the HCT, the monitoring logic will check the quality of the final random bytes produced by continuously running the tests ‘Repetition Count Test’ and ‘Adaptive Proportion Test.’
The SwiftRNG contains patented technology.
Technical Specifications Overview
See Technical Specifications for more details.
|Download speed for true random bytes:||100 Mbps using USB highspeed compatible interface|
|Power consumption||Draws no more than 230 mA (depending on the selected power profile)|
|Weight||21 grams (0.74 oz)|
|Data connectivity and control interface||USB 2 high-speed interface with EMI filtering (also compatible with full-speed interface)|
|Random source||Two independent circuits based on avalanche breakdown effect in reversed-biased Zener diodes|
|Post processing algorithms available||SHA-256, SHA-512, Marsaglia's XorShift64|
|Kernel module||With the
|Embedded health check test (HCT)||Continuous health diagnostics of all random noise sources|
|Implemented statistical tests||Continuous ‘Repetition Count’ and ‘Adaptive Proportion’ statistical tests|
|Power supply||USB bus powered with an overload protection|
|RoHS compliance||All parts and materials used in SwiftRNG device are RoHS compliant|
The SwiftRNG is a versatile device that can be used for a wide range of purposes including, but not limited to:
- Generation of encryption and secure session keys
- Feeding the /dev/random entropy pool on platform
- Research (statistical sampling)
- Computer simulations
- Gaming servers
The SwiftRNG device passes the following statistical test suites for measuring the quality of a random number generator: Diehard, Dieharder, NIST, Rngtest and Ent.
You can download sample test reports using links below (reports were generated using SwiftRNG device V1.2 with post processing turned off):
Test reports generated on Thu Sep 7 22:36:18 CDT 2017
- Dieharder test report for a 280GB random binary file: ckick to view
- NIST test report : ckick to view
- Ent test report for 1.2 GB of random binary data stream: ckick to view
- Rngtest test report for 1.2 GB of random binary data stream: ckick to view
- ‘swdiag’ diagnostics utility report for SwiftRNG v1.2: ckick to view
- Linux (x86, x64)
- or macOS 10.6 and up
- or Windows 7, 8.1 and 10 (x86, x64)
- USB 2.0 or 3.0 high-speed host/hub
Warranty and Return Policy
TectroLabs offers a 1-year limited warranty on SwiftRNG. We will repair or replace (at our sole discretion) any device that fails due to defect in materials or manufacturing. SwiftRNG device may be returned within 30 days of purchase for a full refund (buyer will pay for return shipping).
Drivers, documentation and utility software source code ready to be built available for download here.