跳到正文

平成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 取余数)。
用語
解答問62エ
练这一题

作答记录