モジュール詳細:アンフェアの残忍逆襲

彼はアンフェアの逆襲を二種類作成していた。元のものよりもさらにアンフェアにしたかったからだ... 元の時点で十分アンフェアではなかったのだろうか?

このモジュールは、二つのディスプレーの内、片方が回転しているため、それによってアンフェア暗号およびアンフェアの逆襲と区別する。上のディスプレーは暗号化された文字列が表示されている。その下にはLEDが並んでおり、現在のステージを表す。

右のディスプレーはクリックすると表示する情報を切り替えることができる。表示できる情報はモジュールID(白色)、 モジュールが認識しているミスの回数(通常は赤色)、そして追加鍵。モジュールIDとミスの回数は通常のローマ数字、欠陥ローマ数字 (VII, IX, IIII, ...)、もしくはアラビア数字 (1, 2, 3, 5, ...) のいずれかで表示される。通常のローマ数字・欠陥ローマ数字についてはRoman Artのマニュアルを参照すること。通常/欠陥ローマ数字のゼロ (0)は空白で表現され、アラビア数字では「0」と表示される。

このモジュールにおいて、ミスの回数を参照する場合、必ずモジュールの二番目のディスプレーに表示されたミスの回数を参照する。

モジュールは六つの三文字の命令をそれぞれ異なるキーで様々な暗号を使用して暗号化している。正しい順番でボタンを押すことでモジュールは解除される。

このモジュールにおいて、アルファベットを参照する場合、特に明記されていなければ A1Z26 を使用する。アルファベットの順番も暗号用に改変されている。

  • 暗号化の手順は次の通り: 原文 -> 5つの暗号 (2つの転置式暗号、1つの複雑な暗号、2つの単純な暗号、1つの換字式暗号) -> ピッグペン暗号。これらを逆順で復号して元の命令を入手する。

以降のページでは最新版のアンフェアの残忍逆襲の解読の説明が記されている。モジュールにいくつかの情報が欠けている場合、解除者はレガシー版のアンフェアの残忍逆襲の設定を有効にしている可能性がある。その場合はレガシー版のマニュアルを参照して解除すること。レガシー版のアンフェアの残忍逆襲の場合は以下の変化がある。 二つ目のディスプレーの4ページ目が、下に「=LEGACY=」と記されているだけとなる。三つ目のページの情報が2つ消滅している。

解法 — ステップ0: 二つ目のディスプレーの詳細

二つ目のディスプレーの横にはインジケーター表示があり、ディスプレーが現在何ページにいるのかを表す。一番上のLEDを最初のページとして、現在のページの位置が白く点灯する。ページは四つ存在し、解除者はディスプレーの上半分か下半分を選択することで、ページを切り替えることができる。上半分は一つ前のページ、下半分は次のページへ切り替える。

最初のページはモジュールIDを表示する。二つ目のページはミスの回数を表示する。これらは欠陥ローマ数字、通常のローマ数字、アラビア数字のいずれかで表示される。さらに、モジュールがどのモードで起動されたかによって二番目のページのテキストの色が変化する。

三番目のページは以下の情報がランダムな順番で表示されている:

  • 最大8つの連続している数字を並び変えてできた数字
  • ワードサーチよりランダムに選択された単語
  • ピッグペン暗号で暗号化された、フォースクエア暗号用の12個の文字
  • 鍵Aを取得するために使用する7桁の二十四進数
  • Ultimate Cipherの旧マニュアルより復号された単語

これらの数字、ランダムに選択された単語、ピッグペン暗号の文字列の位置はランダムであり、この情報は暗号化の手順に関わるが、二十四進数とUltimate Cipherの単語は常に同じ位置に表示される。

四番目のページは以下の情報が順番で表示されている:

  • 表示が切り替わる18文字のピッグペン文字。プレイフェア/フォースクエア換字暗号のメッセージ中の (10番目の文字) の暗号化に使用される。これらの文字は爆弾の残り時間によって表示が変わり、残り時間が6n+5秒の時の空白の表示はシーケンスの終わりを表す。残り時間が6nの時、最初の暗号の換字用の文字列が表示される。6n+1の時は二番目の暗号の換字用の文字列・・・など。
  • 5文字の文字列。何の暗号が使用されたかを表し、「=」で囲まれている。マニュアル内では十六進数の暗号文字列と呼称されている。

二つ目のディスプレーの例。ディスプレーは現在ページ3を表示しており、左から順番にランダムに選択された単語、連続した数字、12文字のピッグペン暗号で暗号化された文字列、二十四進数、Ultimate Cipherの単語が表示されている。

解法 — ステップ0.5: 鍵の入手

暗号を使用するために必要な鍵をここで手に入れる。

鍵A

  1. 最初に、7桁の二十四進数を参照する。これはUltimate Cipherの単語の左に表示されている。
  2. この数字を十六進数に変換する。一つの方法としては二十四進数を十進数に変換し、その後、十進数の値を十六進数に変換する方法がある。 十進数を十六進数に変換する方法については付録 HexDexを参照すること。二十四進数を十進数に変換する方法については付録 二十四進数の変換を参照すること。
  3. この十六進数の数字を数字と文字が混合した文字列として見る。左から右へ一文字ずつ、以下の動作をする:
    • 数字が二つ連続しており、二桁の数字としてみると10–26の範囲内にある場合、この数字のペアをアルファベットでの位置がその数字である英字1文字に置き換える。
    • そうでない場合、数字をアルファベットでの位置がその数字である英字1文字に置き換える。0の場合は数字を消去する。
  4. モジュールID、(1 + ポートプレートの数)、(2 + バッテリーホルダー)をそれぞれアルファベットでの位置がその数字である英字1文字に置き換える。26を超える場合、手順3の動作を行う。
  5. これらの文字を前の手順で作成した文字列の最後に結合する。
  6. これが鍵Aである。

鍵B

以下の表から鍵Bを得る。曜日と月は、爆弾が起動した時間を参照する:

一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月
曜日 ALPH ONE ABCD AEI PLAY JAKK FRLA ZEKN FIZZ HEND CLUT SCG
BETA TWO EFGH OUY HIDE MCDU VIRE ELIA TIMW ACRY MAGE BASH
CHAR THRE IJKL WBC SECR EOTA IONL REXK MOON ONYX SPAR MOCK
DELT FOUR MNOP DFG CIPH CAIT LEGN RIVE TAOO SAMD KONQ BRIN
ECHO FIVE QRST HJK FAIL MARA WILL TRAI LUPO ELUM FLAM KANE
FOXT SIX UVWX LMN PART WARI SKIP NANT LUMB FLUS MOMO HEXI
GOLF SEVN YZAB PQR BECO PIGD ETRS GRYB CATN ASIM MITT PERK

鍵C

