わかりました、パート 1 に対処するコメントがいくつかあるようですが、これは安全ですか。質問 2 に進みますが、より安全な方法はありますか?
このパズルには、鍵の生成、鍵の配布、および暗号化という 3 つのピースがあります。
キー配布と暗号化の実証済みの真の方法に固執することを強くお勧めしますが、サンプリングされた入力デバイスからのキー生成にエントロピーを追加することは役に立ちません。
秘訣は、ハッシュ関数を使用して、そのエントロピーをキーに蓄積して「ホワイトニング」することです。たとえば、言及したすべてのエントロピー ソースからデータを収集し、それらを SHA-256 でハッシュして、そのすべてのエントロピーを管理可能なスペースにパックしてランダム化し、前に提案したように RNGCryptoServiceProvider データと XOR することができます。
これで、追加した野生のエントロピーによって、PRNG から真の RNG が作成されました。
より多くのエントロピーを収集したら、元のハッシュを新しいデータでハッシュして、古いエントロピーが新しいエントロピーでマッシュアップされるようにします。このようにして、最終的にハッシュ長に相当するエントロピーを蓄積します。
ただし、その状態に到達するまでにかかる時間を計算するのは困難です。