当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。

Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。

広告配信等の詳細については、プライバシーポリシーページに掲載しています。

消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題のある表現がありましたら、問い合わせページよりご連絡ください。

参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

MECHANISED CRYPTOGRAPHY PUZZLE 02【Cypher編】

はじめに

いつもブログをご覧いただきありがとうございます。

FIRE生活中のIPUSIRONです😀

IPUSIRONのプロフィールを見る

暗号文

QHSGUWIG

This message was encrypted with the same prototype cipher machine, but the scrambler starting orientation is unknown. Messages from this command post always begin with a roman numeral 15.

今回の暗号文メッセージはPUZZLE 01と同じプロトタイプ暗号機で暗号化されています。

つまり、同一のスクランブラーとリフレクターを備えています。

しかし、スクランブラーの初期状態は不明です。

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
              
ABCDEFGHIJKLMNOPQRSTUVWXYZ
UWYGADFPVZBECKMTHXSLRINQOJ ←スクランブラー1(これが何回転しているか不明)

ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

指揮所からのメッセージは常にローマ数字15から始まります。

ヒント

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

There are only 26 possible starting rotations, look for one where Q=x.

Q=x(’Q’は1文字目の暗号文文字、’x’は任意の平文文字)となるような、スクランブラーの状態は26通りしかありません。

解答への道

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

1:解読法を検討する

指揮所は毎回ローマ数字の15から始めているということは、常に"XV"から始まる平文メッセージを暗号化していることを意味します。

解読したい暗号文は"QHSGUWIG"です。

つまり、平文文字列"XV"が暗号文文字列"QH"に対応するわけです。

XV?????? ←平文
QHSGUWIG ←暗号文

こうした事実から、スクランブラー1の状態を特定します。状態特定すれば、後は復号するだけになります。

2:1文字目に注目する

スクランブラー1は26通りしか存在せず、このうちの1つが暗号文文字’Q’が平文文字’X’に復号します。

ここでは、最悪でも26通りすべて調べればよいわけです。

※途中で見つかれば中断します。

PUZZLE 01で与えられた最初の状態を「状態0」と名づけ、1文字回転するごとに「状態1」のように数値を増やすことにします。

スクランブラー1の上段に注目すると次のようになります。

状態0  ABCDEFGHIJKLMNOPQRSTUVWXYZ
状態1  BCDEFGHIJKLMNOPQRSTUVWXYZA
状態2  CDEFGHIJKLMNOPQRSTUVWXYZAB
状態3  DEFGHIJKLMNOPQRSTUVWXYZABC
状態4  EFGHIJKLMNOPQRSTUVWXYZABCD
状態5  FGHIJKLMNOPQRSTUVWXYZABCDE
状態6  GHIJKLMNOPQRSTUVWXYZABCDEF
状態7  HIJKLMNOPQRSTUVWXYZABCDEFG
状態8  IJKLMNOPQRSTUVWXYZABCDEFGH
状態9  JKLMNOPQRSTUVWXYZABCDEFGHI
状態10 KLMNOPQRSTUVWXYZABCDEFGHIJ
状態11 LMNOPQRSTUVWXYZABCDEFGHIJK
状態12 MNOPQRSTUVWXYZABCDEFGHIJKL
状態13 NOPQRSTUVWXYZABCDEFGHIJKLM
状態14 OPQRSTUVWXYZABCDEFGHIJKLMN
状態15 PQRSTUVWXYZABCDEFGHIJKLMNO
状態16 QRSTUVWXYZABCDEFGHIJKLMNOP
状態17 RSTUVWXYZABCDEFGHIJKLMNOPQ
状態18 STUVWXYZABCDEFGHIJKLMNOPQR
状態19 TUVWXYZABCDEFGHIJKLMNOPQRS
状態20 UVWXYZABCDEFGHIJKLMNOPQRST
状態21 VWXYZABCDEFGHIJKLMNOPQRSTU
状態22 WXYZABCDEFGHIJKLMNOPQRSTUV
状態23 XYZABCDEFGHIJKLMNOPQRSTUVW
状態24 YZABCDEFGHIJKLMNOPQRSTUVWX
状態25 ZABCDEFGHIJKLMONPQRSTUVWXY

[1]状態0からスタートしたとき

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
                ↓  ↑
BCDEFGHIJKLMNOPQRSTUVWXYZA
WYGADFPVZBECKMTHXSLRINQOJU ←スクランブラー1(状態0から1文字左シフト済み、すなわち状態1)
                   ↓     ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

暗号文文字’Q’は平文文字’T’に復号されました。

平文文字’X’ではないので、スタート状態は状態0ではなかったとわかります。

