ITパスポート試験 / 令和元年度 秋期 ITパスポート試験 / 問70
certification-simodake-work

令和元年度 秋期 ITパスポート試験 問70 解説 暗号化手順の逆算

設問図

大文字の英字から成る文字列の暗号化を考える。暗号化の手順と例は次のとおりである。この手順で暗号化した結果が“EGE”であるとき,元の文字列はどれか。

  1. ア BED
  2. イ DEB ✓ 正答
  3. ウ FIH
  4. エ HIF

解説

この問題を解くには、暗号化の手順を逆にたどる「逆変換」を行います。暗号化した結果であるEGEを、元の英字に戻す手順は以下の通りです。

  1. EGEの各文字を番号に変換します。Aを0として順に割り振ると、Eは4、Gは6、Eは4となります。つまり、番号は 4,6,44, 6, 4 です。
  2. 暗号化で加算した nn 番目の値を逆に引きます。
    • 1文字目: 41=34 - 1 = 3
    • 2文字目: 62=46 - 2 = 4
    • 3文字目: 43=14 - 3 = 1
  3. 得られた数値 3,4,13, 4, 1 を再びアルファベットに戻します。A=0,B=1,C=2,D=3,E=4A=0, B=1, C=2, D=3, E=4 と対応しているため、33 はD、44 はE、11 はBとなり、元の文字列は DEB となります。

暗号化の仕組みと逆変換の考え方 暗号化とは、元のデータを一定のルールに基づいて別の形式に変換することを指します。この問題のように、手順が明確な計算式で表されている場合、その逆算を行うことで元のデータを復元できます。これを復号といいます。ITパスポート試験では、このような論理的思考力を問う問題が頻出します。計算の過程を丁寧にメモし、特に「文字数や桁数によって処理が変わる」点に注意を払うことが重要です。

この手の問題で間違いを防ぐコツ 試験では、単純な計算ミスが最も危険です。今回の問題では、アルファベットを数字に直す際、「Aを0とするのか1とするのか」を必ず例題(FAXの例)から確認してください。例題を見ると、Fが5、Aが0、Xが23とあります。これはアルファベット順に0から25までを割り当てたものであると特定できます。 また、もし計算結果がマイナスになったり、26以上になったりする場合は、アルファベットが26文字で循環していることを考慮する必要があります(モジュロ演算)。今回は単純な引き算で済みましたが、応用問題では26を足したり引いたりして範囲内に収める処理が必要になるケースも覚えておきましょう。

情報セキュリティの基礎としても重要な考え方 この暗号化手法は、シーザー暗号を少し複雑にしたような単純な換字式暗号の一種です。実際のネットワーク通信で使われるAESやRSAといった強力な暗号化アルゴリズムとは異なりますが、「ルールを知っている者だけが復号できる」という暗号の基本的な考え方は共通しています。アルゴリズムを追う力は、プログラムの処理フローを理解する力にも直結するため、この種の問題に慣れておくことは非常に有効です。

  • ITパスポート試験ドットコム 解説ページ

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう