POLYALPHABETIC SUBSTITUTION PUZZLE 02【Cypher編】
はじめに
いつもブログをご覧いただきありがとうございます。
ミジンコに転生したIPUSIRONです😀
暗号文

JCWSVLIVLVGSJJFJCWCVLヒント
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
First identify the key length, then try rotating each mono cipher so its most frequent letter becomes a common letter like E, T or A.
「まず鍵長を特定し、その後、それぞれの単一換字暗号について、最頻出文字がE・T・Aなどの一般的な文字になるように回転(シフト)させてみる」と訳せます。
解答への道
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
1:鍵長を絞り込む
ヒントにも述べられていますが、まずは鍵長を特定します。通常は特定までは至らず、候補となる鍵長を絞り込めます。
JCWSVLIVLVGSJJFJCWCVL
--- ---
123456789012345678901暗号文メッセージ内に、"JCW"が繰り返し登場しています。
1番目の"JCW"の’J’は1文字目、2番目の"JCW"の’J’は16文字目に登場しています。つまり、15文字離れていることになります。
つまり、鍵長の候補は、1、3、5、15になります。
鍵長が1なら、シーザー暗号そのものになってしまうので、本ステージにそぐわないので除外します。
鍵長が15だと、ちょっと長過ぎです。このゲーム的には可能性は低いでしょう。
※わざわざ鍵長を長くして難しい問題にする必要がないからです。
よって、鍵長の候補は、3、5になります。
2:平文の先頭単語を推測する
暗号文メッセージが短いので、頻度分析が向いていません。
そこで、平文の先頭単語を"the"であると大胆に仮定します。
短い暗号文でも、"the"であれば複数回登場する可能性が高いためです。
the?????????????????? ←平文
????????????????????? ←鍵
JCWSVLIVLVGSJJFJCWCVL ←暗号文
--- ---
PUR
ヴィジュネル表を使って、鍵の先頭3文字を特定します。
the?????????????????? ←平文
PUR?????????????????? ←鍵
JCWSVLIVLVGSJJFJCWCVL ←暗号文
--- ---3:鍵長が5であると仮定する
the?? ????? ????? the??? ←平文
PUR?? PUR?? PUR?? PUR??? ←鍵
JCWSV LIVLV GSJJF JCWCVL ←暗号文ヴィジュネル表を使って、判明している鍵文字の部分を復号します。

the?? vnd?? qxr?? the?? v ←平文
PUR?? PUR?? PUR?? PUR?? P ←鍵
JCWSV LIVLV GSJJF JCWCV L ←暗号文平文が英文らしくありません。
よって、鍵長が5という仮定が間違っていたと判断できます。
4:鍵長が3であると仮定する
鍵長が3であれば、全部判明したことになり、平文も全文復号できます。
the ??? ??? ??? ??? ??? ??? ←平文
PUR PUR PUR PUR PUR PUR PUR ←鍵
JCW SVL IVL VGS JJF JCW CVL ←暗号文ヴィジュネル表を使って、判明している鍵文字の部分を復号します。

the cat sat fla ton the mat ←平文
PUR PUR PUR PUR PUR PUR PUR ←鍵
JCW SVL IVL VGS JJF JCW CVL ←暗号文英文らしい平文が得られました。
“the cat sat fla ton the mat"
↓
“The cat sat flat on the mat"
5:解答のキーワードを特定する
解答のキーワードは"mat"になります。
解答
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
↓↓下にスクロール↓↓
MAT

ツールで解読する【別解】
1:以下が暗号文です。
※解答キーワードは末尾の「CVL」(ゲームのSSでは太字になっている)の解読結果になります。
JCWSVLIVLVGSJJFJCWCVL
よく見ると、"JCW"が繰り返されている部分があります。
RepeatSeq Analyzerで他に反復文字列がないかを確認してみます。


繰り返し文字列は、他に見つかりませんでした。
“JCW"の繰り返し間隔は、15文字です。
つまり、鍵長の候補は、15の公約数である3、5、15になります(1だとシフト暗号そのものになるので、1は除外)。
暗号文が短いのに、鍵長が15では解読問題として成立しないでしょう。
よって、鍵長は3か5が候補に挙がります。
一般には、鍵長3以下は多表式暗号の鍵長の可能性が低いと考えられます。
しかしながら、今回はゲームでありますし、しかも多表式暗号文の鍵を初めて解読する場面ということで、逆に鍵長3の可能性は大いにあります。
現状を整理すると以下のようになります。
@@@????????????@@@??? ←平文(文字列"@@@"が存在するという意味ではなく、同一の文字列が位置することを意味する)
123123123123123123123 ←鍵(鍵長3)
JCWSVLIVLVGSJJFJCWCVL ←暗号文
--- ---
or
@@@????????????@@@??? ←平文(abcは未知)
123451234512345123451 ←鍵(鍵長5)
JCWSVLIVLVGSJJFJCWCVL ←暗号文
--- ---
2:ヒントの後半では「最頻出文字がE・T・Aなどの一般的な文字になるように回転(シフト)させてみる」と主張しています。これはヴィジュネル暗号文の解読の常套手段です。
今回は暗号文が短すぎて、この解読法が有効かわかりませんが、ヒントに従って素直に試してみましょう。
テキストを列ごとに分離して抽出するには、Modular Text Dividerを用います。
[1]鍵長3と仮定して、3列ごとに分割した場合

[2]鍵長5と仮定して、5列ごとに分割した場合

ここまで分割後のテキストが短すぎると頻度分析しようがありません。
つまり、ヒントが役立っていないということで、鍵長5の可能性は薄いと判断できます。
よって、とりあえずは鍵長3という仮定の下で、解読を進めてみましょう。
3:英文の頻出文字はETAOINたちです。
「Substitution Cipher Analysis Workbench」ツールの「①外観」タブ>「統計」サブタブにある[資料]ボタンを押すと、英文の基本統計情報を確認できます。

