haveged is a daemon that feeds the /dev/random pool on Linux using an adaptation of the HArdware Volatile Entropy Gathering and Expansion algorithm invented at IRISA. The algorithm is self-tuning on machines with cpuid support, and has been tested in both 32-bit and 64-bit environments. The tarball uses the GNU build mechanism, and includes self test targets and a spec file for building an RPM. The collection mechanism may also be used independently of the /dev/random interface by providing a build option.
| Tags | Operating Systems Linux Distributions Cryptography Security |
|---|---|
| Licenses | GPLv3 |
| Operating Systems | Linux |
| Implementation | C |
Recent releases


Release Notes: A 'generic' architecture based upon clock_gettime() has also been added. An s390 architecture has also been added. The build script now allows non Red Hat init scripts to be installed without patching the build. The collection loop has been rewritten to support multiple instances, and an experimental threaded option is now available to spread the CPU load. Auto tuning has been rewritten to replace buggy cpuid code and to incorporate information obtained from the /proc and /sys filesystems.


Release Notes: Small fixes to the 1.3 version for PPC.


Release Notes: haveged has been reorganized to allow its collection mechanism to be better accessed directly through the file system. This reorganization includes the option to suppress the daemon interface in the build for circumstances where /dev/random is unavailable or its use is inappropriate. This also means that haveged can now be built and used on non-Linux systems.


Release Notes: Improvements to build reliability.


Release Notes: The HAVEGE implementation has been improved to better stand up to aggressive compiler optimization and the code has also been reorganized to more cleanly separate the algorithm from its Linux harness. The result is more portable (at least to the point where a proof of concept builds and runs in a pure MSFT environment) and may be of interest to those outside of the usual Linux/gcc environment.
A tool for securing DNS communications between a client and a DNS resolver.