A | 00000 |
---|---|
B | 00001 |
C | 00010 |
D | 00011 |
E | 00100 |
F | 00101 |
G | 00110 |
H | 00111 |
I | 01000 |
J | 01001 |
K | 01010 |
L | 01011 |
M | 01100 |
N | 01101 |
O | 01110 |
P | 01111 |
Q | 10000 |
R | 10001 |
S | 10010 |
T | 10011 |
U | 1010 |
V | 1011 |
W | 1100 |
X | 1101 |
Y | 1110 |
Z | 1111 |
モジュール詳細:算術暗号
ソフトウェア特許に死を!
モジュールは、3つのディスプレー、キーボード、2つの矢印、及び現在のページを表示するボタン(送信ボタン)で構成されている。
右の矢印を押すと、次のページに移動できる。左の矢印を押すと前のページに移動できる。ページは全部で2ページある。
モジュールを解除するには、以下のルールに従って単語を解読する。復号された単語を取得したら、それを送信する。入力を開始すると、全てのディスプレーが暗転し下のディスプレーに入力された文字が表示される。
入力を消去するには、いずれかの矢印をクリックする。
入力に問題がなければ、「SUB」と書かれたボタンを押して、回答を送信する。
ステップ1:暗号化二進法探索
このステップでは、1ページの上のディスプレーの英字を使用する。各英字を左から順に右の表のバイナリコードに置き換え、変換された英字を二進数に変換する。
これをバイナリ・ストリームと呼ぶ。各ビットは左から順番に取り除かれる。
ステップ2:度数探索
1ページの真ん中と下のディスプレー、そして2ページの3つすべてのディスプレー(数字は無視)上の英字を順に連結させる。各英字をアルファベット上の位置の数字に変換し、1~26の範囲の数字を27個取得する。先頭26文字に対してA~Zの英字、最後の文字には「EOF」を割り当てる。これらの数字は度数を示す。
各要素に対して累積度数も求める必要がある。ラベルAは0、BはAの度数、CはA+Bの度数、……と続き、EOFに対してはA-Zすべての度数の和を与える。
最後に、合計の値を求める。これは、 すべての度数の和(つまり、EOFの累積度数に自身の度数を足した値)である。この値は確認用に最後のディスプレーに表示される。