/dev/random
このようなOSレベルの乱数用デバイスを実装した最初のOSカーネルが Linux であった。設計にあたっては、いかなる生成法(暗号学的ハッシュ関数など)にも脆弱性が発見され得る可能性があるという仮定を置いており、そのような脆弱性に耐性を持つよう設計されている。
この実装では、エントロピープールにおけるノイズのビット数の予測を常に保持する。このエントロピープールから乱数を生成する。/dev/random から読み出すと、エントロピープール内のノイズビット数予測から乱数バイト列のみを返す。/dev/random は、ワンタイムパッドや鍵など、高度な無作為性を必要とする場合に使われる。エントロピープールが空の場合、/dev/random から読み出そうとするとブロック(英語版)され、環境ノイズの収集がなされるまで待たされる。
これは、真の乱数生成器となることを意図したもので、可能な限り最も無作為なデータから実際のエントロピーを抽出しようとしたものである。また、長期間あるいは高度な保護のための暗号鍵の生成に使用することを意図していた。
/dev/random と対をなす /dev/urandom ("unlocked" random source) も存在する。こちらは内部プールを再利用することで擬似乱数的な乱数ビット列を生成する。すなわち、/dev/urandom へのアクセスはブロックされることがないが、/dev/random に比べると、真の乱数ではなく擬似乱数的に生成されている。ただし、暗号論的擬似乱数生成器として機能することを意図して、一般的な擬似乱数生成器ではなく、暗号論的擬似乱数生成器を使用している。
FreeBSDでは、以前は Linux のような実装だったが、Fortuna(英語版)を使って擬似乱数列を提供する実装になっている。Linux の /dev/random とは異なり、FreeBSD の /dev/random は決してブロックしない。つまり Linux の /dev/urandom に似ており、エントロピープールではなく暗号論的擬似乱数生成器として機能することを意図している(FreeBSD では /dev/urandom は random へのシンボリックリンクである)。
攻撃者が内部状態を知らない場合、擬似乱数生成器であっても十分にセキュアであり、しかもエントロピープールよりもわかりやすい。エントロピープールによる実装は完璧に実装すれば完全にセキュアとなるが、エントロピー予測が過大だとうまく設定された擬似乱数生成器よりも弱くなる。攻撃者は場合によってはエントロピーの大部分を制御できる。例えば、ディスクレスサーバの場合、環境ノイズの多くはネットワークに由来するため、中間者攻撃に対して脆弱となる可能性がある。