2016-06-23 4 views
1

暗号化されたデータが同じ場合、同じ暗号化キーを使用してデータを暗号化すると仮定できますか?3DES:同一の暗号文は同一のキーを意味しますか?

たとえば、プレーンテキストは「This is sample」です。

初めて3DESアルゴリズムと暗号化キーを使用して暗号化します。暗号化されたデータは 'MNBVCXZ'になりました。

もう一度、3DESアルゴリズムと暗号化キーを使用して暗号化します。暗号化されたデータは 'MNBVCXZ'になりました。

私の質問は以下のとおりです。

  1. 私は、静的な暗号化キーが、この暗号化プロセスで使用されていると仮定することはできますか?
  2. 3DESアルゴリズムを使用してデータを暗号化するために使用できるキーの数はいくつですか?
+1

ここでは、同じ暗号文をもたらす2つの異なるキーがあります:http://stackoverflow.com/questions/1284412/why-does-changing-one-bit-in-a-triple-des-key-or -initial-value-not-give-differen(しかし、違いはパリティビットで "ちょうど"だったので、それを数えたいかどうかはわかりません)。 – Thilo

+1

3DESの鍵強度は168ビットです。つまり、2^168の異なるキーがあることを意味します。 – Thilo

+0

同じ平文が同じ暗号文として終わる場合、同じ鍵が使用されます(モジュールのパリティビット、上記参照)。異なるプレーンテキストが同じ暗号テキストとして終わると、異なるキーが使用されています(それ以外の場合は復号が機能しません)。 – Thilo

答えて

2

この暗号化プロセスでは、静的暗号化キーが使用されていると想定できますか?

はい、暗号化を自分で実行すると(非常に高い確率で)、敵が暗号化を実行でき、平文/暗号文が比較的小さい場合はnoです。

3DESは確かに2^168の可能なキーと2^64の可能なブロックを持っているので、いくつかのキーは1つの平文を同じ暗号文に暗号化することは明らかです。このようなキーのペアを見つけるには、(誕生日パラドックスのために)平均で約2^32の計算が必要です。

平文が大きい場合(複数のブロックを暗号化する必要がある場合)、同じ暗号文を素早く生成するの異なるキーを見つける機会はゼロになります。

キーの1つがプリセットされている場合、別のキーを見つけるために約2^64の計算が必要です。同様の理由で、残念ながら特定の平文に対して同じ暗号文を生成する2つの鍵を1/2^64で使用する可能性があります。

あなた自身で計算したい場合は、詳細情報here on the crypto site。 3DESアルゴリズムを使用してデータを暗号化するために使用することができますどのように多くのキー


2^168可能なキーの完全なセットを考慮すると、つまりDES-ABCキーを許可するとします。これらのキーは、パリティを含む192ビットとしてエンコードされます。これには、DES-ABAキーとDES-AAAキーが含まれます(後者はシングル DESに相当)。

2^112 DES-ABAキーのみを考慮する場合。これらのキーは、パリティを含む128ビットとしてエンコードされます。これには、単一のDESが含まれます。

+0

@ArtjomB。私はその1つを思いついたと思います。「平文が大きい場合(複数のブロックを暗号化する必要がある場合)同じ暗号文がすぐにゼロになるでしょう」。 –

+0

@ArtjomB。問題はありません。 –

関連する問題