モジュール詳細:暗号化モールス信号

いいね、モールス信号モジュール!ちょっと待って、HNWLIREAKHIってどういう意味?

  • このモジュールには、2つのうち1つを送信するモールス信号がある。それらは暗号化されたメッセージ(オレンジ色の光)またはキー(青色の光)である。 処理担当者はモールス信号の横にあるノブを使用して、どちらを受信するか選択することができる。
  • また、42桁の二進数(シーケンスA)を表示する二進数ディスプレーもある。
  • 処理担当者は、いつでもモジュール中央の小さなリセットボタンを押すことができる。これを押すと、入力した文字をすべて消去し、送信を最初からやり直すことができる。
  • また、モールス信号に接続しているワイヤを押して、モールス信号の無効化/有効化を行うことができる。

ステップ1:シーケンスBの生成

シリアルナンバーのそれぞれの文字に対し、以下のルールで7桁の二進数を生成し、それらを連結して42桁の二進数とする。これがシーケンスBである。

  • 文字が数字の場合、7桁まで拡張した二進数を使用する。
    例: 2 = 0000010 、 5 = 0000101
  • 文字が母音の場合、1011001を使用する。
  • それ以外の場合、その文字がアルファベットでOより前に位置する場合、1100010を使用する。
  • それ以外の場合、1000100を使用する。

爆弾にあるバッテリーの数がポートの数と等しい場合、シーケンスBの前半部分を反転する。

ステップ2:二進数の復号

受信したモールス信号のメッセージを、モールス符号(. か -)繋げて文字間のスペースを取り除いたシーケンスとして扱う。
そのシーケンスの各文字について、同じ位置にあるシーケンスAの二進数の数字をAとする。同じ位置にあるシーケンスBの二進数の数字をBとする。
その情報を次の表と合わせて、文字を解読する。「スペース」はモールス信号における文字間のスペースを指す。

二進数 受信した文字
A B . -
0 0 スペース -
0 1 - .
1 0 . -
1 1 . スペース

復号されたモールス信号を解読し、中間結果を得る。
この中間結果のメッセージに複数の母音が含まれている場合、メッセージとキーの両方で、1文字目と5文字目、2文字目と8文字目を入れ替える。

ステップ3:アルファベットの復号

中間結果メッセージのそれぞれの文字について、

  • それと同じ位置にあるキーの文字を取得する。
  • メッセージの文字のアルファベット位置とキーの文字のアルファベット位置を合計する。(A=1, Z=26)
  • 結果が26より大きい場合、26を引く。
  • この結果をアルファベット上でその位置にある文字に変換する。

これで、完全に復号されたメッセージが手に入ったことになる。

ステップ4:応答

次の表から、送信すべき正しい応答を見つける。なお、スペースや句読点は読みやすくするために加えたものであり、メッセージと応答のどちらにも関係ない。

メッセージ 応答 メッセージ 応答
"DETONATE" "PLEASE NO" "REMEMBER" "SOUVENIR"
"READY NOW" "CHEESECAKE" "GREAT JOB" "THANK YOU"
"WE'RE DEAD" "SADFACE" "SOLO THIS" "I DARE YOU"
"SHE SELLS" "SEA SHELLS" "KEEP TALK" "NO EXPLODE"

モジュールを解除するには、正しい応答をモールス信号に変換し、モジュール上の2つの大きなボタンで送信する。単語または文字の間のスペースは必要ない。間違ったモールス信号を送信すると、ミスが記録され、最初から送信をやり直さなければならない。

付録A:モールス信号と二進数変換

数字 二進数
0 0000000
1 0000001
2 0000010
3 0000011
4 0000100
5 0000101
6 0000110
7 0000111
8 0001000
9 0001001