本文へスキップ

平成21年度 秋期 ITパスポート試験 問62

この問題の解説と、これまでの解答の記録です。

問62
頻出度★★☆

小文字の英字からなる文字列の暗号化を考える。次表で英字を文字番号に変換し,変換後の文字番号について1文字目分には1を,2文字目分には2を,…,n文字目分にはnを加える。それぞれの数を26で割った余りを新たに文字番号とみなし,表から対応する英字に変換する。 例 fax → 6, 1, 24 → 6+1, 1+2, 24+3 → 7, 3, 27 → 7, 3, 1 → gca この手続で暗号化した結果が“tmb”であるとき,元の文字列はどれか。

文字番号12345678910111213
英字abcdefghijklm
文字番号14151617181920212223242526
英字nopqrstuvwxyz
出典 平成21年度 秋期 ITパスポート試験 問62
解説

問 62

  • 不正解ア

    「she」を暗号化すると s=19、h=8、e=5 → 19+1=20、8+2=10、5+3=8 → “tjh”となり、“tmb”になりません。2 文字目・3 文字目が一致しません。

  • 不正解イ

    「shy」を暗号化すると s=19、h=8、y=25 → 20、10、28→2 → 「tjb」。1 文字目と 3 文字目は合いますが、2 文字目が j となり m になりません。

  • 不正解ウ

    「ski」を暗号化すると s=19、k=11、i=9 → 20、13、12 → 「tml」。1・2 文字目は合いますが、3 文字目が l で b になりません。3 文字目の復号 (b→y) を取り違えた場合に選びやすい誤答です。

  • エ

    正解 暗号化の規則は「文字番号に位置 n を足し、26 で割った余りを新しい文字番号にする」なので、復号は逆向きに「文字番号から位置 n を引く」だけです。暗号文“tmb”を表で数値化すると t=20、m=13、b=2。1 文字目は 20−1=19 → s、2 文字目は 13−2=11 → k、3 文字目は 2−3=−1 となり負になるので 26 を足して 25 → y。並べると「sky」となり、エ が正解です。検算として「sky」を暗号化すると s=19、k=11、y=25 → 19+1=20、11+2=13、25+3=28 → 28÷26 の余りは 2 → 20, 13, 2 → t, m, b となり“tmb”に戻ります。なお例の「27 → 1」が示すとおり、26 を超えたら 26 を引く (余りを取る) 循環処理である点が鍵です。

ここがポイント
  • シーザー暗号型の換字暗号では、暗号化が「+n して 26 の剰余」なら復号は「−n して負なら 26 を足す」という逆演算になる。
  • 位置ごとにずらし量が変わる方式 (1 文字目 +1、2 文字目 +2、…) では、文字の位置を数え間違えないことと、26 を超える/0 以下になる場合の循環処理 (26 で割った余り) が要点。
用語

解答の記録