PR

問題

問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”であるとき、元の文字列はどれか。

ア she
イ shy
ウ ski
エ sky

テクノロジ系>技術要素>セキュリティ>情報セキュリティ対策・情報セキュリティ実装技術

解説と解答

 この問題の解き方として、選択肢として与えられている文字列を手順に従って暗号化し、その結果が“tmb”と一致するものを探す方法と、暗号化した結果の“tmb”から逆算して元の文字列を導き出す方法があります。この問題は四択問題であることを考慮すると、それぞれの選択肢の文字列を暗号化して一致するものを探す方法で解いた方が分かりやすいでしょう。

 暗号化の手順を整理すると、次の4つのステップからなります。

ステップ1:表を使って、英字を文字番号に変換する。
ステップ2:変換後の文字番号に対して、文字位置による加算を行う。
ステップ3:ステップ2で求めた数について、26で除算した剰余を求める。
ステップ4:ステップ3で求めた数を文字番号とみなし、表を使って英字に変換する。

 以上を前提に、選択肢の各文字列について手順に従って暗号化してみましょう。

●選択肢ア
ステップ1:sの文字番号→19、hの文字番号→8、eの文字番号→5
ステップ2:1文字目→19+1=20、2文字目→8+2=10、3文字目→5+3=8
ステップ3:20÷26の剰余→20、10÷26の剰余→10、8÷26の剰余→8
ステップ4:20→t、10→j、8→h

 以上より、暗号化の結果は“tjh”です。なお、この段階で元の文字列の1文字目は“s”であることが分かります。

●選択肢イ
ステップ1:sの文字番号→19、hの文字番号→8、yの文字番号→25
ステップ2:1文字目→19+1=20、2文字目→8+2=10、3文字目→25+3=28
ステップ3:20÷26の剰余→20、10÷26の剰余→10、28÷26の剰余→2
ステップ4:20→t、10→j、2→b

 以上より、暗号化の結果は“tjb”です。なお、この段階で元の文字列の1文字目は“s”、3文字目は“y”であることが分かります。

●選択肢ウ
 3文字目が“i”なので、この選択肢は誤りであることが分かります。

●選択肢エ
 これまでの考察によって、この選択肢しか残っていないので、これが正解であると推定できます。ここでは、確認のために文字列の暗号化を行って検証します。

ステップ1:sの文字番号→19、kの文字番号→11、yの文字番号→25
ステップ2:1文字目→19+1=20、2文字目→11+2=13、3文字目→25+3=28
ステップ3:20÷26の剰余→20、13÷26の剰余→13、28÷26の剰余→2
ステップ4:20→t、13→m、2→b

 以上より、暗号化の結果は“tmb”であり、これが正解になります。

 よって正解は、選択肢エです。

小倉 美香(おぐら みか)
アプリケーションデザイナー 代表取締役
情報サービス会社の勤務を経て、1998年より現職。保持する資格は、プロジェクトマネージャ、テクニカルエンジニア(ネットワーク)、同(情報セキュリティ)、基本情報技術者など多数。著書に「3週間完全マスター ITパスポート 2010年版」などがある。