共通鍵暗号の攻撃モデル
- 暗号文単独攻撃(Ciphertext Only Attack; COA)
- 既知平文攻撃(Known Plaintext Attack; KPA)
- 選択平文攻撃(Chosen Plaintext Attack; CPA)
- 選択暗号文攻撃
- 適応的選択暗号文攻撃
今回は, 共通鍵暗号の攻撃モデルについて説明していきたいと思います.
暗号文単独攻撃(Ciphertext Only Attack; COA)
暗号文単独攻撃とは, 同一の秘密鍵によって暗号化された複数の暗号文を利用することで, 鍵や平文に関する情報を取得しようとする攻撃です.
例えば, 単一換字暗号を解析するには「頻度分析」というものを使用します(知らなかったor忘れていた方は以下のリンクをクリック)
tomonori4565.hatenablog.com
頻度分析は, 暗号文に出現する文字の頻度から平文に関する情報を取得する分析方法でしたね. これは暗号文単独攻撃の1つと言えます.
既知平文攻撃(Known Plaintext Attack; KPA)
既知平文攻撃とは, ある特定の平文に対してその暗号文が既知である場合に利用される攻撃手法です. ただし, すべての暗号文は同一の秘密鍵によって暗号化されているものとします.
例えば, "I LOVE YOU"という平文に対する暗号文が"QWERTY"であるとします. このとき, 取得した暗号文がたまたま"QWERTY"であったら, 秘密鍵に関する情報を何も知らなくても, 平文が"I LOVE YOU"であることがわかります.
このように, ある特定の平文と暗号文のペアがわかっている場合に仕掛けられる攻撃が既知平文攻撃となります.
選択平文攻撃(Chosen Plaintext Attack; CPA)
選択平文攻撃とは, 自分で選んだ任意の平文に対する暗号文を得られる状況において, 攻撃を実行するモデルです.
攻撃者は暗号化オラクルと呼ばれる, 入力した平文に対して適切な暗号文を返す装置を利用して暗号文を得ます. 暗号化オラクルを入手するには, 暗号化装置を入手したり, 認証サーバを悪用したりします.
暗号化オラクルを入手することで, 秘密鍵を知らなくとも平文に対して適切な暗号文を得られることになり, 暗号を解読する大きな手がかりを入手することになります.
選択暗号文攻撃
選択暗号文攻撃とは, 解読対象の暗号文を受け取る前の時点で, 復号オラクルを利用して自分で選んだ任意の暗号文に対する平文を得られるという状況下で攻撃するモデルのことです.
適応的選択暗号文攻撃
適応的選択暗号文攻撃とは, 解読対象の暗号文を受け取る前後の時点で, 復号オラクルを利用して自分で選んだ任意の暗号文に対する平文を得られるという状況下で攻撃するモデルのことです.