TrueRNGpro – USB Random Number Generator
What’s New
The TrueRNGpro like TrueRNG V2 provides a steady stream of random numbers through a USB CDC serial port. At >3.2 Mbits/s TrueRNGpro is 9x faster. TrueRNGpro comes with a variety of modes making it more versatile and allowing for independent verification of the raw data stream. TrueRNGpro now has real time monitoring of each noise generator with LEDs to provide visual confirmation that everything is working as it should as expected. The TrueRNGpro features dual independently shielded noise generators that are double shielded inside of an aluminum enclosure.
Features
- High Output Speed: > 3.2 Mbits / second
- Mode Selection (Whitened, Raw, Diagnostic)
- Independently Shielded Noise Generators
- Shielded Enclosure
- Status Indicators (LEDs)
- Native Windows (XP / 7 / 8 / 8.1) and Linux Support (CDC Virtual Serial Port)
- Passes all the industry standard tests (Dieharder, ENT, Rngtest, etc.)
- Low power ~100 mA
- Compatible with embedded environments such as Beaglebone, Raspberry PI, and UDOO
Applications
- Security (SSH,SSL, GPG, etc).
- Gaming Servers (Lottery, Dice Roller, Coin Flipper, Playing Cards)
- Statistical Sampling
- Simulations
- Global Consciousness Project
- Vinyl Record Audio Recordings
Normal Mode | Streams from both generators combined, and whitened |
Normal, RNG1 | Using generator 1, whitened |
Normal, RNG2 | Using generator 2, whitened) |
Power Supply Debug | Diagnostic Mode, Voltage displayed in mV in ASCII |
RNG Debug | Diagnostic Mode, outputs 0xRRR 0xRRR in ASCII |
RAW Binary | ADC Values from both generators, non whitened, See document on RAW Binary format, contains ADC bias in the LSB |
RAW ASCII | ADC Values from both generators, non whitened, in ASCII, “AAAA, BBBBn” format, contains ADC bias in the LSB |
Frequency Distribution
(Raw Noise Generator Output)
*Spikes are due to analog to digital converter bias in the LSB of the PCM output codes.
Character Distribution of 100 MB file
(Click to Enlarge)
A Character distribution plot of a 100 MB stream captures shows that the min/max of character occurrences are between 0.3905 and 0.39075 %
Bitmap Analysis
(Click to Enlarge)
Showing the random stream as a bitmap shows no visible patterns like a pseudo random number generator does
Requirements
- Linux — The USB Driver is included in most Linux Distributions. There is currently application support under rng-tools for Linux to fill the kernel’s entropy pool with data from TrueRNG.
- Windows — We provide a signed driver which allows the device to be used in windows with custom applications.
- OSX — Support is minimal, driver is included in OSX but a custom application or port of rngd would be needed to fill the system’s entropy pool
- USB 2.0
Tools | App Notes | Code Samples
- Windows C++ Class (User Contributed source code)
- RNGCapture – a Console Windows app to capture data (updated 9/25/15)
- Code to use TrueRNG in MatLab (User Contributed / Externally hosted)
Documentation and Support
- Linux UDEV rules and Python Tests (for normal Linux distros) (updated 7/9/2022)
- How-To Change TrueRNGpro’s Mode
- TrueRNGpro Raw Binary Format (TrueRNGpro Only)
- FAQ – Frequently Asked Questions (TrueRNG V2)
- Support Forums
Downloads
- UDev Rules, Windows Driver and Python Test Scripts (maintained on GitHub)