[2]状態1からスタートしたとき

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
   ↑            ↓
CDEFGHIJKLMNOPQRSTUVWXYZAB
YGADFPVZBECKMTHXSLRINQOJUW ←スクランブラー1(状態1から1文字左シフト済み、すなわち状態2)
    ↑           ↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

暗号文文字’Q’は平文文字’D’に復号されました。

平文文字’X’ではないので、スタート状態は状態1ではなかったとわかります。

[3]状態2からスタートしたとき

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
                ↓   ↑
DEFGHIJKLMNOPQRSTUVWXYZABC
GADFPVZBECKMTHXSLRINQOJUWY ←スクランブラー1(状態2から1文字左シフト済み、すなわち状態3)
            ↓ ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

暗号文文字’Q’は平文文字’U’に復号されました。

平文文字’X’ではないので、スタート状態は状態2ではなかったとわかります。

[4]状態3からスタートしたとき

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
     ↑          ↓
EFGHIJKLMNOPQRSTUVWXYZABCD
ADFPVZBECKMTHXSLRINQOJUWYG ←スクランブラー1(状態3から1文字左シフト済み、すなわち状態4)
                     ↑↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

暗号文文字’Q’は平文文字’F’に復号されました。

平文文字’X’ではないので、スタート状態は状態3ではなかったとわかります。

[5]状態4からスタートしたとき

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
                ↓      ↑
FGHIJKLMNOPQRSTUVWXYZABCDE
DFPVZBECKMTHXSLRINQOJUWYGA ←スクランブラー1(状態4から1文字左シフト済み、すなわち状態5)
   ↓   ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

暗号文文字’Q’は平文文字’X’に復号されました。

よって、スタート状態は状態4であったとわかります。

3:2文字目’H’を解読して’V’になることを確かめる

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
       ↓             ↑
GHIJKLMNOPQRSTUVWXYZABCDEF
FPVZBECKMTHXSLRINQOJUWYGAD ←スクランブラー1(状態5から1文字左シフト済み、すなわち状態6)
    ↑           ↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

確かに’V’に復号できました。後は3文字目以降も同様にして復号していきましょう。

4:3文字目’S’を復号する

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
               ↑  ↓
HIJKLMNOPQRSTUVWXYZABCDEFG
PVZBECKMTHXSLRINQOJUWYGADF ←スクランブラー1(状態6から1文字左シフト済み、すなわち状態7)
  ↓                 ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

平文文字’P’が得られました。

5:4文字目’G’を復号する

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
      ↓             ↑
IJKLMNOPQRSTUVWXYZABCDEFGH
VZBECKMTHXSLRINQOJUWYGADFP ←スクランブラー1(状態7から1文字左シフト済み、すなわち状態8)
   ↑           ↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

平文文字’U’が得られました。

6:5文字目’U’を復号する

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
                 ↑  ↓
JKLMNOPQRSTUVWXYZABCDEFGHI
ZBECKMTHXSLRINQOJUWYGADFPV ←スクランブラー1(状態8から1文字左シフト済み、すなわち状態9)
                    ↑↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

平文文字’R’が得られました。

7:6文字目’W’を復号する

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
               ↑      ↓
KLMNOPQRSTUVWXYZABCDEFGHIJ
BECKMTHXSLRINQOJUWYGADFPVZ ←スクランブラー1(状態9から1文字左シフト済み、すなわち状態10)
                  ↓     ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

平文文字’P’が得られました。

8:7文字目’I’を復号する

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
        ↓  ↑
LMNOPQRSTUVWXYZABCDEFGHIJK
ECKMTHXSLRINQOJUWYGADFPVZB ←スクランブラー1(状態10から1文字左シフト済み、すなわち状態11)
   ↓           ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

平文文字’L’が得られました。

9:8文字目’G’を復号する

ABCDEFGHIJKLMNOPQRSTUVWXYZ ←入力・出力
    ↑ ↓
MNOPQRSTUVWXYZABCDEFGHIJKL
CKMTHXSLRINQOJUWYGADFPVZBE ←スクランブラー1(状態11から1文字左シフト済み、すなわち状態12)
     ↓    ↑
ABCDEFGHIJKLMNOPQRSTUVWXYZ
YRUHQSLDPXNGOKMIEBFZCWVJAT ←リフレクター(固定)

平文文字’E’が得られました。

10:得られた平文文字を連結する

“XVPURPLE"という文字列が得られました。

XVPURPLE ←平文
QHSGUWIG ←暗号文

“PURPLE"とは日本のパープル暗号を指しているのかもしれません。

解答

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

Cypher古典暗号

Posted by ipusiron