ブロック暗号のキーとして機能する非常に大きな (128 ビットや 256 ビットなど) 数値を生成しているとします。
さらに、アルミ箔の帽子をかぶっていると仮定しましょう (少なくとも屋外では)。
非常に偏執的であるため、利用可能なエントロピーを確認したいと考えていますが、特定の情報源を完全に信頼しているわけではありません。政府が私たちのコインを不正操作しているのかもしれません。たぶん、これらのサイコロはこれまでになく微妙に重み付けされています. ハードウェア割り込みのフィード/dev/random
が少し一貫しすぎている場合はどうなりますか? (偏執的であることに加えて、私たちは怠け者なので、すべてを手動で生成したくありません...)
それでは、それらをすべて混ぜてみましょう。
これを行うための安全な方法は何ですか? おそらく、各ソースから数バイトを連結するだけでは完全に安全ではありません.ソースの1つに偏りがある場合、理論的には、たとえば関連キー攻撃などに役立つ可能性があります.
連結されたバイトに対して SHA-256 を実行するだけで十分ですか?
(そして、はい、近いうちに暗号化エンジニアリングのコピーを手に入れるつもりです。:))