A TL200 device

The TL200 is a general-purpose device that generates true random numbers at a rate of 2 Mbps. Random bytes are downloaded from the TL200 through a USB interface using a simple API. The software, with complete source code and all necessary USB driver files, was supplied with the device.

How it works

The TL200 uses random noise generated by two independent sources based on reverse-biased Zener diodes. The electrical noise from each source is independently amplified, filtered, and converted by an analog-to-digital converter (ADC) into digital values as bytes. Every two random bytes generated by different sources are combined with logical operations to produce one low-bias random byte. To further reduce bias, the resulting bytes are hashed in a post-processing step that produces the final true random bytes.

A TL200 plugged into a MacBook

Quality checking

The TL200 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. In addition to the HCT, the monitoring logic checks the quality of the final random bytes by continuously running the Repetition Count and Adaptive Proportion tests. If it detects an unexpected deviation from normal operation or a complete malfunction of either source, the monitoring logic puts the device in stop mode and flashes the LED.

When the TL200 is first connected, the monitoring logic runs the HCT, Repetition Count, and Adaptive Proportion tests on random bytes as a start-up test suite for about 2 to 5 seconds before the device accepts any requests.

The TL200 contains patented technology.

Tech specs

See the technical specifications for more details.

Download speed for true random bytes: 2.0 Mbps *
Weight: 14 grams (0.5 oz)
Data connectivity and control interface: USB 2.0 full-speed interface with ESD protection and bidirectional EMI filtering
Random source: Two independent circuits based on Zener diodes
Embedded post-processing algorithms available: SHA-160, SHA-256 (embedded/host), SHA-512 and HmacSHA160
Device security: Any access to the code programmed in the MCU flash is locked out.
Additional security feature: Embedded FTDIChip-ID security dongle feature
Kernel module: Through the provided tlrandom kernel module, the random bytes generated by the TL200 are available from the device /dev/tlrandom on x86-64 systems such as Ubuntu, CentOS 7, CentOS 6.6 and other Linux-based x86-64 systems
Entropy pool: Through the provided software, the TL200 can feed the /dev/random entropy pool directly.
Data acquisition, processing and control unit: SAM4S8B/SAM4SA16B, a 32-bit ARM-based Cortex-M4 core MCU running at 120 MHz **
Embedded health check test (HCT): Continuous health diagnostics of all random sources
Random sequence generation: Embedded logic allows for the generation of a sequence of non-repeatable random numbers within a range.
Implemented statistical tests: Continuous Repetition Count and Adaptive Proportion statistical tests
Power supply: USB bus powered with embedded overload protection
RoHS compliance: All parts and materials used in the TL200 are RoHS compliant
Power consumption: The TL200 draws no more than 98 mA (depending on the selected power profile)

Footnotes:

* The actual download speed may vary with the selected device power profile, host OS, and computing hardware. A download speed of 2.0 Mbps can be achieved on a host computer with an Intel i5 or faster CPU when power profile 5 is selected.

** The actual MCU clock frequency depends on the selected power profile and is one of the following values: 24 MHz, 48 MHz, 72 MHz, 96 MHz or 120 MHz.

Applications

The TL200 is a versatile device that can be used for a wide range of purposes, including:

  • Feeding the /dev/random entropy pool on Linux
  • Number generation for security purposes (SSH, SSL, etc.)
  • Research (statistical sampling)
  • Computer simulations
  • Gaming servers

Statistical tests

The TL200 passes the Diehard, Dieharder, NIST, and ENT statistical test suites for measuring the quality of a random number generator.

View the following files for statistical test reports:

System requirements

  • Windows XP / Server / Vista / 7 / 8 / 8.1 (32-bit or 64-bit)
  • or macOS 10.6 / 10.7 / 10.8 / 10.9 / 10.10 Yosemite
  • or Linux (x86, x64)
  • USB 2.0 or 3.0 high-speed host or hub

Warranty and return policy

The TL200 was sold with a one-year limited warranty covering repair or replacement (at our sole discretion) of any device that failed due to a defect in materials or manufacturing. A TL200 could be returned within 30 days of purchase for a full refund, with the buyer paying for return shipping.