モジュール詳細:二進数暗号

「!bomb time」これはどう使うんだ?

ステップ1:軸対称転置

5つの4×4グリッドの作成

グリッド1:

バッテリーの数が偶数の場合、段1~2に10101010を入力する。それ以外の場合は01010101を入力する。

ポートの数が偶数の場合、段3~4に10101010を入力する。それ以外の場合は01010101を入力する。

グリッド2:

ページ2の中央のディスプレーで4×4グリッドを作成し、水平方向(A1=D1)に反転する。

グリッド3:

グリッド1.2を読み順に取得し、同じなら1、それ以外の場合は0を配置する。

グリッド4:

ページ1の上部のディスプレーで4×4グリッドを作成し、水平方向(A1=D1)に反転する。

グリッド5:

グリッド3.4を読み順に取得し、同じなら1、それ以外の場合は0を配置する。

例:

バッテリーの数: 2
ポートの数: 5
ページ2の中央: 0001101010011001
ページ1の上部: 1100110100001001

1010
1010
0101
0101
1000
0101
1001
1001
1101
0000
0011
0011
0011
1011
0000
1001
0001
0100
1100
0101

ステップ2:アルファベット転置

アルファベット全体から1ページ目の下部のディスプレーの文字を削除し、2ページ目の上部のディスプレーの英字も削除する。この文字列の6番目の文字を記録しておく。

2ページ目の上部のディスプレーの文字と6番目の文字に基づいて使用するグリッドを特定する。

6番目の文字がA~L,Z:

表A
X-XX
XX--
----
--X-
表B
XXX-
X---
X---
X---
表C
X--X
X--X
-X--
--X-

6番目の文字がM~Y:

表A
----
--X-
X-XX
XX--
表B
X---
X---
XXX-
X---
表C
-X--
--X-
X--X
X--X

グリッド5を読み順に見て、Xのセルの数字を順に取得する。

例:

ページ2の上部: B
キーワード: SCRAWL
キー: DEFGHIJKMNOPQTUVXYZ
6番目はI、使用する表はB

XXX-
X---
X---
X---
0001
0100
1100
0101

取得した二進数: 000010

ステップ3:ASCII変換

取得した2進数のうち、バッテリーの数の位置(6でモジュロし、1を加算)にある数字を削除する。

結果の二進数の英字を送信する。

A00001H01000O01111V10110
B00010I01001P10000W10111
C00011J01010Q10001X11000
D00100K01011R10010Y11001
E00101L01100S10011Z11010
F00110M01101T10100
G00111N01110U10101

取得した二進数: 000010
バッテリーの数: 2
3桁目を削除: 00010
回答: B