ComScire Random Generator
Product Selection Guide

R2000KU Hardware Random Number Generator (DISCONTINUED)


Add to Cart:


R2000KU Functional Description
Multiple Redundant Generators Plus Hardware
Runtime Testing Yield Maximum Reliability

Every true random number generator (TRNG) requires a physical source of entropy. Entropy is in general a measure of disorder in a physical system. In terms of Information Theory, entropy can be thought of as a measure of how unpredictable the measured properties of the entropy source are. A simple analogy is the flip of a coin. If each flip is entirely unpredictable, that is, each flip has exactly a 50/50 chance of landing on heads (a "fair" coin), the entropy is 1.0. In the opposite extreme, if a coin had two heads, every flip of that coin would be completely predictable and the entropy would be 0.0. All real physical measurements are inherently imperfect so every realizable generator of random bits has at least some defect in statistical randomness in its raw or uncorrected output, though it can be made arbitrarily small.

The entropy source in the QNG Model R2000KU is a combination of thermal or Johnson noise and transistor noise. Thermal noise is produced by thermally excited vibration of electrons in every circuit element with resistance. Its statistical properties are well known and its noise spectrum is flat or "white." Transistor noise is more complex and its amplitude is frequency dependent. The exact mixture of transistor noise components also depends on the type of transistor, such as a junction or MOS. At low frequencies the transistor noise spectrum is dominated by the well-known 1/f response. Above the "knee" in the 1/f spectrum, shot noise and thermal noise become dominant, producing a relatively flat noise spectrum. Four independent, high-frequency oscillating signal sources, each including combined noise signals of the type described above, continuously operate at different frequencies between 200 and 400 MHz. The resulting noisy oscillator signals are each sent through multi-stage delay lines to produce 16 additional noisy outputs. Permutations of these additional noisy outputs are used to produce 32 sampled binary signals. The sampled binary signals are combined and resampled at an output frequency of 112 MHz. The effect of the delay lines and the many permuted binary samples is to greatly increase the rate of sampling of the entropy, that is, the unpredictability of the combined output bits.

The R2000KU contains three independent generators of the type described above. The statistics of each of these three generators is continuously monitored in the generator hardware. The monitoring includes 1/0 bias, 1st order autocorrelation and an estimated minimum entropy. The outputs of each of the three generators is then sent through a linear feedback shift register (LFSR) whitening function to correct defects in statistical randomness. The LFSR's do not change the total amount of entropy, but distribute it equally over the bits in the output sequences. The three corrected outputs are combined by XOR function and finally 56 of these bits (112 bits if the output rate is set to 1 Mbps) are combined in another XOR to produce each final output bit. The internal hardware monitoring requires at least two of the three generators to have an estimated entropy of at least 0.9 bits/bit. If this requirement fails, the output from the generator is halted. Output bits are also tested for entropy, and the generator will be halted if the estimated entropy falls below 0.99 bits/bit. The internal hardware testing also acts as a startup test program. At startup random data will not be output until a block of 1,048,576 bits (220 bits) from at least two of the three redundant generators has produced the required minimum entropy level.

Software in the host computer monitors the flow of data from the generator. If the monitoring program detects a halt condition, a request for the internal statistics will be automatically generated. These statistics are checked to determine if there has been an actual fault in the hardware, and if this check indicates a fault, an error message will be generated and no random data will be provided. The automatic check of the hardware may also indicate there was simply a delay caused by normal functioning in the computer's operating system, programs or other attached components. If the check shows the hardware is operating correctly, the monitoring software will restart the generator output and random data flow will resume. The internal statistical test results are accessible at any time through simple commands in the user interface.

Power for the generator is provided through the USB connector and is filtered at entry into the grounded, 1/16 inch aluminum device enclosure. Independent regulation of power for the generator section prevents any external effect on the random number generation by fluctuations in the power source.

The theoretical effect on the output sequence statistics of XORing a number of bits, n, in an input sequence of given statistics is known[1], [2]. For n=56, the maximum defect in bias or autocorrelation is less than 100 ppm to the fifth power, or 1 part in 1020. This assumes statistical defects as large as 100 ppm in the output of the LFSR whitening function, while the actual level is typically below 10 ppm. A sequence of any testable length with statistical defects so low will be indistinguishable from a theoretically perfect random sequence. The R2000KU output is guaranteed to pass any provably correct test for randomness. The entropy level of the output bits will also be indistinguishable from 1.0 since more than 100 bits of true entropy (nominally 150-160 bits) are used to produce each output bit. The generator output bits are transferred at a rate of 2 Mbps (jumper selectable to 1 Mbps) via USB interface to the R2000KU driver in your computer. These bits are made available to your programs by ActiveX communications in a number of different formats including 32-bit integers, 48-bit [0, 1) uniformly distributed fractions and mean=0.0, standard deviation=1.0 Gaussian variates[3] of maximum ±8.0 SD.

The random generation method used in the R2000KU[4] is highly resistant to failure due to long-term aging effects and is tolerant to expected variations in components from different production runs. The high level of redundancy provided by the three independent generators and the large number of entropic bits used to produce each output bit ensures consistent and highest quality true random numbers for any application[5]

[1] Davies, R., Exclusive OR (XOR) and hardware random number generators, Feb. 28, 2002,

[2] Wilber, S., Random Number Generator and Generation Method, Nov. 27, 2001, US Pat. No. 6,324,558

[3] Gaussian (Normally distributed) variates are calculated from pairs of uniformly distributed random variates using the Box-Muller transform.

[4] Patent pending.

[5] The R2000KU is protected under US patent numbers 6,763,364, 6,862,605, 7,096,242 and 7,752,247; other patent(s) pending.


  • 2 Megabit per second – jumper selectable to 1 Mbps
  • 1/0 bias and autocorrelation < 1 part per trillion
  • Continuous hardware runtime testing
  • USB 2.0 Full-Speed interface
  • Bus powered – 90mA max from USB connection
  • Non-condensing humidity
  • Operating temperature – 0-50 Deg. C
  • ActiveX connectivity
  • Includes Drivers, interface and testing software
  • Client software forward compatible from J1000KU

System Requirements:

  • 32/64-bit Windows XP/2003/Vista/2008/7/8 or Linux 2.6+
  • USB 2.0 High-Speed host/hub


  • Minimum OS required is Windows XP SP3 or Linux 2.6