A TL200 device

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.

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 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.

Tech specs

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)

Footnotes:

* 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

Applications

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

Statistical Tests

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:

System Requirements

  • 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).