Software downloads

The Entropy Key's software driver consists of a daemon (ekeyd) that handles the communication with keys, and mixing entropy collected into the system's own random pool, and an optional user-land USB driver (ekeyd-uds) for systems without USB CDC support, or where that support is unreliable. There is also a daemon that acts as an EGD client (ekeyd-egd-linux) and will top up the system's pool with data retrieved from an EGD server, such as ekeyd running in EGD mode.

We provide both of these pieces of software under a liberal Open Source licence (the MIT licence) in source form, as well as deb packages for multiple versions of Debian and Ubuntu, and as RPM packages for recent releases Red Hat Enterprise/CentOS, and Fedora.

There are also some step-by-step guides, Installing on CentOS 5.5 and Installing on CentOS 6.0. Both of these guides also apply to the matching Red Hat Enterprise Linux releases.

You can find all the sources and binaries in the downloads area.

Windows compatibility

Unfortunately, unlike UNIX with its /dev/random, Windows has no "central" pool of entropy from which most applications read their random numbers, and the modern cryptographic API provides no way for third-party software or devices to add entropy to its default random number source. This means that any software wishing to take advantage of an Entropy Key must be modified and recompiled.

While we have internally developed a crude prototype for a Windows DLL that provides a simple interface to the Entropy Key, it is a proof of concept and not suitable for production use. We currently have no time scale for its improvement and general release. People who are interested in developing this interface DLL can contact us: details in the "Contact Us" page.

Distribution-provided packages

Some distributions already include the Entropy Key driver software. Please note that they may be distributing older versions, so always check back here to see if a newer release is available. If any representatives of other operating systems are interested in producing official packages for their distribution, please contact us either on the development mailing list, or directly. Contact details are on the Contact Us page.

Linux kernel issues

The Entropy Key appears to host computers as a USB standard Communications Device (CDC) asyncronous serial device. Most modern operating systems have a device driver which presents such devices as serial ports. Linux's driver for this USB class (the module cdc_acm) usually creates TTY devices named ttyACM0 or similar.

In previous releases, Linux's cdc_acm driver appeared to have numerous issues. The specific problems which will be encountered by users change between kernel versions. Linux 2.6.32 and newer has no known problems. The following table documents some of the known reported issues. Under these kernel versions, you may wish to use the userland driver that is provided (ekey-ulusbd, packaged in ekeyd-uds) as it will avoid these issues at the cost of slightly higher CPU consumption. For our provided packages, if there is a ulusbd package, it is recommend you use it. Package sets for newer operating systems exclude it. This driver can also be used (or ported) to systems where there is no native CDC driver support.

Kernel version Issues identified
2.6.18 System crashes, which may require a physical system reset. This is especially problematic and common on RHEL 5/CentOS 5. Always use the userspace driver.
2.6.24 Kernel driver appears to work, but may hang the machine from time to time. Always use the userspace driver. This issue effects Ubuntu 8.04 LTS, and possibly other distributions.
2.6.26 Generally acceptable operation, except if a device is open (ie, in use by ekeyd when the device is unplugged. In this situation, no udev events are generated for the unplug operation. Re-inserting and removing the device often causes the correct udev events to be generated and ekeyd will again operate correctly.
2.6.31 Any access of the device results in an IO error being reported. This is a known regression with a kernel bugzilla entry. Additionally, the usermode driver has been observed to function incorrectly with some vendor kernels.
2.6.32 and onwards No reported issues.

Simtec Electronics, 130 Hesketh Lane, Tarleton, Lancashire, PR4 6AS, United Kingdom.
Tel: UK (01772) 977177 / International +44 1772 977117 ekey@simtec.co.uk