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

【情報セキュリティ】1文字ごとに変換ルールを変える!「多表式暗号」|情報処理問題1000本ノック

かつて「解読不可能」とまで言われた暗号の歴史的名作。同じ文字であっても、その位置によって全く別の暗号文字に変換されることで、単純なパターン分析(頻度分析)を無効化する「多表式暗号」の仕組みを攻略しましょう。

1. 【 問題 】:情報セキュリティ(暗号化技術の歴史・基礎)

【 問題 】 クラシック暗号(古典暗号)の分類に関する記述です。平文を特定の文字数(ブロック)に分割し、ブロック内の文字の位置や使用する鍵に応じて、暗号化に用いる換字表(文字の置き換えルール)を1文字ごとに次々と切り替えることで、同じ文字であっても異なる暗号文字に変換されるように設計された暗号方式を何と呼ぶでしょうか?

① 多表式暗号(ヴィジュネル暗号など)
② 単表式暗号(シーザー暗号など)
③ ブロック暗号(AESなど)
④ ストリーム暗号(RC4など)

2. 正解:

正解: ① 多表式暗号

3. 解説:同じ「A」でも、場所によって「X」や「M」に変身する

多表式暗号(たひょうしきあんごう)は、文字の置き換えルール(換字表)を複数(多表)用意して、1文字処理するごとに表をパタパタと切り替えていく暗号方式です。
もし「Aなら常にCに変換する」というルール(単表式暗号)だと、暗号文の中に「C」が大量にあれば、「これは元の文の『A』だな」と文字の登場確率(頻度分析)から一瞬で解読されてしまいます。多表式暗号は、1番目のAはXに、2番目のAはMに……と規則を毎回変えることで、このパターン分析を完全に封じ込めます。

【古典暗号と現代暗号の分類】 ← ココが試験のポイント!

暗号の分類アプローチの特徴代表例・キーワード
多表式暗号(古典) 文字のブロック内で、1文字ごとに置き換え表(規則)を切り替える ヴィジュネル暗号、エニグマ
② 単表式暗号(古典) 1つの固定された置き換え表を使い、文字を一律にシフトする シーザー暗号(3文字ずらす等)
③ ブロック暗号(現代) 現代の共通鍵暗号。一定の固定長(128ビット等)ごとに複雑なビット演算を行う AES、DES
④ ストリーム暗号(現代) 現代の共通鍵暗号。データが届くごとに、1ビット/1バイト単位で順次処理する RC4、ChaCha20

1. 理解のコツ: 「合言葉を使った暗号文」で考えてみましょう。
・「APPLE」という言葉を暗号化するとき、合言葉(鍵)を「KEY」とします。
・1文字目の「A」は、鍵の1文字目「K」の規則(表)に従って変換します。
・2文字目の「P」は、鍵の2文字目「E」の規則に従って変換します。
・3文字目の「P」は、鍵の3文字目「Y」の規則に従って変換します。
・このようにすると、同じ「P」という文字が連続しているのに、適用される合言葉の文字(規則)が「E」と「Y」で異なるため、出来上がる暗号文字は全くの別物になります。平文を鍵の長さ(ブロック)に区切り、「文字の位置によって、暗号化のルールをカメレオンのように変化させる」のが多表式暗号の賢い仕組みです。

2. 試験対策の視点: 午前試験のセキュリティ(暗号学・歴史)分野において、概念を問う問題として出題されます。問題文の中に「ブロックに分ける」「ブロック内の各文字で(暗号化の)規則を変える」「複数の換字表を切り替える」という記述があれば、確実に多表式暗号を選んでください。代表的な暗号名である「ヴィジュネル暗号」という言葉がそのまま問題文に出てくることもあります。
選択肢にある「③ブロック暗号」と「④ストリーム暗号」は、コンピュータが普及した『現代』の暗号方式であり、ビット演算(XORなど)を用いるため、今回の「文字の置き換え規則を切り替える」という文脈であれば古典暗号である「多表式暗号」が正解となります。新旧の暗号の進化の歴史をセットで覚えておくことで、知識の幅がグッと広がります。


4. まとめ

「平文をブロック単位に区切り、その中の文字ごとに適用する暗号化ルール(換字表)を切り替えることで、文字の登場パターンの偏りを無くす暗号方式」。これが多表式暗号です。単表式暗号の弱点を克服し、かつて第2次世界大戦で使われた暗号機「エニグマ」の基礎にもなった重要な暗号理論として、しっかりと覚えておきましょう!


PR