1

同じ部分キーで暗号化された 2 つのメッセージがあります。例えば:

   C1 = RC4(M1, "(VARIABLE_DATA)XXXXYYYY")
   C2 = RC4(M2, "(VARIABLE_DATA)XXXXYYYY")

C1とC2が「XXXXYYYY」の部分キーを少なくとも回復することがわかっている場合、それは決して変わらないため、RC4で可能ですか?

4

3 に答える 3

4

あなたの質問にはいくつかの混乱があると思います。ストリーム暗号が機能する方法は、(通常) メッセージとの排他的論理和を取得するキーストリームを生成することです。同じキーと IV、つまり同じキーストリームを使用すると、メッセージに関する情報が漏洩することは間違いありません。

ここで、K は RC4 によって生成されたキー ストリームです。

C1 = K^M1

C2 = K^M2

そして、次のように並べ替えます。

C1 ^ C2 = (K ^ M1) ^ (K ^ M2)

キーストリームはここでキャンセルされ、残りは

C1^C2=M1^M2

攻撃者は 2 つの暗号文の値を知っているため、2 つのメッセージの違いを計算できます。攻撃者が入力の 1 つ (おそらく固定ヘッダー) を知っている場合、攻撃者は 2 番目のメッセージを計算できます。

M2 = (C1 ^ C2) ^ M1

メッセージが自然言語である場合、ベビーベッドを使用した統計テストもあります。

あなたの質問に答えるために、RC4 は関連するキーの下でまったく異なるキーストリームを生成する必要があるため、この攻撃は機能しません。ただし、キー スケジューリング アルゴリズムに対する攻撃は他にもあり、RC4 に代わるものを好む理由はたくさんあります。

キーストリームから初期キーを回復することについて質問している場合 、いくつかあります

于 2012-12-06T19:07:54.217 に答える
0

一般に、妥協のない暗号化技術のキーは、ブルートフォースを使用してのみ回復可能であり、これには、復号化が成功したことを確認する何らかの方法が必要です。

于 2012-12-06T15:38:23.820 に答える