暗号解読

暗号解読（あんごうかいどく、）とは、暗号を解読すること、あるいは解読法に関する研究を指す。
概要.
暗号の解読とは、暗号文を作成するのに用いた秘密情報（秘密の表記法や秘密の鍵など）にアクセスすることなく、暗号文を平文に戻すことである。
これに対して、秘密情報を用いて暗号文を平文に戻すことは復号といい、研究者は復号と解読とを区別する。
英語では、復号を といい、解読を という。
他人に知られたくない情報を秘匿する手段として暗号が生まれるのと同時に、秘密を暴くための暗号解読も生まれたと考えられる。
研究としての暗号解読には、暗号の解読だけではなく、デジタル署名の偽造、ハッシュ関数のコリジョン探索、暗号プロトコルの解読なども含まれる。
解読の定義.
素朴な意味での暗号解読は、鍵を与えられずに暗号文を平文に戻すことをいう。
暗号文の復号を行う目的の他に、暗号化に使われる鍵を求める場合もあり、何らかの手段で鍵を推定すること自体も暗号解析に含まれる。
鍵の推定は、可能な鍵の候補を全て試みる「全数探索」と何かしらのアルゴリズムによって鍵の候補を絞り込む「ショートカット法」がある。
鍵が求められると暗号文の全てを復号でき、これを完全解読という。全数探索によって鍵を求める攻撃もこれに含まれる。暗号方式によっては、鍵を用いずに暗号文から平文を求めるアルゴリズムが存在することがある。このような場合、 という。
暗号解読では、平文を求めるだけではなく、暗号方式の問題を見つけることを解読ということがある。暗号方式の問題には、以下の問題がある。
解読法の分類.
暗号の解読法は、解読に用いる情報やその仮定や前提条件を整理した攻撃モデルによって分類される。主な攻撃モデルに次の4つがある。
選択平文攻撃および選択暗号文攻撃はさらに、選択した平文から暗号文（または暗号文から平文）を得て、その平文・暗号文の組を解析し、次の平文選択（または暗号文選択）をする場合が想定される。このような攻撃は、それぞれ ()、 () と分類される。
既知平文攻撃には、差分が既知の平文に対応する暗号文が得られる条件の攻撃であるがある。これを一般化した代数的関係が既知な平文に対応する暗号文が得られる条件の攻撃であるがある。
その他、平文・暗号文以外の条件を仮定することもあり、関係が既知な鍵を用いて暗号化・復号した暗号文・平文が得られる条件で行う関連鍵攻撃がある。秘密情報に権限ベクトルを加算した値を秘密鍵として認証コードを暗号化するような装置では、秘密鍵の差分が既知となるので、関連鍵攻撃の条件を満たす。
現実の暗号装置では、処理時間・消費電力・ノイズなど、入出力データ以外に外部へ情報を与えてしまうことがあり、これらを利用した攻撃はサイドチャネル攻撃と呼ばれる。