忍者ブログ
情報処理技術者試験の合格を目指す全受験者のための、1問1問「徹底解説」ブログです。単なる過去問の暗記ではなく、なぜその答えになるのかを本質的に理解できるよう解説します。書籍などでは学べない最新用語やトレンドを踏まえてご紹介します。

【情報セキュリティ】言語の「癖」を見抜いて解読!「頻度分析」|情報処理問題1000本ノック

暗号文を1文字も読めなくても、使われている文字の「統計(カウント)」をとるだけで、パズルのように暗号が解けてしまう。古典暗号破りの王道、頻度分析を攻略しましょう。

1. 【 問題 】:古典暗号の解読技術

【 問題 】 単一換字暗号の解読に用いられる「頻度分析(Frequency Analysis)」の説明として、最も適切なものはどれでしょうか?

① 暗号化に使用された可能性のある鍵を、既知の単語リスト(辞書)を使って片っ端から試していく手法である。
② 暗号文の中に登場する各文字の出現確率(頻度)を数え上げ、平文(元の言語)の文字の出現確率の統計データと比較することで、文字の対応関係を推測する手法である。
③ 暗号文の一部と、それに対応する平文の一部のペア(既知平文)を分析することで、暗号化アルゴリズムそのものを特定する手法である。
④ 平文を構成するビット列に特定のノイズを混入させ、暗号化されたデータのパリティビットを検証することで鍵を特定する手法である。

2. 正解:

正解: ② 暗号文の中に登場する各文字の出現確率(頻度)を数え上げ、平文(元の言語)の文字の出現確率の統計データと比較することで、文字の対応関係を推測する手法である。

3. 解説:隠しきれない「言語の指紋」

頻度分析は、9世紀頃にアラビアの学者アル・キンディーによって考案された、世界最古の組織的暗号解読法です。人間が自然な言語(英語や日本語)で文章を書く限り、特定の文字が使われる割合には必ず「偏り」が生じるという性質を利用します。

【頻度分析の具体的なステップ(例:英語の暗号文)】

1. 元の言語の統計を知る
・一般的な英文では、最も多く使われる文字は「E」(約12%)、次いで「T」「A」「O」の順になることが統計的に分かっています。

2. 暗号文の中身をカウントする
・解読したい暗号文を調べたら、文字「X」が圧倒的に多く、全体の約12%を占めていたとします。

3. 謎を紐解く
・「ということは、この暗号文の『X』は、元の『E』のことだな!」と推測できます。これを手がかりに、2番目に多い文字、3番目に多い文字…と当てはめていくことで、1文字も読めなかった暗号がドミノ倒しのように解けてしまいます。
[ 選択肢のひっかけポイント ]
★ ①:これは「辞書攻撃(ディクショナリアタック)」の説明です。
★ ③:これは「既知平文攻撃(Known-Plaintext Attack)」の説明です。
★ ④:これは現代暗号に対する高度な数学的解読法(差分解読法など)の文脈に近く、古典的な頻度分析とは関係ありません。

1. 理解のコツ: 「声のトーンや話し方の癖」で人物を特定するようなものです。仮に顔をマスクで隠して(暗号化して)いても、その人が「〜じゃん」「ぶっちゃけ」といった口癖(頻度の偏り)を連発していれば、「あ、これはAさんだ」とバレてしまいます。文字を別の文字に変えただけの単一換字暗号は、この口癖(言語の癖)が丸見えになってしまうため、頻度分析に耐えられません。
2. 試験対策の視点: 「出現確率」「統計データと比較」「単一換字暗号の解読」というワードがあれば、迷わず頻度分析を選んでください。小説『黄金虫』や『踊る人形』などのミステリー作品でもトリックとして使われる有名な手法であり、セキュリティの歴史を問う問題として鉄板です。


4. まとめ

「言語が持つ文字の出現比率の偏りを利用して、暗号を破る統計的アプローチ」。これが頻度分析です。この頻度分析を突破(克服)するために、暗号の歴史は「1文字を毎回違う文字に化けさせる仕組み(多表換字暗号など)」へと進化していくことになります。



PR