あなたが言っていることは的を射ています。はい、理論的にはエントロピーを にフィードすることは可能/dev/random
ですが、それが重要であるためには、多くのカーネル「ノイズ」ソースを制御する必要があります。random.cのソースを見て、どこ/dev/random
からノイズを拾うかを確認できます。基本的に、かなりの数のノイズ ソースを制御すると、他のノイズ ソースがエントロピー プールに寄与しているものを推測できます。
はからシードされ/dev/urandom
たハッシュ チェーン/dev/random
であるため、シードがわかっていれば、次の数値を実際に予測できます。エントロピー プールを十分に制御できる場合は、 の出力から/dev/urandom
このシードを推測できる可能性があります。これにより、 から次のすべての数値を予測できるようになりますが、使い果たされ/dev/urandom
たままにしておく場合に限り、再シードされます。/dev/random
/dev/urandom
そうは言っても、制御された環境でさえ、実際にそれを行う人を見たことがありません. もちろん、これは保証ではありませんが、心配する必要はありません。
したがって、マウスを動かしたり、キーボードを叩いたりするなど、愚かなことをユーザーに要求するの/dev/urandom
ではなく、エントロピーを待っている間にプログラムがブロックされないことを使用して保証したいと思います。/dev/random
LWN のエントロピーとランダム性について読むべきだと思います。うまくいけば、心配が和らぐでしょう :-)。
それでも心配な場合は、HRNGを取得してください。
編集
ここにエントロピーに関する小さなメモがあります:
エントロピーの概念は一般的に理解しにくいと思います。ウィキペディアに詳しい記事があります。しかし基本的に、この場合、エントロピーはランダム性と読むことができます。
つまり、色付きのボールの大きな袋があり、この袋のエントロピーが高いほど、袋から引き出される次の色を予測するのが難しくなります。
このコンテキストでは、エントロピー プールは単なるランダム バイトの集まりであり、前のものや他のものから派生させることはできません。つまり、エントロピーが高いということです。