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

雪のように白いこの暗号は、処理担当者に溢れんばかりの苦痛を「なだれ」込ませる。

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

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

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

ページ2には、上と真ん中のディスプレーに8文字の鍵が表示される。

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

ステップ2:グリル転置

ここでは、ページ2にある上と真ん中のディスプレーの暗号文と真ん中のディスプレーにある8文字の鍵を使用する。

2つの鍵を上のディスプレーの文字を先頭にして連結し、4×4の行列に読み順で配置する。

その後、以下のグリッドを取得し、X回時計回りに90度回転させる。Xはポートの個数である。

X   
   X
 X X
    

4×4行列の中からグリッド上のXと同じ位置にある英字を取り出す。取り出す際は読み順で取り出すように気をつける。その後90度時計回りに回転させる。

これを追加で3回繰り返すと、暗号化された鍵を獲得できる。

上のディスプレー:ENOIOCBS
真ん中のディスプレー:BVBOLEHY
ポートの個数:3

ENOI|XX 
OCBS|
BVBO|X
LEHY|X

NOBL

E  I|X   
OCBS|X
BV O|X X
 EHY| 

NOBL-ESVO

   I|   X
OCB | X 
B   |    
 EHY| XX

NOBL-ESVO-ICEH

    |    
O B |X X 
B   |X   
   Y|   X

NOBL-ESVO-ICEH-OBBY

復号された鍵:NOBLESVOICEHOBBY


ステップ2:ショーン暗号

ショーン暗号へようこそ。この暗号はオリジナルなんだけど、そんなに気にしなくていいよ。

ここでは、1ページ目の上のディスプレーに表示された暗号化された単語とステップ1で獲得した復号された鍵が必要になる。

復号された鍵を獲得し、重複する英字の2文字目以降を削除する。次に、アルファベット全体の文字列を取得し、鍵に表示された英字を削除する。

点灯したインジケーターの個数が偶数の場合、鍵の末尾にアルファベットの文字列を配置する。
そうでない場合、鍵の先頭にアルファベットの文字列を配置する。

26文字の鍵を2つの長さ13の文字列に分割し前半部分の下に後半部分を配置する。これを今後「ショーン変換機」と呼ぶ。

シリアルナンバーの2番目の英字のアルファベット上の位置が奇数の場合、セットAの手順に従う。そうでない場合、セットBの手順に従う。

手順セットA

暗号化された単語の各英字に対して、以下の手順に従う。

  • 暗号化された単語の英字をショーン変換機から探し、その上/下にある英字に置き換える。
  • ショーン転置機の上半分の右端にある英字を、上半分の左端に配置する。
  • ショーン転置機の下半分にある左端の英字と上半分にある左端の英字を交換する。
  • ショーン転置機の下半分の左端にある英字を、下半分の右端に配置する。

手順セットB

暗号化された単語の各英字に対して、以下の手順に従う。

  • 暗号化された単語の英字をショーン変換機から探し、その上/下にある英字に置き換える。
  • ショーン転置機の下半分の右端にある英字を、下半分の左端に配置する。
  • ショーン転置機の上半分にある左端の英字と下半分にある左端の英字を交換する。
  • ショーン転置機の上半分の左端にある英字を、上半分の右端に配置する。

これにより、新たな暗号化された単語が手に入るはずである。

暗号化された単語:YISTHW
鍵:NOBLESVICHYADFGJKMPQRTUWXZ
シリアルナンバーの2番目の数字:奇数
手順セットBに従う

NOBLESVICHYAD
FGJKMPQRTUWXZ

Y -> W

OBLESVICHYADZ
NFGJKMPQRTUWX

I -> P

BLESVICHYADZX
ONFGJKMPQRTUW

S -> G

LESVICHYADZXW
BONFGJKMPQRTU

T -> X

ESVICHYADZXWU
LBONFGJKMPQRT

H -> G

SVICHYADZXWUT
ELBONFGJKMPQR

W -> P

新たな暗号化された単語:WPGXGP

ステップ3:基数カエサル暗号

ここでは、ステップ2で獲得した暗号化された単語と1ページ目の真ん中のディスプレーにある数字を使用する。

真ん中のディスプレーにある数字は暗号化された単語の各英字をずらすために使用される。ただし、この数字は十進数とは限らない。

基数を求めるには、暗号化された単語の各英字のアルファベット上の位置(A = 1, B = 2, ... Z = 26)を合計する。その後、合計を8でモジュロ(0から7の間の数になるまで繰り返し8を減算)し、2を加算する。結果の数字がこの数字の基数となる。

数字を十進数に変換するには、以下の手順に従う。

  • 1:数字(真ん中のディスプレー)の各桁の上に、その桁が表す基数のべき乗を記す。乗数は右端の0から開始し、左に一桁ずつ進むたびに1増加する。
  • 2:基数のべき乗と各桁の数字を乗算する。
  • 3:全ての数を合計すると、十進数での数字が求められる。

十進数に変換したら、アルファベット上の位置(A = 1, B = 2, ... Z = 26)を利用して暗号化された単語の各英字から減算し、26でモジュロし、英字に変換することで新たな暗号化された単語を得る。

暗号化された単語:WPGXGP
真ん中のディスプレーの数字:105
基数:23 + 16 + 7 + 24 + 7 + 16 = 93 % 8 = 5 + 2 = 7

72 71 70
1  0  5
72 * 1 = 49
71 * 0 = 0
70 * 5 = 5
49 + 0 + 5 = 54(十進数表記)

(より簡単に計算するために): 54 % 26 = 2
W = 23 - 2 = 21 % 26 = 21 = U
P = 16 - 2 = 14 % 26 = 14 = N
G = 7 - 2 = 5 % 26 = 5 = E
X = 24 - 2 = 22 % 26 = 22 = V
G = 7 - 2 = 5 % 26 = 5 = E
P = 16 - 2 = 14 % 26 = 14 = N
復号された単語:UNEVEN

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

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

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