手掛かりを伴うアルファメトリック暗号

大学ではルームメートが暗号に関する本を読んでいることを知っています。彼のジャーナルを見ると、次のようなエントリがあります。あなたはコードを理解し、数日後に彼の周りに彼のエントリの下にイタリック体でノートを書くことにします。

94.94.94.25.95.25.65.55.75.36。 95.95.07.16.26。 08.39。
021.921.421.031.421。 731.241.921.431.531.231.831.231。
941.631.841.731。 231.641.431。

Last Monday, 10/17/16, your roommate went swimming with Bob
after breakfast.

94.94.94.25.16.25.65.55.75.36。 46.96.06.16。 49.29。
39.811.911.531。 401.521.331.231.121.041。 321.731.821。
301.721.141.331.941。 631.641.051。 941.341.161.261.831。 931.951。
321.351.151.561.941.361.98.661。

On Wednesday he had pizza for dinner at Oliver’s with Thomas
and Janet.

94.94.94.35.45.25.65.55.75.36。 66.96.06.16。 97.29。
911.821.321.921.321。 521.721.031.921.531.921。 641.331.541.431。
69.041.831.331.631。 141.741。 121.341.141.551.161.451.551.541。
611.851.261.051.561.761。

土曜日、彼はシャーウッドフォレストで朝早くアリスに会った。

次の項目は次のとおりです:

94.94.94.35.65.25.65.55.75.36。 95.06.07.16.26。 08.39。
231.431.631.021.241。
121.731.541.731.241.831.131.341.721.341.631.451。 131.151。
211.841.841.931.151.151。 221.061.241.351.151.641。
421.451.841.561.941.761.571。

あなたのルームメイトはどこで、次に何をするつもりですか?

ベストアンサー

あなたのルームメイトは…

2016年10月24日月曜日の午前11時にロンドン公立図書館で暗号を調べます。

デコードの最初のステップは…


3桁の数字のすべてが1で終わっていることを観察する。さらに、最初の数桁の数に5と4の数が疑わしい。これは、すべての数字が逆順で書かれていることを示しています。たとえば、最初のメッセージは次のようになります。

  49.49.49.52.59.52.56.55.57.63。 59.59.70.61.62。 80.93。
120.129.124.130.124。 137.142.129.134.135.132.138.132。
149.136.148.137。 132.146.134。

 この分布は、各数値がASCIIコードであることを示唆しています。たとえば、数値は48〜57の範囲にあります。大文字は65〜90、小文字は97〜122です。ただし、有効なASCII文字は127までしか上書きされません。

 いくつかのドットの後に現れるコード内のスペースは、メッセージ内の実際のスペースのように見えます。

次のステップは…

… to find out a possible offset to the ASCII code. We can use
the notes for that. The first message should probably include the
words “swimming” or “Bob”. The only three-letter word that could be
“Bob” is the last word, 132.146.134. The first and last letters
aren’t the same here; they differ by two and are two positions
apart. Likewise, the long word could be swimming, but where the
double m should be, we find the letters 134.135. They are adjacent
and differ by 1.

This suggests that the offset is changed by one for every letter.
When i is the zero-based index of a number
ni, the corresponding character
ci is:

      ci =
ascii(nii)

When we try that and start with an offset of 0, the messages
read:

10/17/2016 10:00 AM going swimming with bob
10/19/2016 6:00 PM Meet Thomas and Janet for pizza at Oliver’s
10/22/2016 8:00 AM going hiking with Alice in Sherwood Forest
10/24/2016 11:00 AM study cryptography at London Public Library

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です