2010-11-26 11 views
3

私が理解するところでは、ストリーム暗号(またはAES CTRモード)では、キーは実際にIVを使用して暗号化されています(または一般的に、鍵Kから擬似ランダムバイトを生成します)。それより、XORを使って平文を暗号化するためにこの鍵を使用します。AES-CTRモード(ストリーミングのような暗号化)平文の1ビットの変更が暗号文の1ビットの変更を変更しますか?

しかし、私が理解しているところでは、同じ鍵Kが使用されていると仮定すると、平文の1ビットの変更は暗号文を1ビットだけ変更します。

私はそうですか、それとも全く間違っていましたか?

もし私が正しいのであれば、CBCより安全性が低いのではないでしょうか? (CBCでは、平文の1ビットを変更すると、暗号文のすべてのビットが変更点から変更されます)

ありがとう!!!

答えて

3

明らかに、CTRモードはShannon's diffusion principleに違反します。プレーンテキストのビットを変更すると出力のビットが変更されるだけなので、明らかです。しかし、これは物語の一部にすぎません。実際には、各メッセージのIVも変更する必要があります。したがって、プレーンテキストの1ビットだけを変更した場合でも、メッセージが同じであっても、多くのビットが次のメッセージで変更されます。

一方、悪質なメッセージの変更に関心がある場合、CTRもCBCもこれらの攻撃に対して安全ではなく、CCM、GCM、またはEAXなどの認証された暗号化モードを使用する必要があります。

+0

CTRモードでは、ブロック暗号を使用したスト​​リーム暗号が実装されます。 –

+0

@GregSいいえ、OFB(出力フィードバック)モードです。 –

+2

あるいは、はい、CTRモードでは、ストリーム暗号のようなブロック暗号を使用できますが、ランダムアクセスも許可されているため、すべてではありません。 –

1

はい、あなたは正しいです。キーは暗号化されていませんが、キー(IV)はキーを使用して暗号化されています。 このアプローチは、暗号化されたストリームへのランダムアクセスを可能にします(カウンタはデータの各部分について知られているため)。

4

CTRモードとデータ認証の両方を組み込んだモードがあります。通常、AEADモードと呼ばれ、たとえばCCMGCMモードと呼ばれます。

3

これは、CTRモードを使用しているときにだけストリーム暗号のように、キーストリームの一部を繰り返すことはありませんしなければならない理由まさにです。暗号化側で使用されるカウンタは、キーが変更されるまで、前進する必要があります。

関連する問題