MECHANISED CRYPTOGRAPHY PUZZLE 01【Cypher編】
MECHANISED CRYPTOGRAPHYに入る

エニグマ機の仕組みを理解する
暗号機のルームであり、壁にエニグマ機の簡単な仕組みが描かれています。

ステージクリアのために最低限必要な知識
図のエニグマ機はさまざまな構成要素を持ちますが、ステージをクリアするには提示されるスクランブラーとリフレクターの読み方と挙動を理解しておく必要があります。
スクランブラー(scrambler)
- 上下で同じアルファベット同士が導線で繋がっている。
- 1文字ずつ暗号化・復号する直前に1文字分回転する。
- 複数のスクランブラーがある場合は、前段のスクランブラーが26文字分回転したら、次段のスクランブラーが1文字分回転する。
例えば、次のようなスクランブラーを考えます。
ABCDE…
UWYGA…
上側の’A’は下側の’A’とつながっています。
リフレクター(reflector)
- 電気信号を逆向きにして出力する。
- 上下の文字ペアがつながっていると考える。
例えば、次のようなスクランブラーを考えます。
ABCDE…
CBAED…
1列目の"AC"は、3列目の"CA"から出てきます。
プラグボード
- 入出力装置と最初のスクランブラーの間に位置する。
- 与えられた2文字で単一換字を行う。
プラグボードの概念についてはPUZZLE 03で使う。
エニグマについて詳しく知りたい方へ
『暗号技術のすべて』の特典PDF「もっと知りたい暗号技術」のP.3~42で、エニグマ暗号について詳しく解説しています。
手元にあれば先に読むことをおすすめします。
※全部読まなくても、エニグマ機の挙動を理解する程度でもCpyherのステージクリアのためには十分有益です。
暗号文

ZYDNI

-INTEL-
This message was encrypted with a prototype cipher machine which uses a single scrambler and a reflector with the following internal wirings;
暗号文メッセージは、スクランブラーとリフレクターを1つずつ使用したプロトタイプの暗号機で暗号化され、内部配線は次のようになっています。
ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
↑ ↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
UWYGADFPVZBECKMTHXSLRINQOJ ←スクランブラー1(一致する文字が配線される)
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(一致する文字が配線されている)
ヒント
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
Remember the scrambler moves before the signal flows. The reflector doesn’t move.
Plaintext begins “U…"
信号が流れる前、すなわち暗号化・復号の直前にスクランブラーが動くことを覚えておきましょう。
ただし、リフレクターは動きません。
平文は’U’で始まります。
解答への道
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
1:1文字目’Z’を復号する
暗号機の内部で使われている、スクランブラーとリフレクターは提示されています。
つまり、暗号解読するわけではなく、単純に復号するだけです。
ただし、スクランブラーとリフレクターの使い方と挙動を把握しておく必要があります。逆にいえば、スクランブラーとリフレクターの使い方と挙動がわかっていることを確認するための基礎問題といえます。
暗号文の1文字目は’Z’です。
下の図はスクランブラー1を左に1文字分シフト済みです。
※復号時は左シフトと覚えましょう。
ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
↑ ↓
BCDEFGHIJKLMNOPQRSTUVWXYZA
WYGADFPVZBECKMTHXSLRINQOJU ←スクランブラー1(左に1文字分シフト済)
↓ ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)
暗号文文字’Z’を復号する。
⇒スクランブラー1が1文字分回転する。
⇒スクランブラーの上段’A’に入る
⇒スクランブラーの下段’A’から出る
⇒リフレクターの上段’D’(縦に"DH")に入る。
⇒リフレクターの上段’H’(縦に"HD")から出る。
⇒スクランブラーの下段’V’に入る。
⇒スクランブラーの上段’V’から出る。
⇒平文文字’U’が得られる。
※ヒントで与えられた「平文の1文字目は’U’である」という事実に一致しています。考え方は正しいと判断できます。
2:2文字目’Y’を復号する
ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
↑ ↓
CDEFGHIJKLMNOPQRSTUVWXYZAB
YGADFPVZBECKMTHXSLRINQOJUW ←スクランブラー1(左に1文字分シフト済)
↓ ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)
平文文字’L’が得られました。
3:2文字目’D’を復号する
ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
↓ ↑
DEFGHIJKLMNOPQRSTUVWXYZABC
GADFPVZBECKMTHXSLRINQOJUWY ←スクランブラー1(左に1文字分シフト済)
↓ ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)
平文文字’T’が得られました。
4:2文字目’N’を復号する
ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
↓ ↑
EFGHIJKLMNOPQRSTUVWXYZABCD
ADFPVZBECKMTHXSLRINQOJUWYG ←スクランブラー1(左に1文字分シフト済)
↑ ↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)
平文文字’R’が得られました。
5:2文字目’I’を復号する
ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
↑ ↓
FGHIJKLMNOPQRSTUVWXYZABCDE
DFPVZBECKMTHXSLRINQOJUWYGA ←スクランブラー1(左に1文字分シフト済)
↑ ↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)
平文文字’A’が得られました。
6:得られた平文文字を連結する
“ULTRA"という文字列が得られました。
キーワードらしい文字列であり、おそらくこれが解答でしょう。
解答
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
