This software provides a platform for delivering highly secure random numbers using cryptography.
One of the most important functions of Entropy Broker is preventing the /dev/random device from emptiness. When this occurs, programs that require random data can experience significant delays until new data is collected. The software is particularly useful for those systems that need to generate encryption keys, run VPN software, or even host online casinos. Additionally, virtual systems that lack reliable sources of entropy, like virtual servers (such as VMware, XEN, and KVM, although KVM has the virtio_rnd driver), can greatly benefit from this software.
At its core, Entropy Broker is an infrastructure that consists of client-daemons that fill /dev/random and server-daemons that feed the central entropy broker-server. To gather random values, the server-daemons can measure timer frequency noise, analyze noise from an unused audio-device, noise from a video source (webcam, tv-card), or even random values from a real hardware RNG (random number generator).
The software utilizes the blowfish encryption algorithm to stir the entropy data into the (default 14) pools, each with a size of 4096 bits. To extract entropy data, Entropy Broker calculates a SHA512 hash, folds it in half, and then returns the data. This hash is used again to permutate the pool. For each blowfish invocation, the initial vector is rotated one bit and received through 64-bit initialization taken from the local system-PRNG. This method is used to determine the number of bits of information in the data delivered by the entropy-gather-servers.
Version 0.6: N/A