爆弾にミスが記録されておらず、モジュールの解除が一つもされていないとして、アルファベット順確認の該当しないルールを全て見つける。その後、一番上のルールの段から順に1、2、3・・・と数字を割り当て、それらのルールの合計の平均を計算する。結果が整数ではない場合、そのマニュアルの15段目の文字列を鍵Cとして使用する。そうでない場合、上から順に数えた順番がその数字と一致する段の文字列を鍵Cとして使用する。

値 X の表

条件 手順
BOB、CAR、CLRのインジケーター1つにつき: 点灯していれば+1、点灯していなければ-1
FRK、FRQ、MSA、NSAのインジケーター1つにつき: 点灯していれば+2、点灯していなければ-2
SIG、SND、TRNのインジケーター1つにつき: 点灯していれば+3、点灯していなければ-3
バッテリーの数: 奇数ならば+4、偶数ならば-4
パラレルポートがあるポートプレートが存在する: 1つに付き+5、シリアルポートと同じポートプレートにあるならば-4
DVI-Dポートがあるポートプレートが存在する: 1つに付き-5、ステレオRCAポートと同じポートプレートにあるならば+4

0から開始し、上の表の各条件に対する手順を上から順に実行する。最終的な値が負の数の場合、正の数にする。この値はXとされ、復号の手順で用いられる。

値 A の表

条件 手順
ポートの種類1つにつき -2
ポートプレート1つにつき +1
シリアルナンバーの子音 1つにつき +1
シリアルナンバーの母音1つにつき -2
点灯したインジケーター1つにつき +2
消灯したインジケーター1つにつき -2
バッテリー1つにつき -1
バッテリーがない場合 +10
ポートがない場合 ×2
モジュールの数が31以上である場合 ÷2

0から開始し、上の表の各条件に対する手順を上から順に実行する。この値はAとされ、復号の手順で用いられる。
除算については、あまりを無視する。例: 除算の結果が-1.5である場合、-1を利用する。

解法 — ステップ1: 暗号の特定

暗号の種類 暗号文字列の文字
なし 一方のみ 両方
プレイフェア換字暗号 (鍵A)04F
プレイフェア換字暗号 (鍵B)1AE
プレイフェア換字暗号 (鍵C)29D
カエサル暗号 (値A)38C
ROT13暗号41B
アフィン暗号 (値X)5DA
アトバシュ暗号639
列交換転置728
ミシコフスキー転置857
アナグラム転置9E6
スキュタレー転置A65
自動鍵機械暗号BC4
フォースクエア換字暗号 (鍵?)C73
リディフェンス転置DF2
単表式換字暗号EB1
ランニングキーアルベルティ暗号F00

上の表にはアンフェアの残忍逆襲が使用する可能性がある暗号が全て記されている。原文の命令は特定の暗号で暗号化されており、暗号文字列で特定することができる。暗号化の後、さらにピッグペン暗号で暗号化された文字列がモジュールのディスプレーに表示されている。モジュールIDとミスの回数が両方アラビア数字で表示されている場合、「両方」の列を使用する。そうでない場合、ミスの回数もしくはモジュールIDがアラビア数字で表示されている場合、「一方のみ」の列を使用する。 そうでない場合、「なし」の列を使用する。処理担当者は使用された暗号を特定し、逆順で復号して元の命令を入手する。例えば、特定された暗号が ROT13暗号、アトバシュ暗号、自動鍵機械暗号、アナグラム転置、スキュタレー転置の場合、復号の順番はスキュタレー転置、アナグラム転置、自動鍵機械暗号、アトバシュ暗号、ROT13暗号という順になる。

解法 — ステップ2: ピッグペン暗号

上のディスプレーの記号を下の表を用いて文字に置き換える。

A pigpen encryption table would be shown here.

解法 — ステップ3: アルファベット順の改変

まさか「アンフェアの逆襲」に「青色矢印」を入れたとか言わないよな...

以降のページに記された暗号を使用するためには改変されたアルファベット順が必要になることがある。マニュアルに「右に X 回シフトする」と記してある場合、それは文字列の末尾をその文字数だけ取り、文字列の先頭に移動させることを意味する。 改変されたアルファベット順を入手するには:

  1. 「ABCDEFGHIJKLMNOPQRSTUVWXYZ」のアルファベットから開始する。
  2. この文字列を右に [1 + シリアルナンバーの最後の数字 (ない場合は10)] 回シフトする。
  3. シリアルナンバーに文字が含まれている場合、シリアルナンバーの最後の文字と一致するものを文字列の先頭に移動させる。その文字が既に先頭である場合、文字列の末尾に移動させる。
  4. その後、下の表の条件に該当する追加の手順を上から順に行う。両方のページの表を使用した後の結果の文字列が復号の手順で用いられるアルファベット順である。表の条件はこのページの一番上から順番に、1 から数える。
条件 手順
これらの条件をすべて満たす: 点灯したBOB、バッテリーがない、ポートプレートがない、消灯したインジケーターがない、シリアルナンバーに母音が含まれる 現在の文字列は無視し、通常のアルファベット順を復号に使用する。表の残りの条件を無視する。
点灯したBOBがある 文字列全体を反転させる。
バッテリーホルダーが奇数個ある 母音(「A」、「E」、「I」、「O」、「U」) を出現順で文字列の末尾に移動させる。シリアルナンバーに「W」が含まれる場合、 その文字も同様に移動させる。
バッテリーの数が3n個 文字列内において、ちょうど 3 もしくは 4 つの異なる因数(1 と それ自身を含む)を持つ数字の位置 (最初の文字を1番目とする) の文字を全て取り、その順番を反転させて、文字列の末尾に結合させる。
「緑色矢印」、「球」、「黄色矢印」のいずれかがある 「LAZYDOG」を文字列の先頭に追加し、その後、複数存在する同じ文字を片方のみ削除する。
アンフェアの逆襲が爆弾にある 文字列の後半を反転させ、その後に「THEQUICK」を文字列の末尾にこの順番で移動させる。

解法 — ステップ3: アルファベット順の改変 (続き)

条件 手順
DVI-Dポートがある 文字列の前半を反転させる。
ステレオRCAポートが「ない」 文字 R、C、Aを文字列の末尾にこの順番で移動させる。
複数のアンフェアの残忍逆襲がある アルファベットの文字列を右に [10 かける (アンフェアの残忍逆襲の数 ひく 1)] 回シフトする。
奇数個の条件に該当する (今の時点で) 最後に該当した条件の手順を取り消す。
少なくとも1つの空のポートプレートがある アルファベットの文字列を、6 で割り切れる数字の位置 (最初の文字を1番目とする) の文字と、それら以外に分ける。文字が多いほうを右へ 6 回シフトし、その後、文字が少ないほうをもう一方の先頭に結合させる。
表比較もしくは色付き表比較があり、かつ11番目の条件が該当「しない」 「U」と「H」の間にある文字を全て文字列の先頭へ移動させる。「U」と「H」自体は除く。「U」と「H」が隣接している場合、それらの文字を文字列の先頭へ移動させる。
青色矢印があり、条件が一つでも該当する (今の時点で) 最後に該当した条件の手順を取り消す。ただし、最後に該当した条件が10番目の条件の場合、12番目の条件の手順を行う。
いずれの条件にも該当しない 通常のアルファベット順を使用して、現在の文字列に対してROT13 暗号で暗号化する。その後、シリアルナンバーの最初の数字を取り、(n+1)番目の条件の手順が、前の手順の取り消しや文字列の無視をしない場合、その手順を行う。数字が存在しない場合、3番目の条件の手順を行う (表に記されているものの中で)。

