解答編(ヒント2)
換字暗号にしては、暗号文が短すぎるよね。こんな短い文章で頻度から元の文字を推定するなんて現実的じゃないし、そもそも暗号文に出てくる文字の種類が少なすぎる。普通の文章からの換字だったらもっといろいろな種類の文字が出るはずだ。だから換字暗号の線は保留して、他にどんな構造があるかを見ていこう。
とりあえず一番頻度多く出現している「さ」の前後にどんな文字があるのかを表示してみよう。
>>> for i in range(len(data) - 10): ... line = data[i:i + 21] ... if line[10] == u'さ': ... print re.sub("(\w)", r" \1", line) ... さなあかさたははあかさたまやあかさたはああ ははあかさたまやあかさたはああらま 0さわあ あかさたはああらま 0さわあらさまさわあかさ はああらま 0さわあらさまさわあかさたはやあ あらま 0さわあらさまさわあかさたはやあかさ さわあらさまさわあかさたはやあかさかはわあ さわあかさたはやあかさかはわあかさか b cあ はやあかさかはわあかさか b cあかさかまああ はわあかさか b cあかさかまああらはわま 7あ かまああらはわま 7あさはたさあさはさまさあ あらはわま 7あさはたさあさはさまさあかさた はわま 7あさはたさあさはさまさあかさたは 0 ま 7あさはたさあさはさまさあかさたは 0あか あさはたさあさはさまさあかさたは 0あかさた たさあさはさまさあかさたは 0あかさたはさあ まさあかさたは 0あかさたはさあ 4 bわまらあ かさたは 0あかさたはさあ 4 bわまらあ 6ま 6 あ 4 bわまらあ 6ま 6さ 7あらはわま 7あかさ さ 7あらはわま 7あかさたは 7あかさたままあ ま 7あかさたは 7あかさたままあかさたさ bあ は 7あかさたままあかさたさ bあや b cまや あかさたままあかさたさ bあや b cまや
エディタでハイライトしてみるとこんな感じ