/dev/random
の読み取りはブロックされる可能性があることを理解していますが、/dev/urandom
の読み取りはブロックされないことが保証されています。
どこにu
という文字が入りますか?それは何を意味していますか?
ユーザースペース?ブロックを解除しますか?マイクロ?
更新:
質問の最初の文言に基づいて、/dev/random
と/dev/urandom
の有用性についていくつかの議論がありました。リンク / dev/urandomに関する神話 は以下に3回投稿されており、質問への この答え に要約されています / dev/random vs/dev/urandom 。
無制限
Linuxでは、 random_read
および random_read_unlimited
という名前のカーネル関数を比較すると、u
isurandom
内の文字unlimited
の語源が示されます。
これは line 114 によって確認されます:
/ dev/urandomデバイスにはこの制限がありません[...]
更新:
Linuxの最初の/dev/random
または/dev/urandom
について、@StéphaneChazelasが 元のパッチを使用した投稿 を提供し、@ StephenKittが 両方が同時に導入されたことを示しました 。
それはあなたが話しているどの「Unix」システムに依存します。
FreeBSDでは、/ dev/urandomと/ dev/randomは同じデバイスです。文字uは、下位互換性のために存在する歴史的な遺産です。起動時に、十分なエントロピーが収集されるまでブロックし、その後再びブロックすることはありません。詳細については、 尿毒症に関する神話 を参照してください。
最近のLinuxの世界(カーネル4.8以降)では、両方のデバイスが同じCSPRNGから取得するため、唯一の違いは、一部の人々が攻撃の存在を推測していることです。この攻撃はFTL [Faster than Light]の旅行に似ています。推測するのは簡単ですが、実際に設計するのは難しいです。
TLDRは/ dev/urandomを使用するだけです。