/dev/randomに書き込むとすぐに適用されます。

/dev/randomに書き込むとすぐに適用されます。

哲学で最もよく説明できる理由から、私は次のことを知りたいと思います。 X時間に/dev/random(または/dev/urandom)を読みたいとしましょう。ある場合はこれを行いますが、別の場合は/ dev / randomが同じ状態にあるときにX時間前に/ dev / urandomにいくつかのバイト数をプッシュします。出力は同じですか?巨大で奇妙な偶然の一致のために、私が書いた特定のバイトが/dev/randomを以前と同じ状態に残す状況は無視してください。

別の質問方法: /dev/randomに書き込むかどうかまもなく/dev/randomの状態を変更する(偶然でない限り)、/dev/randomが私の書き込みによって影響を受けるが遠い将来にのみ影響を受けることを意味する一種のバッファリング(入力または出力)はありますか?

注:私は書き込み中に追加のエントロピーを取得できると宣言するためにioctlを使用しません。

私はこれが「重要な」質問ではないことを強調したいと思います。私が知る限り、世界中の誰かがあくびをしたりしなかったため、一部の量子ランダムハードウェアが状態を変更できることを十分に理解しています。あくび。書かないでください。この質問は、厳密に言えば、/dev/randomに書き込む行為がソフトウェアの状態を即座に変更するのか、それとも/dev/randomが次に取得する内容をバッファリングしたか(または決定するまで書いた内容をバッファリングしたか)に関するものです。何かを再シードするために)書き込み効果が遅れます。

この質問は明らかに不適切な質問なので、私が尋ねる理由を説明します。私は/dev/randomの出力を使用してゲームの結果を決定するゲームを実行しています。ゲーム中に人々が呟くが、私はそのオーディオストリームをリアルタイムでコピーしてハッシュしてから、/dev/randomにプッシュします。私が決めたいのは、「そう言わなかったら1が出てこなかっただろう」と正確だが、とんでもない主張をすることができるのか、あるいはある日「あなたがそう言った」というもう少し弱い主張をするべきかどうかだ。あなたのサイコロをいじめるために戻ってください。 」

また、興味深いのは、「今の影響」が/dev/randomの永続的な属性であるのか、それとも現在の実装の偶然なのかということです。

ありがとうございます!

ベストアンサー1

(drivers/char/random.cのドキュメントが正しいと仮定すると)作成した内容はすべてエントロピープールに直接混在し、ランダムな出力はそのプールのハッシュです。したがって、変化はすぐに行われるべきです。

ただし、/ dev / randomからの読み込みはブロックされ(エントロピーが空の場合)、書き込み(ポーリングを使用)もブロックされる可能性があります(エントロピーがいっぱいの場合)、/ dev / randomへの書き込みは通常非常に遅くなります。したがって、このアイデアにはいくつかのパフォーマンスに関する考慮事項があります。

ユーザーの苦情に基づいてランダムなデータが必要な場合は、/ dev / randomを完全にスキップし、独自のSHA機能を使用してすべてをローリングできます。これはまたあなたに国の完全な制御を与えるでしょう。したがって、各ユーザーに独自のハッシュインスタンスを提供することで、任意の数が完全に自分のサウンドに基づいていることを確認できます。システムのランダム性や他の人の言葉に依存しません。また、ハッシュ関数の実装について学び、準​​備されたオーディオパターンを送信する場合は、トリックを書くこともできます。 ;-)

しかし、それ以上に、全体のアイデアは非常に深いです。ランダムデータは予測できず、ハッシュ結果も同様です。ランダムを望まない限り、/dev/_u_random何も書かずに読むだけでは意味がありません。

おすすめ記事