解法 — ステップ?: アフィン暗号

文字列のそれぞれの文字に対して:

  • アルファベットの位置に (2X + 1) を乗算する。
  • [1, 26] の範囲内になるまで、26をひき続ける。
  • これが暗号化した後のアルファベット上の位置。

復号するには暗号の文字のアルファベット上の位置に26を足す。(2X + 1) で割り切れるまで足す。その後、 (2X + 1) で除算して復号した文字のアルファベット上の位置を取得する。全ての文字に対してこの操作をする。

必要ならば下の表を使用してアフィン暗号の文字列を素早く復号できる。表は通常のアルファベットの順番を使用しているが、モジュールで使用されているアルファベット順は異なる場合がある。X = 0 は表の最初の段と復号された文字を表す。X = 1 は表の二段目と暗号化された文字を表す。X = 2 は表の三段目・・・など。

表のボックス内の文字列を改変されたアルファベットに編集することでそのアルファベット順に基づいた表になる。文字列はちょうど26種類の文字を含む必要がある。

アフィン暗号の改変可能な変換表
ABCDE FGHIJ KLMNO PQRST UVWXY Z
CFILO RUXAD GJMPS VYBEH KNQTW Z
EJOTY DINSX CHMRW BGLQV AFKPU Z
GNUBI PWDKR YFMTA HOVCJ QXELS Z
IRAJS BKTCL UDMVE NWFOX GPYHQ Z
KVGRC NYJUF QBMXI TEPAL WHSDO Z
X = 6の場合、暗号を復号することはできない。
ODSHW LAPET IXMBQ FUJYN CRGVKZ
QHYPG XOFWN EVMDU LCTKB SJARI Z
SLEXQ JCVOH ATMFY RKDWP IBUNG Z
UPKFA VQLGB WRMHC XSNID YTOJE Z
WTQNK HEBYV SPMJG DAXUR OLIFC Z
YXWVU TSRQP ONMLK JIHGF EDCBA Z

解法 — ステップ?: アトバシュ暗号

それぞれの文字はアルファベット上の位置が (27 - P) のアルファベットに置き換えられている。P は元の文字のアルファベット上の位置を表す。
復号するにはそれぞれの文字をアルファベット上の位置が (27 - E) のアルファベットに置き換える。E は暗号化された文字のアルファベット上の位置を表す。

解法 — ステップ?:プレイフェア換字暗号 (鍵X)

  • キーワード (鍵) から改変されたアルファベットの(10番目の文字)を消去する。
  • 5×5の英字からなる行列を作成する。キーワード (この場合、鍵X)から開始し、残りの使われていないアルファベットをステップ3のアルファベットの順番で埋める。アルファベットの(10番目の文字)は消去する。全ての英字は、一度しか行列に利用することができないため、1回目の出現時のみ行列を埋める。
  • メッセージを2文字のずつのペアに分ける。ペアが作れない文字は暗号/復号してはならない。ペアの中に(10番目の文字)がある場合、換字用の文字列内の同じ位置にある文字に置き換える。復号後、置き換えた文字を (10番目の文字) に戻す。それぞれのペアについて:
    • 文字が全く同じ場合、文字を変えない。
    • 文字が行列の同じ行に出現する場合、それぞれの文字を左に隣接する文字に変換する。その位置に文字が存在しない場合は、反対側の列にループする。
    • 文字が行列の同じ列に出現する場合、それぞれの文字を上に隣接する文字に変換する。その位置に文字が存在しない場合は、反対側の行にループする。
    • 文字が行列の異なる行・列に出現する場合、それぞれの文字を同じ行で、もう片方の文字の列にある文字に変換する。
  • ペアを全て結合させ、復号した文字列を入手する。以前 (10番目の文字) だった文字を (10番目の文字) へ戻したのを確認すること。

解法 — ステップ?: カエサル暗号

カエサル暗号の文字列を復号するには、値が負の数の場合、それぞれの文字を改変されたアルファベット順で値の数だけ前へシフトする。値が正の数の場合、後ろへシフトする。アルファベット順の最初の文字から前にシフトする場合もしくは最後の文字から後にシフトする場合、反対側へループしてシフトする。

解法 — ステップ?: ROT13暗号

それぞれの文字はキー13のカエサル暗号で暗号化されている。必要な場合はアルファベット順の最初の文字へループする。

復号するにはキー13のカエサル暗号を復号する手順と同様である。

解法 — ステップ?: 列交換転置

追加鍵には連続した数字をランダムに並べ替えてできた数字が存在する。この数字を使って文字列は暗号化されている。

復号するには、メッセージの文字数と同じ数のダッシュ記号を作成し、表示された数字の下に並べる。

鍵「316245」でメッセージが 18 文字の時の例:

3 1 6 2 4 5
- - - - - -
- - - - - -
- - - - - -

鍵「415236」でメッセージが 15 文字の時の例:

4 1 5 2 3 6
- - - - - -
- - - - - -
- - -

次に、「1」の列を暗号化された文字列の最初で埋める。その次に「2」の列という風に埋めて、全てのダッシュ記号を文字と入れ替えるまで続ける。

数字の下にあるメッセージを読み順で取り、復号されたメッセージを取得する。

下の例は、3 段かつ鍵 183654729 で「ACMNESSNIRTOEOUWNGIBUNABGA」を「ANSWERING CANNOT BE AMBIGUOUS」に復号する手順を示している。

1 8 3 6 5 4 7 2 9
- - - - - - - - -
- - - - - - - - -
- - - - - - - -
鍵「183654729」で26文字のメッセージ。
モジュールとは異なるかもしれない。
1 8 3 6 5 4 7 2 9
A - - - - - - - -
C - - - - - - - -
M - - - - - - -
「1」の列の下にあるダッシュ記号を「ACM」と入れ替える。
1 8 3 6 5 4 7 2 9
A - - - - - - N -
C - - - - - - E -
M - - - - - - S
「2」の列の下にあるダッシュ記号を「NES」と入れ替える。
1 8 3 6 5 4 7 2 9
A N S W E R I N G
C A N N O T B E A
M B I G U O U S
「3」「4」・・・の列も同様に繰り返し、
ダッシュ記号を全て文字に置き換えるまで続ける。

解法 — ステップ?: ミシコフスキー転置

これは一つ前の暗号とすごく似てるな...

