Generates a stream of True Random Numbers for use in Simulations, Security, and GamingDesigned by ubld.it Electronics in United States of America
***Note: Shipping to Germany does include Tracking. However, to track the package we must contact USPS for you. They do not provide Tracking information on their website. Also, note that we have in...Read More…
***Note: Shipping to Germany does include Tracking. However, to track the package we must contact USPS for you. They do not provide Tracking information on their website. Also, note that we have increased the shipping price to Germany so that we can ship the package express. Packages have been taking 20 - 30 days for delivery so hopefully this will solve that problem. We are still testing this theory.
Note: If you know you typically must pay TAX / VAT for international shipping please include the required information such as your VAT Number or Company Name in the addition notes fields during checkout
Note: Orders shipped before August 1, 2014 were Hardware Version 1. Everything after that date will be Hardware Version 2.
The TrueRNG provides a steady stream of random numbers through a USB CDC serial port. The random data can then be used to fill the entropy pool in an operating system, or used directly in a custom application. The TrueRNG is ideal for security related applications (SSH, SSL, GPG), gaming (dice,cards), statistical sampling and simulations.
An increasing number of computer software packages rely heavily on the availability of a source of random numbers. In some cases, these software packages require a large amount of random numbers for things such as SSH, SSL, GPG, etc. In the Linux operating system, the kernel keeps a small entropy pool (4 kiloBytes) that is used by applications. If this pool is depleted then the kernel will block causing a delay until the kernel can provide the requested random numbers. The Linux kernel can only slowly replenish the pool using keyboard timings, mouse movements, interrupt, and IDE timings because of the lack of a high-speed source of quality random numbers.
A hardware random number generator (HWRNG) will provide a high-speed source of entropy to the Linux kernel which minimizes blocking and delays while maintaining security. Most of the HWRNGs that are available offer high security at a high cost. If you are a bank, financial institution, or run a huge e-commerce site, it would be worthwhile to invest several thousand dollars in a HWRNG but this this not possible for most individuals and small enterprises. The TrueRNG is a low-cost USB device that provides more than 49.1 kiloBytes/second of random numbers. This will refill the Linux entropy pool almost instantly and eliminate unnecessary blocking / delays.
Theory of Operation
The TrueRNG Hardware Random Number Generator uses the avalanche effect in a semiconductor junction to generate true random numbers. The avalanche effect has long been used for generation of random number / noise and is a time-tested and proven random noise source.
The semiconductor junction is biased to 12 volts using a boost voltage regulator (since USB only supplies 5V), amplified, then digitized at high-speed. The digitized data is selected and whitened internal to the TrueRNG and sent over the USB port with more than 49.1 kiloBytes/second of throughput.
This is what the normal entropy level looks like on a light use Linux server, without TrueRNG.
Entropy recovery rate on a light use Linux server without TrueRNG while seeding an encryption job.
Having the entropy pool filled on a Linux machine using a TrueRNG with the rng-tools package. Notice the immediate gain in available entropy.
Instant entropy recovery with TrueRNG + rng-tools on Linux. Entropy pool was artificially emptied to show recovery rate, Normal tasks such as SSH/Encryption didn’t create enough visible notice to graph. This was with a 1s sampling resolution, but the recovery was much faster than that.
Showing the random stream as a bitmap shows no visible patterns like a pseudo random number generator will
A Character distribution plot of a 3 MB stream captures shows that the min/max of character occurrences are between 0.38% and 0.40%
100Mb File Entropy Test
Linux command: ent random.dat (Results may vary between runs)
Entropy = 7.999998 bits per byte.
Optimum compression would reduce the size of this 106760304 byte file by 0 percent.
Chi square distribution for 106760304 samples is 260.12, and randomly would exceed this value 50.00 percent of the times.
Arithmetic mean value of data bytes is 127.4937 (127.5 = random). Monte Carlo value for Pi is 3.141909600 (error 0.01 percent). Serial correlation coefficient is 0.000026 (totally uncorrelated = 0.0).
(note) File captured using dd in Linux, entropy analysis by package ent
Note: There is currently application support under rng-tools for Linux to fill the kernel's entropy pool with data from TrueRNG. For other operating systems a custom application or port would be required, but is as simple as reading data from a USB Serial port.
Bryan | Jan. 22, 2016
Mike | March 9, 2015
Brett | Jan. 7, 2015
Andrew | Dec. 10, 2014
Cristian | Nov. 3, 2014
C | Oct. 28, 2014
Thomas | Oct. 21, 2014
Kenneth | Oct. 20, 2014
Daniel | Sept. 24, 2014
Zach | Sept. 8, 2014
Murphy | Sept. 7, 2014
Gerry | Aug. 9, 2014
Udo | July 8, 2014
Mark | May 12, 2014
Frank | May 11, 2014
Arjen | May 2, 2014
Roedy | May 1, 2014
Jos | April 24, 2014
Yann | April 11, 2014
Lee | April 7, 2014
Nabil | April 1, 2014
Scott | March 28, 2014
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!