アットウィキロゴ

共通鍵ブロック暗号への攻撃モデル


暗号の強さは、「攻撃者が何を手に入れられるか」を決めたうえで評価します。この前提を攻撃モデルと呼びます。このページでは、共通鍵のブロック暗号(AES など)を例に、攻撃モデルと代表的な解析の手法をまとめます。

共通鍵ブロック暗号

送信者と受信者が同じ鍵を使って暗号化と復号を行う方式(共通鍵暗号)のうち、データを決まった長さのブロックに分けて処理するものです。代表例は AES です。DES は鍵が短く、現在は新しく使うべきではありません。

攻撃モデル

暗号の教科書『Handbook of Applied Cryptography』(Menezes ほか、1996年)は、暗号化の方式への攻撃を、攻撃者が使える情報によって次のように分けています。
攻撃モデル 攻撃者が手に入れられるもの
暗号文単独攻撃(ciphertext-only) 暗号文だけ
既知平文攻撃(known-plaintext) ある量の平文と、それに対応する暗号文
選択平文攻撃(chosen-plaintext) 自分で選んだ平文に対応する暗号文
適応的選択平文攻撃 前の結果を見てから、次に暗号化させる平文を選べる
選択暗号文攻撃(chosen-ciphertext) 自分で選んだ暗号文に対応する平文(例:鍵は取り出せないが、復号の装置は使える)
適応的選択暗号文攻撃 前の結果を見てから、次に復号させる暗号文を選べる
  • 同書は、暗号文単独攻撃に負ける方式は、まったく安全でないとみなされるとしています
  • 同書は、選択平文攻撃に耐える暗号は、既知平文攻撃と暗号文単独攻撃にも耐えるとし、現実にはそうした攻撃が難しい場面でも、選択平文攻撃に耐える暗号を使うのが通例だとしています
  • 関連鍵攻撃(related-key):未知の鍵と、それと一定の関係にある(関係を攻撃者が選んだ、または知っている)別の鍵の両方で、平文を暗号化した結果を使えるという前提の攻撃です(同書)

解析の手法の例

差分解読と線形解読

  • 差分解読:平文の組の差が、暗号文の差にどう伝わるかの偏りを使って、鍵を推定する
  • 線形解読:平文・暗号文・鍵のビットの間に成り立つ、近似的な線形の関係を使って、鍵を推定する
同書の表は、DES に対して、線形解読には既知平文が約2^43個、差分解読には選択平文が約2^47個必要だとしています。理論上は総当たりより速くても、それだけの平文と暗号文を集めること自体が現実には難しい、という点も大事です。

Biclique 攻撃

2011年に発表された、関連鍵を仮定しない攻撃としては最初の、AES の全段に対する鍵の復元の攻撃です。AES-128 の鍵を求める計算量は約2^126.1で、総当たり(2^128)よりわずかに少ないだけです。論文の著者自身が、計算量が大きいため AES の実用を脅かすものではないと述べています。

そのほか

高階差分攻撃、Square 攻撃、ブーメラン攻撃など、暗号の内部構造を使う解析の手法が数多く研究されています。新しい暗号は、こうした既知の手法に耐えることを確かめてから標準になります。

使う側の要点

解析の研究は、多くの場合「理論上、総当たりより少しでも速い」ことを示すものです。使う側にとって大事なのは、次の点です。
  • 評価された暗号を選ぶ:CRYPTREC 暗号リストの電子政府推奨暗号リストなど、評価を経た暗号と鍵の長さを選ぶ。独自の暗号を作らない
  • 使い方を誤らない:アルゴリズムが強くても、鍵の管理、暗号利用モードの選び方、実装の誤りで破られる(鍵管理・サイドチャネル攻撃)
  • 評価の更新を追う:解析が進むと、推奨は変わる。CRYPTREC は、推奨すべき状態ではなくなった暗号を「運用監視暗号リスト」に移している

関連するページ


出典

確認日:2026年10月15日
最終更新:2026年10月15日 14:38