The TL200 is a retired product; see the current lineup for its successors. Its software and documentation kits remain available on GitHub.

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.

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/randomentropy 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:
- Diehard test reports: Generator 1, Generator 2
- Dieharder test reports for 280 GB random binary files: Generator 1, Generator 2
- ENT test reports: Generator 1, Generator 2, Generator 3 (280 GB)
- NIST STS test reports: Generator 1, Generator 2
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.