モジュール詳細:反転黄色暗号

「黄色い歓声が聞こえてくるよ!」 - そんなこと暗号は決して言わない。

モジュールは、3つのディスプレー、キーボード、2つの矢印、及び現在のページを表示するボタン(送信ボタン)で構成されている。

右の矢印を押すと、次のページに移動できる。左の矢印を押すと前のページに移動できる。ページは全部で2ページある。

ページ1には、上のディスプレーに6文字の暗号化された単語、真ん中と下のディスプレーに暗号化された数字が表示される。

ページ2には、上のディスプレーに別の暗号化された数字、真ん中のディスプレーに8文字の単語、下のディスプレーにダッシュ(-)で区切られた4つの数字が表示される。

以下のルールに従って単語を解読する。

ステップ1:モービット暗号

最初に必要なことは、ページ1の真ん中と下及びページ2の上のディスプレーに表示された、3つの暗号化された数字を復号することである。3つの数字を記載された順に連結させる。

次にページ2の真ん中のディスプレーに表示された単語を取得し、単語の下に、アルファベットの昇順になるように1から8の番号を記入する。同率の英字がある場合、更にそれを読み順で振る。例:OPTIMISM -> 56813274

そして、8桁のキーの真下に以下の文字列を記入する。

...---xx
.-x.-x.-

今あるはずのものは、それぞれの数字がその下の記号に変換されて示されるキーである。

暗号化された数字の全体を取得し、鍵を使用してドットとダッシュとXに変換する。これをモールス信号として読む。Xは英字同士のスペースを示す。

モールス信号表

これで復号された単語が手に入るはずである。これは、ステップ3で使用するキーワードとなる。

FOUNTAIN
26847135
...---xx
.-x.-x.-

4 4 5 7 5 1 8 | - . - . x - - - x - - x . x | C O M E

ステップ2: ヒル暗号

ここでは、ページ1の上のディスプレーに表示された暗号化された単語とページ2の下のディスプレーにある4つの数字が必要になる。数字は「A-B-C-D」のように読む。

幸いにも、全ての英字は4つの数字の逆数が乗算済みである。4桁の数字を次のように配置すればよい。

AB
CD

各数字にNを掛け、モジュロ26を求める(0から25の範囲になるまで、26を繰り返し引く)。

暗号化された単語をペアに分割する。各ペアに対して以下の手順に従う。

  • 両方の英字を、アルファベット上の位置の数字に変換する。
  • 一つ目の数字に左上の数字を掛ける。
  • 二つ目の数字に右上の数字を掛ける。
  • 二つの数字を合計し、モジュロ26を求め、それを英字に戻すと最初の英字を獲得できる(Z = 0)。
  • 一つ目の元の値(乗算する前の値)に左下の数字を掛ける。
  • 二つ目の元の値(乗算する前の値)に右下の数字を掛ける。
  • 二つの数字を合計し、モジュロ26を求め、それを英字に戻すと二番目の英字を獲得できる(Z = 0)。

結果の文字列が、新たな暗号化された単語となる。

116
1721

LI -> 12 9
RQ -> 18 17
HC -> 8 3
(1 * 12) + (16 * 9) % 26 = 0 => Z
(17 * 12) + (21 * 9) % 26 = 3 => C
(1 * 18) + (16 * 17) % 26 = 4 => D
(17 * 18) + (21 * 17) % 26 = 13 => M
(1 * 8) + (16 * 3) % 26 = 4 => D
(17 * 8) + (21 * 3) % 26 = 17 => Q
新たな暗号化された単語:ZCDMDQ

ステップ3:トライフィド暗号

まずキーを作成する必要がある。そのためには、ステップ1の復号されたキーワードを取得し重複する英字の2文字目以降を削除する。アルファベット全体の文字列を取得し、キーワードに表示された英字を削除する。

バッテリーの本数が奇数の場合、キーワードの末尾にアルファベットの文字列を配置する。そうでない場合、キーワードの先頭にアルファベットの文字列を配置する。

最後に、キーの真下に以下の段を配置する。

11111111122222222233333333
11122233311122233311122233
12312312312312312312312312

ステップ2で獲得した暗号化された単語に対して、上記の先程作成したキーを用いて各英字を3桁の数字に変換する。その後、左から縦に3つの数字を書き、6桁の数字を3段用意する。

数字を上から横に読むことで新たな数列を獲得する。それから、先程作成したキーを用いて各3桁ごとにそれを英字に戻す。

結果の文字列が復号された単語となる。

COMEABDFGHIJKLNPQRSTUVWXYZ
11111111122222222233333333
11122233311122233311122233
12312312312312312312312312

ZCDMDQ -> 332 111 131 113 131 232

311112
313133
211312

311 112 313 133 211 312 -> SOUGHT

復号された単語を取得したら、それを送信する。入力を開始すると、全てのディスプレーが暗転し下のディスプレーに入力された文字が表示される。

入力を消去するには、いずれかの矢印をクリックする。ページが移動し、入力した文字列が消去される。6文字を超える入力はできないようになっている。

入力に問題がなければ、「SUB」と書かれたボタンを押して、回答を送信する。ミスが記録された場合、モジュールの最初のページに戻るが、暗号の再生成はされない。