キーワード一覧
ARCHER ATTACK BANANA BLASTS BURSTS BUTTON CANNON
CALLER CELLAR DAMAGE DEFUSE DEVICE KABOOM LETTER
LOOPED MORTAR NAPALM OTTAWA PAPERS POODLE POOLED
RASHES RECALL ROBOTS SAPPER SHARES SHEARS WIRING

シリアルナンバーの数字の合計を取り、28でモジュロし、1 を足す。数字の数だけ、表を「ARCHER」から読み順で単語を数え、その位置の単語を取得する。

暗号化の手順:それぞれの段がキーワードの文字数と同等かそれ以下になるようにキーワードの下に元の文字列を並べる。 キーワードのそれぞれの文字に改変されたアルファベット順で数字を割り当てる。同じ文字がある場合は同じ数字を割り当てる。つまり、1 が割り当てられるのはキーワード中でアルファベット順での出現が最も早い文字である。その後、昇順で数字を読み、その位置にある文字の列を上から下、左から右の読み順で取得する。詳細はここを参照すること。

復号するには、割り当てた数字を並べて、昇順で数字の列の下にメッセージの文字を置く。同じ数字が複数ある場合は左から右、上から下の読み順でそれらの列を埋める。その後、メッセージを読み順で読んで復号した文字列を取得する。ミシコフスキー転置の例は下に記されている。

例: ミシコフスキー転置

元の文字列は「BOBRAN FASTER THANON EHORSE.」、使用するキーワードは「PAPERS」、通常のアルファベット順を暗号化の際に使用したものとする。「PAPERS」から得られる数字のキーは「313245」となる。暗号化後の文字列は「OAHH RTNR BBFS TAEO AEOS NRNE.」となる。読みやすさのためにスペースを文字列中に加えている。

P A P E R S
3 1 3 2 4 5
3 1 3 2 4 5
B O B R A N
F A S T E R
T H A N O N
E H O R S E

解法 — ステップ?: スキュタレー転置

  1. 2 を (爆弾のポートの数を4で割った余り)に加える。これが作成する必要がある段の数である。
  2. メッセージの文字数分の列、作成する必要がある分の段で表を作成する。そのセルにダッシュ記号をシリンダーのように配置していく。最初のダッシュ記号は左上のセルに配置し、その次に最後の段に到達するまで右下へ配置していく。最後の列に到達するまでこれを繰り返す。

例:3 段で 11 文字のメッセージの場合:

- - - -
- - - -
- - -
  1. それぞれのダッシュ記号を読み順で暗号化されたメッセージの文字と入れ替える。
  2. その後、ダッシュ記号を配置した順番で文字を読むことで新たな文字列を入手する。
  3. これが復号された文字列である。

3 段で「ONJCRGUEAEI」を「ORANGEJUICE」へ復号する例が示されている。

O N J C
R G U E
A E I

解法 — ステップ?: リディフェンス転置

レールフェンス暗号がまだ難しいとでもいうのかのように。

復号するには、追加鍵の内、列交換転置に使用する数字が必要となる。

メッセージの文字数分の列、数字の桁数分の段で表を作成し、ジグザグの形でダッシュ記号を配置する。

例:3 段で 11 文字のメッセージの場合:

- - -
- - - - -
- - -

次に、追加鍵の数字に基づいてそれぞれの段に一桁の数字を割り当てる。一番上の段には1桁目の数字、上から二番目の段には2桁目の数字・・・のように全ての段に数字を割り当てる。

復号の方法:

  1. 割り当てられた数字が最も小さい段のダッシュ記号を暗号化された文字列の先頭の文字にそれぞれ置き換える。
  2. 前の手順を残りの文字と二番目に小さい数字の段、三番目に小さい数字の段・・・に対しても行い、全てのダッシュ記号が文字に置き換わるまで続ける。
  3. 文字をジグザグの順番で読むことで復号された文字列を入手する。

3 段で数字鍵 132 の時、「FHRUNDORUDE」を「FOURHUNDRED」に復号する例が示されている。

1 - - -
3 - - - - -
2 - - -
数字鍵「132」でメッセージが 11 文字の初期状態
1 F H R
3 - - - - -
2 - - -
「1」の段のダッシュ記号を文字に置き換える。
1 F H R
3 - - - - -
2 U N D
「2」の段のダッシュ記号を文字に置き換える。
1 F H R
3 O R U D E
2 U N D
「3」の段のダッシュ記号を文字に置き換え、ジグザグに読んで復号する。

解法 — ステップ?: 自動鍵機械暗号

1 つの暗号に [多くても] 18文字だと!? 頭おかしいんじゃないのか!

追加鍵の中には、ワードサーチの表からランダムに選択された単語が含まれている。ただし、実際に鍵として使用する単語はランダムに選択された単語と同じセルにあるもう一方の単語である。例:ランダムに選択された単語が「TEST」であれば、鍵は「JINX」である。

鍵の長さが元の文章の文字数と一致するように、鍵の末尾に元の文章の一部を結合させている。

その後、モジュールは換字表と呼ばれるものを用いて文章を暗号化する。元の文章のそれぞれの文字が表の列を表し、鍵のそれぞれの文字が表の段を表す。

ただし、次のページの表の段は文字の代わりに数字が使用されている。どのようにしてモジュールは暗号化しているのか。以下の手順を行っている:

  1. 鍵のそれぞれの文字をその文字の改変されたアルファベット上の位置の数字に変換し、元の文章の同じ位置にある文字とペアと作る。
  2. 最初の文字・数字のペアによってできる表の交差するセルの文字を取る。
  3. 残りのペアに対しても同じ手順を行い、暗号化のメッセージを得る。

復号するには:

  1. 暗号化された文字列の先頭 X 文字だけ取る。X は鍵の文字数である。
  2. このページに記された暗号化の手順を逆から行い、取った文字を復号する。これが鍵の末尾に結合された文字列の一部となる。
  3. 暗号化された文字列の残りの文字に対しても同様の手順を行う。全ての文字を復号するまで続ける。

鍵「ATE」で元の文章が「APPLES」の復号プロセスの例が記されている。ここで使用されているアルファベットは通常のアルファベット順である。

? ? ? ? ? ?
A T E ? ? ?
T X C D H C
初期状態、実際のモジュールとは異なる。
A P P ? ? ?
A T E ? ? ?
T X C D H C
鍵から文字を
復号する
A P P ? ? ?
A T E A P P
T X C D H C
鍵の末尾に復号した文字を結合
A P P L E S
A T E A P P
T X C D H C
復号の手順 →
復号した結果

自動鍵暗号についてはここ(海外サイト) を参照。

自動鍵機械暗号の換字表

