Technical Details: Random Number Generators (RNGs)
FreeOTFE offers a choice of four different random number generators (RNGs) for use when creating new FreeOTFE volumes:
- Mouse movement
- GPG
- cryptlib
- Microsoft CryptoAPI
Whichever one is selected must produce 4096 bits (512 bytes) of
cryptographically secure random numbers. This random data is used in
three ways:
- As the master key used for encrypting/decrypting your data
- For salting
- As random "padding" to make up otherwise unused space within the
FreeOTFE volume's critical data block. (See volume layout
documentation for further details)
Mouse movement
This relies on the user "waggling" the mouse in a random fashion to generate random data.
Every 100ms the mouse pointer is checked. If it has moved
significantly, then the X and Y coordinates of the mouse pointer are
sampled, and the LSB of each is added to the random data collected.
Due to the volume of random data required, and the fact that only 2
bits of random data are collected for each mouse position sampled, this
is a relatively slow process.
GPG
The GNU Privacy Guard (GPG) may be used to generate random data (see the GNU Privacy Guard WWW site for further details).
Note: Please refer to the GPG manual for comments on using it's entropy before attempting to use this method.
Microsoft CryptoAPI
The Microsoft CryptoAPI is used to generate random data.
cryptlib
cryptlib is used to generate random data.
Note: This option is only available if cryptlib (cl32.dll) is installed; see the cryptlib WWW site for further details and download.