【情報セキュリティ】入力の差分から秘密鍵を割り出す!「差分解読法」|情報処理問題1000本ノック
応用情報技術者試験や情報処理安全確保支援士試験で頻出の暗号解読技術。「差分解読法」の定義と、対比される「線形解読法」や「選択平文攻撃」との関係性を攻略しましょう。
1. 【 問題 】:情報セキュリティ系(暗号解読手法)
【 問題 】 共通鍵暗号(ブロック暗号)に対する暗号解読手法に関する記述です。2つの平文の差分(入力の変化)と、それらに対応する暗号文の差分(出力の変化)との関係性を大量に集め、その出現確率(分布)の偏りを利用して秘密鍵を推定・割り出す手法は、次のうちどれか。
(ア)線形解読法(Linear Cryptanalysis)
(イ)差分解読法(Differential Cryptanalysis)
(ウ)サイドチャネル攻撃(Side-channel Attack)
(エ)中間一致攻撃(Meet-in-the-middle Attack)
2. 正解:
正解:(イ)差分解読法(Differential Cryptanalysis)
3. 解説:「『入力を少し変えたときの出力の癖(偏り)』を見逃さない!」
本来、優れた暗号(AESなど)は平文を1ビット変えるだけで暗号文全体がランダムに変化する**拡散効果(アバランシェ効果)**を持ちます。
しかし、強度が不十分な暗号アルゴリズムでは、「特定の入力差分を入れたとき、出力にも特定の差分が現れやすい」という統計的な確率の偏り(差分確率)が生じます。この癖を利用して鍵を破るのが差分解読法です。
| 解読手法 | 攻撃のメカニズム・利用する情報 | 攻撃モデルの分類 |
|---|---|---|
| (イ)差分解読法 | 入力の変化(平文の差分)に対する出力の変化(暗号文の差分)の確率分布の偏りを利用。 | 任意に平文を選んで暗号文を得る「選択平文攻撃(CPA)」に分類される。 |
| (ア)線形解読法 | 平文の特定のビットと暗号文の特定のビットの排他的論理和(XOR)に関する「1次線形近似式」の確率的な偏りを利用。(松井充 氏が考案) | 与えられた平文と暗号文のペアを分析する「既知平文攻撃(KPA)」に分類される。 |
1. 理解のコツ:
・攻撃者が自分で選んだ「ちょっとだけ違う2つの平文」を入力して暗号文を得るため、攻撃モデルとしては「選択平文攻撃(Chosen Plaintext Attack)」に該当します。
・現代のAES(Advanced Encryption Standard)は、この差分解読法および線形解読法に対して十分な耐性を持つように厳格に設計されています。
2. 試験対策の視点:
問題文に「入力を変化させたとき(平文の差分)」「出力の変化(暗号文の差分)」「分布が偏る」「選択平文攻撃」と来たら、迷わず差分解読法を選択しましょう!
4. まとめ
平文の差分と暗号文の差分の関係における統計的分布の偏りを利用して秘密鍵を算出するショートカット解読法。これが差分解読法です。線形解読法との着眼点(差分 vs 線形近似)の違いも含めてセットでマスターしておきましょう!