ABCDE FGHIJ KLMNO PQRST UVWXY Z
1 TJONXAKIPCZDWUSRQMYEBHFVGL
2 NXAKIPCZDWUSRQMYEBHFVGLTJO
3 VGLTJONXAKIPCZDWUSRQMYEBHF
4 KIPCZDWUSRQMYEBHFVGLTJONXA
5 BHFVGLTJONXAKIPCZDWUSRQMYE
6 JONXAKIPCZDWUSRQMYEBHFVGLT
7 LTJONXAKIPCZDWUSRQMYEBHFVG
8 WUSRQMYEBHFVGLTJONXAKIPCZD
9 FVGLTJONXAKIPCZDWUSRQMYEBH
10 PCZDWUSRQMYEBHFVGLTJONXAKI
11 YEBHFVGLTJONXAKIPCZDWUSRQM
12 ONXAKIPCZDWUSRQMYEBHFVGLTJ
13 EBHFVGLTJONXAKIPCZDWUSRQMY
14 CZDWUSRQMYEBHFVGLTJONXAKIP
15 XAKIPCZDWUSRQMYEBHFVGLTJON
16 MYEBHFVGLTJONXAKIPCZDWUSRQ
17 QMYEBHFVGLTJONXAKIPCZDWUSR
18 USRQMYEBHFVGLTJONXAKIPCZDW
19 GLTJONXAKIPCZDWUSRQMYEBHFV
20 RQMYEBHFVGLTJONXAKIPCZDWUS
21 AKIPCZDWUSRQMYEBHFVGLTJONX
22 SRQMYEBHFVGLTJONXAKIPCZDWU
23 ZDWUSRQMYEBHFVGLTJONXAKIPC
24 DWUSRQMYEBHFVGLTJONXAKIPCZ
25 HFVGLTJONXAKIPCZDWUSRQMYEB
26 IPCZDWUSRQMYEBHFVGLTJONXAK

解法 — ステップ?: アナグラム転置

「Orange」のアナグラムが「A Goner? (助かる見込みのない人)」ってことを知ってたか?

アナグラム一覧
TAMERS STREAM MASTER ARM SET MRS TEA MR SEAT
BARELY BARLEY BLEARY LAB RYE A BERYL ALB RYE
RUDEST DUSTER RUSTED ED RUST EDS RUT DUST RE
IDEALS SAILED LADIES A SLIDE DEAL IS SEA LID

追加鍵の画面でピッグペンの文字列が上に表示されている場合、2 もしくは 4 を使用する。そうでない場合、1 もしくは 3 を使用する。列交換転置に使用する数字が自動鍵暗号に使用するランダムに選択された単語の左に表示されている場合、小さいほうの数字を使用する。そうでない場合、大きいほうの数字を使用する。表のこの数字の段が使用されるべき段。

その後、北西のボタンから開始し、そのボタンが緑ではない場合、時計回りに進む。緑のボタンに到達するまで進む。緑に到達するまでに進んだボタンの数を数え、その数字に 1 を足す。使用する段のアナグラムを左から右へ数え、得られた数字と一致する位置にあるアナグラムを取得する。これがベース鍵になる。

ベース鍵が 2 つの単語で構成されている場合、シリアルナンバーに母音 (A、E、I、O、U) が含まれていないのであれば、単語の順番を入れ替える。

最後に、北西のボタンから開始し、そのボタンがマゼンタではない場合、時計回りに進む。マゼンタのボタンに到達するまで進む。マゼンタに到達するまでに進んだボタンの数を数え、その数字に 1 を足す。同じ段のアナグラムを左から右へ数え、得られた数字と一致する位置にあるアナグラムを取得する。これが暗号鍵となる。

暗号鍵が 2 つの単語で構成されている場合、爆弾のバッテリーホルダーの数が奇数ならば、単語の順番を入れ替える。

復号するには、暗号文の文字数だけダッシュ記号をベース鍵の下に並べる。並べたダッシュ記号をベース鍵の文字と暗号鍵の文字が一致するように暗号鍵の下へダッシュ記号の配置をコピーする。暗号鍵の下のダッシュ記号を読み順でメッセージの文字と入れ替える。その後、ベース鍵の文字と暗号鍵の文字が一致するようにベース鍵に暗号鍵の列をコピーする。読み順でベース鍵の下の文字を入手して、復号された文字列を取得する。

アナグラム転置の例

ベース鍵・暗号鍵の文字数がメッセージの文字数で割り切れない場合の例がここに示されている。

P R I N C E
- - - - - -
- - - - - -
- - - -
P I N C E R
- - - - - -
- - - - - -
- - - -
P R I N C E
A F A I N T
S O U N D H
E A R D
P I N C E R
A A I N T F
S U N D H O
E R D A

解法 — ステップ?: フォースクエア換字暗号 (鍵 ?)

おそらく程よい暗号のアイデアが尽きたのであろう。

追加鍵には12個のピッグペン文字が含まれており、これらは正方形 D として使用する。このマニュアルのステップ 2 を参照して文字を解読する。残りの 3 つの鍵については:

  1. マニュアルの鍵の入手の手順を参照して、鍵 A、B、C を入手する。
  2. それぞれの鍵に対して、改変されたアルファベットの10番目の文字を消去し、使用されていない文字を改変されたアルファベットの順番で埋め、二回以上出現する文字を消去する。
  3. その後、4 つの 5×5 の正方形を作成する。
  4. 正方形を次のように配置する: Aが左上、Bが右上、Cが左下、Dが右下。下の表のような配置になる。
    AB
    CD
  5. 暗号文の中に(10番目の文字)がある場合、換字用の文字列内の同じ位置にある文字に置き換える。
  6. 次の手順は橙色暗号を参照している。リンク切れしたときのためにこのページでも橙色暗号のステップ3の手順を記す。
  7. 復号するには暗号文を二文字ずつのペアに分割する。それぞれのペアに対して:
    • 一番目の文字を右上の正方形の中から見つける。
    • 二番目の文字を左下の正方形の中から見つける。
    • 一番目の文字がある行と二番目の文字がある列を左上の正方形から見つけ、一番目の復号された英字を獲得する。
    • 一番目の文字がある列と二番目の文字がある行を右下の正方形から見つけ、二番目の復号された英字を獲得する。
  8. 復号した英字を全て結合させる。その後、(10番目の文字)だった文字と同じ位置にある文字を(10番目の文字)に置き換える。これが復号した文字列となる。

解法 — ステップ?: 単表式換字暗号:

これは実際やってみると簡単だ。しかし鍵がなかったとしたら? 幾度もの試行の繰り返しだ。こうやって分析担当者はコードをクラックするわけだ。

Ultimate Cipherの単語から開始し、二回以上出現する文字は二回目以降の文字を消去する。次に、改変されたアルファベットのアルファベット順をコピーし、Ultimate Cipherの単語に含まれる「全て」の文字を消去する。北東のボタンが黄色の場合、結果の文字列をUltimate Cipherの単語の先頭に結合させる。 (例:「DFGHIJKMNOPQSTUVWXYZCABLER」) そうでない場合、結果の文字列をUltimate Cipherの単語の末尾に結合させる。 (例:「CABLERDFGHIJKMNOPQSTUVWXYZ」)

