残念ながら、/ dev / randomもワンタイムパッドでの使用には適していません。少なくとも、ほとんどの人がワンタイムパッドについて考えたり実装したりするときに想像できる種類のワンタイムパッド(セキュリティが保証されている)はそうではありません。以下の情報のほとんどは、http://www.2uo.de/myths-about-urandom/の(非常に長い)記事から要約されています。
問題は、/ dev / randomが真にランダムではないことです。CSPRNGを使用して出力を生成します。実際、/ dev / randomは/ dev / urandomとまったく同じCSPRNGを使用します。唯一の違いは、エントロピーの内部推定が不十分な場合、/ dev / randomがブロックすることです。
前の文の「見積もり」という単語が重要です。ほとんどの人は、この見積もりは常に正確で完璧だと考えていますが、実際にはまったく正確ではありません。見積もりが間違っていると、ワンタイムパッドのすべての証明可能なセキュリティ保証が失われ、残っているのは計算上のセキュリティだけです。/dev/urandomを使用した場合と同じです。
エントロピーの見積もりを少しだけ間違っても、ワンタイムパッドが少しだけ安全になるわけではありません。ワンタイムパッドの証明可能なセキュリティ保証は、全部かゼロかです。
この質問の前提は、/ dev / randomの問題をさらにエントロピーを追加することで「修正」できることです。残念ながら、この前提は間違っています。エントロピー源は、多くの場合、内部データへのアクセス権を持っているとRNGの出力を使用して、密かにこのデータをエクスポートすることができますので、エントロピーの悪質なソースは、全くのエントロピーよりはるかに劣っている-を参照してhttp://blog.cr.yp.to/20140205-entropy完全な議論のための.html(ここで要約するには長すぎます)。特に、(他のいくつかの回答で推奨されている)ハードウェアのエントロピーソースは、セキュリティの観点からは非常に悪い選択です。そのハードウェアは悪意のあることを行うための主要な位置にあり、本質的に監査不能だからです。