/dev/urandom
Linuxの暗号論的に安全な乱数デバイス。古いmanページが何と言おうと、使うべきなのはこちら。
「/dev/randomはエントロピー不足でブロックするから、より安全だ」という俗説が根強い。だが実際は違う。プールが一度シードされれば、urandomの出力も同じだけ予測不能であり、ブロックによる障害のほうが、防いだ攻撃よりはるかに多い。
本当に問題になるのは、プールがまだ満たされていない起動直後だけだ。getrandom(2)はその期間に限ってブロックするので、正しく対処できる。Linux 5.6以降、/dev/randomも実質的に同じ挙動になった。