復号するには、「ABCDEFGHIJKLMNOPQRSTUVWXYZ」の文字列を上に置き、その下に作成した文字列を並べる。その後、暗号化されたメッセージの最初の文字を作成した文字列から見つける。その上の文字がその文字の復号結果となる。残りの文字に対しても同じ動作を行い、復号された文字列を入手する。

例:

文字列を配置した結果がこのようになったと仮定する:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
MAZEQDIVOTJWXFKSUCNPRGLYBH

暗号化されたメッセージは「RFDMOCNZCRQWCQGQFIQ」とする。

暗号化されたメッセージの最初の文字「R」から復号する。Rを作成した文字列から見つけ、その上にある文字は「U」となり、これが復号された文字となる。

暗号化 RFDMOCNZCRQWCQGQFIQ
復号 U

もう一つ「R」が存在するので同じ方法で文字を復号できる。

暗号化 RFDMOCNZCRQWCQGQFIQ
復号 UU

暗号化されたメッセージの次の文字を作成した文字列から見つける。次に見つける文字を「Q」とする。これは復号すると「E」になる。

暗号化 RFDMOCNZCRQWCQGQFIQ
復号 UUEEEE

この動作を残りの文字に対しても行う。この結果、復号された文字列は「UNFAIRS CRUEL REVENGE」となる。

暗号化 RFDMOCNZCRQWCQGQFIQ
復号 UNFAIRSCRUELREVENGE

解法 — ステップ?: ランニングキーアルベルティ暗号

アルベルティ暗号は21世紀に論文が発表されるまでは最も解読が困難な暗号とされていた。その後、暗号はさらに複雑になっていったわけだ。

これから作成する暗号円盤は二つのパーツに分かれている。固定された円盤、スタビリス。そして回転する円盤、モビリスの二つ。円盤を作成する方法は以下の通り:

  1. スタビリスをこのアルファベットの順番で作成する:「ABCDEFGHIJKLMNOPQRSTUVWXYZ」
  2. 改変されたアルファベットを二つに分ける。最初の文字を一つ目の文字列、次の文字を二つ目の文字列と交互に文字列の末尾に文字を追加していく。その後、一つ目の文字列の末尾に二つ目の文字列を結合させる。
  3. 赤色のボタンがシアンのボタンと反対に位置する場合、文字列の最初の半分を反転させ、文字列を半分に分けて入れ替える。そうでない場合、文字列の最後の半分を反転させる。この結果をスタビリスの下に置き、モビリスとする。
  4. シリアルナンバーの最初の文字をアンカー文字とし、モビリス内のその文字をマークする。

この付録を使用して暗号化の際に使用されたランニングキーを入手する。

12文字のピッグペン文字の最初の二文字を取り、マニュアルのステップ二を参照して対応するアルファベットに変換する。

それぞれの文字を改変されたアルファベットでのアルファベット上の位置の数字に変換する。1 を改変されたアルファベットでの最初の文字とする。1 もしくは 14 を一番最初の段落として、最初の数字と一致する段落を見る。

見つけた段落中で、二番目の数字と一致する位置の単語を取得する。これをランニングキーの最初に追加する。その後、段落中の次の単語を追加する。ランニングキーの文字数が暗号化されたメッセージの文字数以上になるまで単語を追加する。

  • キーに追加する際には句読点やフォントスタイルは無視する。
  • 付録のそれぞれの段落の単語数は 26 個で固定されている。段落の終わりに到達した場合は次の段落の最初に移動する。

メッセージを復号するには、アンカー文字がスタビリスのランニングキーの文字の下に来るように、モビリスを回転させる。暗号化された文字をモビリスから探し、スタビリスで同じ位置にある文字を取る。文字列を復号するまでこれを繰り返す。

解法 — ステップ?: アルベルティ暗号の例:

暗号円盤がこのような状態だと仮定する:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
ACEGIKMOQSUWYZ!XVTRPNLJHFDB

暗号化されたメッセージは「BZFEXJFFCN」とし、鍵「HAS SHE BEEN」で暗号化されたとする。表の「!」のマークは円盤のアンカー文字を表す。上の段は固定された円盤で、下の段は回転する円盤である。

まず最初に復号する文字のアンカー文字を探す。下の円盤のアンカー文字「Z」が固定された円盤の文字「A」の下に来るまで回転させる。

ABCDEFGHIJKLMNOPQRSTUVWXYZ
Z!XVTRPNLJHFDBACEGIKMOQSUWY

その後、暗号化された文字の上の文字を取って復号された文字を取得する。この場合、「Z」の文字を回転する円盤から探し、その上の文字が「A」となる。

暗号化 BZFEXJFFCN
HASSHEBEEN
復号 A

その後、アンカー文字を次の場所に移動させる。今回は「H」へ回転させる。固定された円盤の「H」の下にアンカー文字が来るように下の円盤を回転させる。

ABCDEFGHIJKLMNOPQRSTUVWXYZ
MOQSUWYZ!XVTRPNLJHFDBACEGIK

その後、暗号化された文字の上の文字を取って復号された文字を取得する。この場合、「B」の文字を回転する円盤から探し、その上の文字が「T」となる。

暗号化 BZFEXJFFCN
HASSHEBEEN
復号 TA

鍵の文字に同じ文字が複数含まれているため、暗号化された文字列の5文字目も「X」と復号する。

暗号化 BZFEXJFFCN
HASSHEBEEN
復号 TAI

他の文字でもこの動作を繰り返す。この結果、復号された文字列は「TACH IM LOST」となる。

暗号化 BZFEXJFFCN
HASSHEBEEN
復号 TACHIMLOST

解法 — ステップ8: 命令の実行

この時点で3文字の命令の内、一つでも下のリストに該当しないものがある場合、処理担当者は復号の手順をやり直す必要がある可能性がある。

右のディスプレーを押すことでモジュールID、ミスが記録された回数(文字は白色ではない)、追加鍵の表示を切り替えることができる。

あらためて、解除者が色覚異常サポートを適用している場合、色付きのボタンの上にカーソルを合わせることで上のディスプレーにそのボタンの色が表示される。

命令:

「%」は剰余算 (左の数を右の数で割った時のあまり)を示している。
内心とは、中心にある白い円を表す。
外心とは、色のついたボタンの外にある、灰色の円形の枠を示す。

