Random Labs provides tools for obtaining and manipulating strong random numbers
and to generate passwords and lotto random numbers.
Random numbers acquired with
this software fall in 2 categories:
A - True Random Numbers
Numbers in this category
are retrieved from an on online source at
http://www.random.org.
Random.org uses
atmospheric noise to produce true random numbers.
The rate of production at about
1.8 MB per hour is not very high, but above other web sources we were able to find.
This means that we must not abuse the site resources with this software and a few
measures have been taken, namely:
1- You must register the software in order to
use it to retrieve data from Random.org. Your email address is sent as User-Agent
during the connection. Random.org logs User-Agents and is able to block any persona
non-grata.
2- An ad hoc download limit of 16384 bytes per day has been established.
When you generate passwords or numbers for lotto games selecting the Random.org
option, the software will download more bytes than required. The unused bytes are
added to a first in-first out Pool of true random numbers. You can use this Pool
to generate passwords and numbers for lotto games. The Pool, when exists, is used
as well to generate the seed for the Mersenne Twister PRNG. With the usage, the
Pool decreases because values withdrawn are removed from the Pool.
B- Cryptographically
Secure Pseudo-Random Number Generators (CSPRNG)
Random Labs includes 2 of the most
strong CSPRNG:
1- CryptoMT was developed by Makoto Matsumoto and Takuji Nishimura,
authors of the well known Mersenne Twister PRNG. CryptoMT is based on Mersenne Twister
(MT), a PRNG with a period of 2
19937-1.
Despite its gigantic period, MT is unsuitable
for cryptographic purposes. The reason is simple, it is possible to determine all
future states of the generator from the state the generator had at any given time,
and either 624 32-bit outputs, or 19,937 one-bit outputs are sufficient to provide
that state. CryptoMT works on the output of MT in such a way that there is no way
to reconstruct the original sequence of values. In addition, our version of MT is
initialized with a seed array of 8 dwords, each dword taken from the Pool (if exists)
of true random numbers. Except for the most paranoid cases, CryptoMT can be used
as a substitute for a TRNG for all sorts of applications involving random numbers.
2- CryptoAPI is a Microsoft API (application programming interface) that provides
cryptography related services, including the generation of cryptographic quality
pseudo random numbers. For some people, security related developments with the seal
of Microsoft are to be regarded with a grain of salt, so if you do not trust Microsoft
then use the CryptoMT instead. Some entropy is gathered from the PC system and used
for calling the CryptoAPI, this is not strictly necessary according to Microsoft
but provides an additional random seed.