中間一致攻撃のソースを表示
←
中間一致攻撃
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{混同|中間者攻撃}} '''中間一致攻撃'''(ちゅうかんいっちこうげき、英:Meet-in-the-middle attack)とは、[[暗号理論]]において[[誕生日攻撃]]と同様に[[時間と空間のトレードオフ]]を利用した攻撃方法の一種である。 == 概要 == 誕生日攻撃では、ある関数<math>f(x)</math>について<math>f(x_1)=f(x_2)</math>となるような値<math>x_1,x_2</math>を定義域中から見つけるのが目的であった。一方、中間一致攻撃では、ある合成関数<math>g(f(x))</math>について<math>f(x_1)=g^{-1}(x_2)</math>となるような<math>x_1,x_2</math>を探すのが目的である。中間一致攻撃という名前は、合成関数<math>g(f(x))</math>の中間で作られる値が一致するものを探索することから付けられている。 この攻撃手法は[[ブロック暗号]]に対する攻撃方法として、[[ホイットフィールド・ディフィー|ディフィー]]と[[マーティン・ヘルマン|ヘルマン]]により1977年に開発された。ブロック暗号の安全性を高める方法として、二つの異なる[[鍵 (暗号)|暗号鍵]]で2回暗号化を行う(鍵の異なる2つの暗号化関数の合成関数を使用して暗号化を行う)という手段が考えられる。単純に考えると、2回の暗号化により暗号の安全性は2乗になるものと予想される。事実、全ての暗号鍵を試そうとすると、暗号鍵を一つだけ使用した場合は<math>2^n</math>回の試行で済むのに対し、二つの鍵の組み合わせでは<math>2^{2n}</math>回の試行が必要となる(鍵長が<math>n</math>ビットの場合)。 これに対しディフィーとヘルマンは、時間と空間のトレードオフを利用することで、2つの鍵を使用した場合でも、1つの鍵を使用した場合と比較して試行回数を高々2倍で済ませる方法を開発した。{{ref|dh-exh}} この攻撃方法では、平文に対して片方の鍵で暗号化を行い、暗号に対してもう片方の鍵で復号を行って、2つの暗号化処理の中間で突き合わせ(meet-in-the-middle)を行う。 == 攻撃方法 == 攻撃者は平文<math>P</math>とそれに対応する暗号文<math>C</math>を知っているものとする。ここで、<math>E</math>を暗号化関数、<math>K_1</math>と<math>K_2</math>をそれぞれ異なる鍵とすると、暗号化処理は以下のように記述できる。 : <math> C=E_{K_2}(E_{K_1}(P)) </math> まず、攻撃者は全ての鍵候補<math>K_1</math>に対して<math>E_{K_1}(P)</math>を計算しておき、その結果を[[主記憶装置|メモリ]]上に保存しておく。次に、攻撃者は全ての鍵候補<math>K_2</math>を使って暗号文の復号を行い(<math>D</math>を復号関数とすると、<math>D_{K_2}(C)</math>を計算する)、その結果をメモリに保存しておく。この2つの計算結果の中に合致するものがあれば、その計算に使用した2つの鍵<math>(K_1, K_2)</math>がおそらく正しい鍵であると言える。この処理を高速化する方法としては、まず<math>E_{K_1}(P)</math>の結果と暗号化に使用した鍵<math>K_1</math>のペアをインメモリの[[ルックアップテーブル]]に保存しておき、次に<math>D_{K_2}(C)</math>の結果を使用してルックアップテーブルから鍵候補を検索する方法が考えられる。計算結果から合致するものが見つかったら、別の暗号文と平文を使用すれば検証が行える。 鍵のサイズを<math>n</math>ビットとしたとき、この攻撃方法では<math>2^{n+1}</math>の試行回数で攻撃が行える(ただし、<math>O(2^n)</math>の記憶領域を必要とする)。一方、単純な攻撃方法では<math>2^{2n}</math>回の試行を必要とする(記憶領域は<math>O(1)</math>で済む)。 == 参考文献 == {{脚注ヘルプ}} # {{note|dh-exh}} {{cite journal | author=W. Diffie and M. E. Hellman | date=June 1977 | title=Exhaustive Cryptanalysis of the NBS Data Encryption Standard | journal=Computer | volume=10 | issue=6 | pages=74-84 | doi=10.1109/C-M.1977.217750 }} == 関連項目 == *[[誕生日攻撃]] *[[トリプルDES]] {{cryptography navbox|block}} {{デフォルトソート:ちゆうかんいつちこうけき}} [[Category:暗号技術]] [[Category:暗号解読攻撃]]
このページで使用されているテンプレート:
テンプレート:Cite journal
(
ソースを閲覧
)
テンプレート:Cryptography navbox
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Ref
(
ソースを閲覧
)
テンプレート:混同
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
中間一致攻撃
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報