素数のリストについては、付録:PR1M3を参照する。

  • PCR: 赤のボタンを押す。
  • PCG: 緑のボタンを押す。
  • PCB: 青のボタンを押す。
  • SCC: シアンのボタンを押す。
  • SCM: マゼンタのボタンを押す。
  • SCY: 黄のボタンを押す。
  • SUB: タイマーの秒を表す2つの数字が一致する時に、内心を押す。
  • MOT: タイマーの秒の下一桁の数字が(m + c + (5 - s)) % 10 と一致した時に、外心を押す。mはモジュールID、c は最後にこのモジュールでミスが記録されてから (ミスが記録されていなければ最初から) 押した色付き (R, G, B, C, M, Y) のボタンの回数、s は 1 を最初のステージとしたときの現在のステージ数を表す。
  • PRN: (モジュールID % 20) が素数である場合、内心を押す。そうでない場合、外心を押す。
  • CHK: (モジュールID % 20) が素数である場合、外心を押す。そうでない場合、内心を押す。
  • REPもしくはEAT: 最後の入力をもう一度行う。これが最初の命令の場合、内心を押す。ボタンを押すタイミングの指定は無視する。
  • STRもしくはIKE: 最後に押した色付きボタン、色付きボタンを押していない場合はから開始する。記録されたミスの回数分だけ反時計回りに移動し、その位置のボタンを押す。ミス数が0の場合は開始地点のボタンを押す。
    • これらの命令についてはモジュールの右のディスプレーのミスの回数を参照すること。

命令 (続き):

  • SKP: 内心を押す。その後、次の命令を無視して外心を押す。次の命令が無視できないもしくはこれが最後の命令の場合、内心を押すだけでいい。
  • PVPもしくはNXP: 最後に押した色付きのボタンから開始する (まだ一度も押してないなら北西のボタンから開始する)。 (PVP の場合は反時計回り/ NXP の場合は時計回り) へ移動し続け、原色 (R、G、B) のボタンに到達したらそのボタンを押す。
  • PVSもしくはNXS: 最後に押した色付きのボタンから開始する (まだ一度も押してないなら北西のボタンから開始する)。 (PVP の場合は反時計回り/ NXP の場合は時計回り) へ移動し続け、二次色 (C、M、Y) のボタンに到達したらそのボタンを押す。
  • OPP: 最後に押したボタンと真反対にあるボタンを押す。最後に押したボタンが 内心 の場合、 外心 を押す。逆の場合も同様にする。そうでない場合、これが最初の命令の場合、内心を押す。
  • AGN: 最後の命令をもう一度行う。ボタンを押すタイミングの指示にも従う。 これが最初の命令の場合、次の命令を代わりに実行する。ただし、一つ前の命令が無視されている場合、前の命令を絶対に行う。
  • SCN: シリアルナンバーの文字を、改変されたアルファベットでのアルファベット上の位置の数字に置き換え、合計する。結果を 4 でモジュロした後、1 を足す。右のディスプレーに表示されているページを結果の数字のページに切り替えて内心を押す。メモ: Twitch Play時、この命令を行う際には自動でページを切り替える機能は推奨されない

以下の命令は以降の命令を変更する。この命令の以降の命令を間違えてミスが記録された場合、もう一度この命令を行うまで命令の変更は行わない。同じ命令 (INV と ERT は同じ) が偶数回出現した場合、命令の変更を取り消す。

  • SWP: 最後に入力した色付きのボタン、最後の入力が色付きボタンではない場合、北西のボタンを押す。以降の命令に外心を押す指示があった場合、内心を押す。逆の場合も同様。ボタンを押すタイミングの指示もあるならば従う。
  • INVもしくはERT: 今までに押したボタンの回数が奇数の場合、外心を押し、そうでない場合は内心を押す。以降、赤のボタンを押す指示がある場合はシアン、緑のボタンの場合はマゼンタ、青いボタンの場合は黄色のボタンを押すようにする。例として、赤のボタンを押す指示がある場合、シアンを代わりに押す。逆の場合も同様。

命令 (続き):

以下の命令は無視することは「できず」、必ず最後に出現する。命令の変更も適用「しない」。これらはボタンを押す時点での解除・未解除のモジュール数が必要になる。

  • FIN: カウントダウンタイマーの秒の下一桁が未解除のモジュール数の下一桁と一致する「のみ」に、解除したモジュール数が偶数の場合、内心を押し、そうでない場合、外心を押す。
  • ISH: 最後に押した色付きのボタン、色付きのボタンを押していない場合は北西のボタンから開始し、時計回りに X 回進む。X は内心外心を押した回数。到達したボタンをカウントダウンタイマーの秒下一桁が爆弾の未解除のモジュール数の下一桁と一致した時に押す。
  • ALE: カウントダウンタイマーの秒の下一桁が解除したモジュール数の下一桁と一致する「のみ」に、色付きのボタン (R、Y、G、C、B、M) を偶数回押している場合は、最後に押した色付きのボタンの反対にあるボタンを押し、押されたボタンがないなら南東のボタンを押す。そうでない場合、最後に押した色付きのボタンの逆の色 (R <-> C, G <-> M, B <-> Y) のボタンを押す。

付録: 二十四進数の変換

右の表は二十四進数の値と十進数の対応表となっている。二十四進数を十進数に変換するには:

  1. 値0から開始し、二十四進数の最初の桁を取る。
  2. 十進数に変換して値に足す。
  3. これが二十四進数の最後の桁ではない場合、現在の値を24で乗算して、次の桁を取る。
  4. 全ての桁が終わるまで手順2と3を繰り返す。
  5. 現在の値が十進数に変換した値となる。
二十四進数 十進数 二十四進数 十進数
0 - 90 - 9 J19
A10 K20
B11 L21
C12 M22
D13 N23
E14 1024
F15 1125
G16 1226
H17 2048
I18 ......
十進数 十六進数
0 - 9 0 - 9
10 A
11 B
12 C
13 D
14 E
15 F
16 10
17 11
26 1A
... ...

付録 — HexDex

十進数を十六進数に変換する方法:

  1. 値を16で割る。商と余りを取る。
  2. 右の表を使用し、余りを十六進数の数字に変換する。
  3. 商を新しい値として手順 1 と 2 を繰り返す。商がゼロになるまで続ける。
  4. 入手した数字を右から順番に並べる。
  5. 先頭のゼロを削除する。

付録 — PR1M3

  • 素数とは 1 もしくはそれ自身でしか割り切れない数字のこと。1 は 1 とそれ自身で割り切れるが素数であるとはされていない。
  • 素数 (20まで): 2, 3, 5, 7, 11, 13, 17, 19

付録: アンフェアの残忍逆襲の追加設定

設定を変更することでアンフェアの残忍逆襲の動作が変化させることができる。これらの設定は特殊なケースに対してのみ使用するべきである。

  • enableLegacyUCR: この設定をオンにするとアンフェアの残忍逆襲の旧版へ変化する。旧版のマニュアルはここ(英語)から見ることができる
  • cruelerRevenge: この設定をオンにするとアンフェアの残忍逆襲の難しいバージョンへ変化する。 enableLegacyUCRがオンの場合はこれをオンにすることはできない。憤怒に耐えられる者出ない限り、この設定はオンにしてはならない。アンフェアの残忍逆襲の難しいバージョンは
    • 正しいボタンを押す度に色付きボタンの色をランダムに変更する。ミスが記録された場合、モジュールは初期状態の色付きボタンの配置に戻る。
    • 10 の異なる命令を 9 つの暗号で暗号化されている:3つの複雑な暗号、3つの転置式暗号、3つの単純な暗号。この場合、換字用の文字列が追加で表示される。残り時間が10n+9秒の時にシーケンスの終わりが表示され、10n秒が最初の暗号の換字用の文字列となる。換字用の文字列が長いため、十六進数の暗号文字列は10n+9秒の時にしか表示されない。
  • noTPCruelerRevenge: この設定をオンにするとTwitch Play時にはアンフェアの残忍逆襲の難しいバージョンへ変化しなくなる。

