ストリーム暗号とブロック暗号の違いは何ですか?ブロック暗号のようにデータはチャックにあり、ストリーム暗号ではビットごとに暗号化されているので、ストリーム暗号の入力としていくつのデータがありますか?
1 に答える
Stream Cipherのストリームは、データではなく鍵を参照します。ブロック暗号では、キーは一度にデータのブロック (通常は 8 または 16 バイト) を暗号化し、通常は暗号モードを使用してブロックからブロックへとキーを変更します。ストリーム暗号では、キー ストリームを生成するために何らかのメカニズムが使用され、データは通常、キー ストリームと XOR 演算されるだけです。キーストリームは、送信者と受信者に事前に知られているワンタイムパッド、または送信者と受信者に知られている初期状態を持つ乱数ジェネレーターの出力にすることができます。ほとんどのブロック暗号でさえ、CTR または OFB モードで使用できるため、効果的にストリーム暗号になります。
なぜストリーム暗号を使用するのでしょうか? 最後の操作は単純な XOR であり、非常に高速です。キーストリームは、事前に個別に計算することもできます。したがって、ストリーム暗号は、暗号化されたテレフォニーなど、リアルタイムでの暗号化が必要な場合に人気があります。
ストリーム暗号を使用しないのはなぜですか? 最後の操作は単純な XOR です。つまり、キー ストリームの通常のパターンが攻撃者に悪用される可能性があります。キーストリームが繰り返されないように注意する必要があります。これには、一度使用された番号や、一意性を保証するその他のメカニズムを使用する必要があります。ブロック暗号では、この条件はそれほど重要ではありません。CBC モードではランダムな初期化ベクトルが優先されますが、一定の IV はストリーム暗号ほど危険ではありません。