RC4 (RC4_PRNG+XOR) と同様に、RC4 の代わりに別の CSPRNG (Cryptographically secure pseudorandom number generator) [Isaac、BlumBlumShub など) を使用し、結果のキーストリームでデータを XOR することは安全ですか?
3 に答える
基本的に、これはストリーム暗号として Blum Blum Shub (またはその他の PRNG) を使用しているだけです。これは、それらが使用されるように設計された方法ではなく、ストリーム暗号コンテキストでは意味があるが CSPRNG コンテキストでは意味がない攻撃 (関連キー攻撃など) に対して弱い可能性があります。
これが必要な場合は、最新のストリーム暗号を使用することをお勧めします。たとえば、DJB のSalsa20は定評があります。
このスキームでCSPRNGを交換することは、おそらく同じように安全であり、まったく同じ一連の仮定、弱点、および実際的な問題があります。
まあ、それは依存します。
ほとんどの暗号化アルゴリズムは、XOR よりもはるかに多くのことを行います。しかし、それは鍵が平文より短いためです。キーがプレーンテキストと同じくらい大きく、真にランダムである場合、それをクラックすることは不可能です (これはOne Time Padと呼ばれます)。
ですから、もっと説明する必要があります。
しかし、あなたの鍵の長さは入力の長さと同じではないと推測します。たとえそうであったとしても、あなたが使用している乱数サービスは本当に安全ではないことはほぼ確実です。アプローチ(さらに、OTPの問題が鍵交換であることは言うまでもありません(おそらく))。