設定をオーバーライドするためには、ミッション作成者は次のタグを追加することができる: [UCROverride] の後に次のいずれかを入力する:

  • Old もしくは Legacy: 旧版のアンフェアの残忍逆襲を有効にする。
  • Standard もしくは Normal: 通常版のアンフェアの残忍逆襲を有効にする。
  • Crueler: 難しいバージョンのアンフェアの残忍逆襲を有効にする。

オーバーライドの設定はケースセンシティブである。 このモジュールの作成者にオーバーライドの設定のリクエストを出すこともできる。その際にはミッションIDとアンフェアの残忍逆襲の状態を記しておくこと。

付録:アルベルティ暗号に使用されるランニングキーについて

This cipher may be complicated to master the first time around. You will need to use these paragraphs to obtain the key that encrypted your message.

The Alberti wheel, which you will create, consists of two parts, the stationary wheel or Stabilis, and the moving wheel or Mobilis. To create the wheel:

  • Make the Stabilis with the English alphabet in order. Then to make the Mobilis, separate the modified alphabet by every other letter, to obtain two halves.
  • If Red is diametrically opposite to Cyan, reverse the first half and swap those halves. Otherwise, reverse the second half. And then concatenate the halves together.
  • Mark your anchor letter in your Mobilis, the first letter in the serial number, if there are any. Otherwise, mark “A” as your anchor letter instead.

Now take the first two letters in the twelve letter pigpen text and convert them into their English letters using step two from this manual provided.

Convert these into their positions in the modified alphabet. Start on the paragraph from the first number obtained where one or fourteen is the top paragraph.

Using the second number, count that many words from the paragraph you obtained earlier to obtain the start of your running key. Add the starting word.

  • Ignore punctuation and font styles for each word you append onto your key. Repeat until the key is as long or longer than your encrypted message.
  • Each relevant paragraph in this page is exactly twenty six words long. Continue to the first word of the next paragraph if you reach the end.

To decrypt your message, rotate the Mobilis so that the anchor letter is directly below the letter in the Stabilis for each letter in the key.

Examine the encrypted letter in your Mobilis to get your decrypted letter in your Stabilis in the same position. Repeat until you have your decrypted string.

When obtaining your key, if you reach the end of the last paragraph, wrap around to the first word of the first paragraph, upon reaching this.

付録: 旧Ultimate Cipher 単語表

Ultimate Cipherの更新により元のマニュアルがなくなってしまったため、代わりの単語表がここに記されている。

ABSURD
ACCEPT
ADJUST
AIMING
ALARMS
AMBUSH
ANCHOR
APATHY
ARTIST
ASSUME
ATTACH
BABOON
BARBER
BANZAI
BEACON
BEDBUG
BECKON
BEAVER
BISTRO
BINARY
BIGGER
BICEPS
CAMERA
CANNON
CANVAS
CENTER
CEREAL
CELERY
CHAPEL
CHANCE
CHORAL
CHOOSE
CHUNKY
DECEIT
DEPEND
DEDUCT
DEFINE
DESIGN
DEGREE
DEFEND
DELETE
DEMAND
DENIAL
DEPTHS
EASILY
EDITOR
EFFORT
EERILY
ELIXIR
EMBANK
EMBARK
EMBLEM
ELBOWS
EMERGE
EMBRYO
FABLED
FABRIC
FACING
FACTOR
FINEST
FINGER
FONDLY
FONDUE
FREEZE
FREELY
FACADE
GAMBIT
GAMBLE
GENTLE
GENTLY
GLOVES
GLOVER
GLANCE
GLANDS
GLUTEN
GLUTES
GLOWED
HARDEN
HARDER
HAPPEN
HARDLY
HEATER
HEALTH
HEAVEN
HEROIC
HEROES
HERESY
HEREBY
IMPACT
IMPAIR
IMPORT
IMPROV
INDEED
INDENT
INFORM
INFUSE
INSECT
INSERT
INSIDE
JUSTLE
JUSTLY
JACKED
JACKER
JACKET
JAILED
JAILOR
JAMMED
JAMMER
JUICES
JUICER
KARATE
KARATS
KEELED
KEENED
KETONE
KETOSE
KINDLE
KINDLY
KIDNEY
KICKER
KITTEN
LAMENT
LAMEST
LAUNCE
LAUNCH
LAWFUL
LAWYER
LEADER
LEAPER
LEARNT
LOVELY
LOVERS
MAGNET
MAGNUM
MANTLE
MANTIS
MEDIAN
MEDIUM
MELLOW
MELODY
MOTHER
MOTIFS
MOTIVE
NEEDED
NEEDLE
NEARLY
NEATLY
NATIVE
NATION
NATURE
NAUGHT
NEBULA
NECTAR
NAPKIN
OBJECT
OBEYED
OCCULT
OCCUPY
OCCURS
OCEANS
OCELOT
OCTAVE
OCTAVO
OCULAR
OCULUS
PARDON
PARENT
PARTLY
PARTON
PHOTON
PHOTOS
PICKAX
PICKLE
PILLAR
PILLOW
PLANET
PLANTS
PLANKS
QUAILS
QUAINT
QUARKS
QUARRY
QUIRKS
QUIRKY
QUACKS
QUACKY
QUARTZ
QUOTER
QUOTES
RABATO
RABBIT
RADIAL
RADIAN
RADIOS
RADISH
RAFFLE
RAFTED
RAINED
RAISED
RECEDE
RECENT
SAVORS
SAVORY
SCENES
SCENIC
SCRAMS
SCRAPE
SEARCH
SEARED
SENSES
SENSOR
SHAKEN
SHAKER
THINGS
THINKS
TICTAC
TICTOC
TIMBRE
TIMBER
TINGLE
TINGLY
TOASTS
TOASTY
TRAILS
TRAINS
UMLAUT
UMPIRE
UNLOCK
UNLOAD
UNWOVE
UNWRAP
UNVEIL
UNWELL
UPSIDE
UPSIZE
VALVES
VALUES
VALUED
VERMIN
VESSEL
VIEWED
VIEWER
VISION
VISITS
VOODOO
VORTEX
WAFFLE
WAFTED
WAFTER
WAGERS
WALKED
WALKER
WARMER
WARMLY
WARMTH
WEAKEN
WEAKLY
WEEKLY
YEANED
YEARLY
YEARNS
YELLER
YELLOW
YOUTHS
YAWNED
YODELS
YELLED
YODLED
ZIGGED
ZIGZAG
ZINGED
ZIPPED
ZIPPER
ZONING
ZONERS
ZONKED