The SwiftRNG is a general purpose USB device that generates true (hardware) random numbers at a rate of 100 Mbits per second. In addition, SwiftRNG LE (Lite Edition) generates random numbers at 20 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 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 low bias 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.
|SwiftRNG (V 1.1)||SwiftRNG LE (V 1.0)|
|Download speed for true random bytes:||100 Mbps using USB highspeed compatible interface||20 Mbps using USB highspeed compatible interface|
|Power consumption||Draws no more than 200 mA (depending on the selected power profile).||Draws no more than 110 mA (fixed 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 reversed-biased Zener diodes|
|Post processing algorithms available||SHA-256|
|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 actual download speed may vary based on the selected device power profile, host OS and computing hardware. Due to processing power limitations on Raspberry Pi 2, the actual download speed on this device will be around 40 Mbps.
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
- Distributing entropy data to guest instances in a cloud environment by using Virtio RNG
- Research (statistical sampling)
- Computer simulations
- Gaming servers
The SwiftRNG device passes the following statistical test suites for measuring the quality of a random number generators: Diehard, Dieharder, NIST, Rngtest and Ent.
View the following files for statistical test reports:
- Dieharder test report for a 280GB random binary file: ckick to view
- NIST test report : ckick to view
- Ent test report for 1.1 GB of random binary data stream: ckick to view
- Rngtest test report for 1.1 GB of random binary data stream: ckick to view
- Linux (x86, x64)
- or macOS 10.6 and up
- or Windows 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 the SwiftRNG. We will repair or replace (at our sole discretion) any device that fails due to defect in materials or manufacturing. A 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.