ヒントでも’e’、’t’、’a’の3文字が最頻出文字として指定されていますので、この3文字だけに注目しましょう。
'e’の頻度は他と比べて大きいにもかかわらず、ヒントであえて3文字を最頻出文字として紹介しているのも怪しいです。
考えすぎかもしれませんが、’e’と断言するには都合が悪い状況、つまり最頻の暗号文文字が’t’と’a’に置換(マッピング)される状況なのかもしれません。
| 分割列 | 3分割後のテキスト | |
|---|---|---|
| Column 1 | JSIVJJC | 'J’が3回、他が1回登場。 ⇒明らかに’J’が突出して登場。 ⇒文字マッピングは「’J’⇒’e’」 or 「’J’⇒’t’」 or 「’J’⇒’a’」濃厚 ⇒鍵文字は’E’ or 'P’ or 'I’が濃厚 |
| Column 2 | CVVGJCV | 'V’が3回、’C’が2回、他が1回登場。 ⇒文字マッピングは「’V’⇒’e’」 or 「’V’⇒’t’」 or 「’V’⇒’a’」 ⇒鍵文字は’Q’ or 'B’ or 'U’ |
| Column 3 | WLLSFWL | 'L’が3回、’W’が2回、他が1回登場。 ⇒文字マッピングは「’L’⇒’e’」 or 「’L’⇒’t’」 or 「’L’⇒’a’」 ⇒鍵文字は’G’ or 'R’ or 'K’ |



なお、鍵文字を特定するには、Vigenere Cipher Toolの「タブラレクタ研究」タブにある機能が便利です。
A=1のヴィジュネル表からも特定できますが、時間がかかりますし、読み取りミスが生じる可能性があります。
ここではツール内の機能を活用してみました。

4:鍵文字を構成する文字候補が得られました。暗号解読ゲームなので鍵はランダムではなく、何らかの単語である可能性があります。
そこで、文字候補を組み合わせて、英単語を探してみます。
そのためには、文字組み合わせ&生成文字列分析ツールである「AlphaLoom」を用います。
内蔵辞書では英単語数が少ないので、サンプルで用意した辞書ファイルを登録します。
“wordlists/english_5067.txt"を入力して、[fetchで取得]ボタンを押します。
※ローカルに辞書ファイルがあれば、それを登録してもらっても構いません。

各桁の候補文字を設定してから、全27パターン(=3×3×3)を出力します。



この信頼度は文字を並べた順に依存します。
今回は意味のない情報であることに留意してください。
辞書ファイルの絞り込むと0件でした。

よって、鍵が意味のある単語でない可能性が高くなりました。ということは、このアプローチでは解けません。
5:今度は、全27パターンの鍵を利用したときの平文を調べてみて、英文らしいものがあるかを調べてみます。
暗号文"JCWSVLIVLVGSJJFJCWCVL"+鍵3文字列⇒平文
暗号文3文字分"JCW"だけを平文に復号して、英単語らしさを見つけても構いません。
ここでは、一気に暗号文全体を復号するアプローチを採用しています。
平文への復号には、Vigenere Cipher Toolの復号モードを利用します。
| 鍵 | 平文 | 考察 |
|---|---|---|
| EQG | ELPNEEDEEQPLESYELPXEE | |
| EQR | ELENETDETQPAESNELEXET | 少しは英語ぽいが、後半がおかしい。 |
| EQK | ELLNEADEAQPHESUELLXEA | |
| EBG | EAPNTEDTEQELEHYEAPXTE | |
| EBR | EAENTTDTTQEAEHNEAEXTT | |
| EBK | EALNTADTAQEHEHUEALXTA | |
| EUG | EHPNAEDAEQLLEOYEHPXAE | |
| EUR | EHENATDATQLAEONEHEXAT | |
| EUK | EHLNAADAAQLHEOUEHLXAA | |
| PQG | TLPCEESEEFPLTSYTLPMEE | |
| PQR | TLECETSETFPATSNTLEMET | 少しは英語ぽいが、後半がおかしい。 |
| PQK | TLLCEASEAFPHTSUTLLMEA | |
| PBG | TAPCTESTEFELTHYTAPMTE | |
| PBR | TAECTTSTTFEATHNTAEMTT | |
| PBK | TALCTASTAFEHTHUTALMTA | |
| PUG | THPCAESAEFLLTOYTHPMAE | |
| PUR | THECATSATFLATONTHEMAT | 文頭に"THE"が出てくるのは、偶然にしてはできすぎている! ⇒よって鍵は"PUR"確定 |
| PUK | THLCAASAAFLHTOUTHLMAA | |
| IQG | ALPJEEZEEMPLASYALPTEE | |
| IQR | ALEJETZETMPAASNALETET | |
| IQK | ALLJEAZEAMPHASUALLTEA | “ALL"は英語ぽいが、後ろに続く文字列が英文ぽくない。 |
| IBG | AAPJTEZTEMELAHYAAPTTE | |
| IBR | AAEJTTZTTMEAAHNAAETTT | |
| IBK | AALJTAZTAMEHAHUAALTTA | |
| IUG | AHPJAEZAEMLLAOYAHPTAE | |
| IUR | AHEJATZATMLAAONAHETAT | |
| IUK | AHLJAAZAAMLHAOUAHLTAA |
6:得られた平文"THECATSATFLATONTHEMAT"を英文に復元します。
“THECATSATFLATONTHEMAT"
↓
“THE CAT SAT FLAT ON THE MAT"
↓
“The cat sat flat on the mat"
ゆえに、解答キーワードは"MAT"になります。























