/dev/random
EGD (Entropy Gathering Daemon) というソフトウェアは、/dev/random をサポートしていないUnix系システムでよく使われる。ユーザー空間で動作するデーモンであり、高品質の乱数データを提供する。OpenSSL、GNU Privacy Guard、Apache HTTP Server などの場合、/dev/random がないシステムでは EGD を利用できる。
実装としては EGD や prngd があり、各種情報源から擬似乱数的エントロピーを収集し、偏りを除去して暗号的品質を高め、Unixドメインのソケット経由(/dev/egd-pool がよく使われる)やTCPソケット経由でアクセス可能にする。エントロピー収集は子プロセスを定期的にforkして行い、頻繁に変化し予測できないシステムの各種属性(CPU、I/O、ネットワーク、ログファイルの内容、一時ディレクトリの内容など)を調べる。
EGD と乱数データを必要とする他のプログラムとのやりとりは単純なプロトコルで行う。クライアントはEGDソケットと接続し、先頭のオクテットが次のようなコマンドとなっている要求を送る。
command 0: 現在利用可能なエントロピー量を問い合わせる。