Note: The TL200 has been discontinued. TectroLabs recommends the SwiftRNG.
The TL200 is a general purpose device that generates true hardware random numbers at a rate of 2 Mbits per second. 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-related files are supplied with the device and can also be downloaded.
How It Works
The TL200 utilizes random noise generated from two independent and reliable sources based on reverse-biased Zener diodes. The electrical noise generated by each random source is independently amplified, filtered and converted using ADC into digital values as bytes. Every two random bytes generated by different sources are used to produce one low bias random byte by applying logical operations. To further reduce the bias, the resulting bytes are hashed as part of a post processing step that produces true random bytes.
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 running the HCT, the monitoring logic will check the quality of the final random bytes produced by continuously running the tests ‘Repetition Count Test’ and ‘Adaptive Proportion Test.’ The embedded monitoring logic puts the device in ‘stop’ mode and flashes the LED light if it detects an unexpected deviation from normal operation or complete miss functioning of any of the two sources.
When the TL200 is first connected through a USB interface, the monitoring logic will run ‘HCT,’ ‘Repetition Count Test’ and ‘Adaptive Proportion Test’ on random bytes as part of the start-up test suite for about 2-5 seconds before the device will be ready to accept any requests.
The TL200 contains patent technology.
Technical Specifications Overview
See 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 Full-speed interface with ESD protection and Bi-directional 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 will be available for download from the device /dev/tlrandom on x86-64 systems such as Ubuntu, Cent OS 7, Cent OS 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 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 an embedded overload protection|
|RoHS compliance:||All parts and materials used in TL200 device are RoHS compliant|
|Power Consumption:||The TL200 device draws no more than 98 mA (depending on the selected power profile)|
* The actual download speed may vary based on the selected device power profile, host OS and computing hardware (2.0 Mbps download speed can be achieved on a host computer using I5 or faster CPU when device power profile 5 is selected)
** The actual MCU clock frequency depends on the current power profile selected and is one of the following values: 24 MHz, 48 MHz, 72 MHz, 96 Mhz or 120 Mhz
The TL200 is a versatile device that can be used for a wide range of purposes including, but not limited to:
- Feeding the /dev/random entropy pool on platform
- Number generation for security purposes (SSH, SSL, etc.)
- Research (statistical sampling)
- Computer simulations
- Gaming servers
The TL200 device passes the following statistical tests for measuring the quality of a random number generators: Diehard, Dieharder, NIST, and ENT.
View the following files for statistical test reports:
- Diehard test reports: Generator 1, Generator 2
- Dieharder test reports for 280GB random binary files: Generator 1, Generator 2
- ENT test reports: Generator 1, Generator 2, Generator 3 (280 GB)
- STS NIST test reports: Generator 1, Generator 2
- Windows XP / Server / Vista / 7 / 8 (32 bit or 64 bit) / 8.1
- 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/hub
Warranty and Return Policy
TectroLabs offers a 1-year limited warranty on the TL200. We will repair or replace (at our sole discretion) any device that fails due to defect in materials or manufacturing. A TL200 device may be returned within 30 days of purchase for a full refund (buyer will pay for return shipping).