Cypherの解法

Cypher

  • Cypher

    タイトル画面。

  • Cypher

    壁に書かれている暗号を解いて、答えを黒いコンソールに入力します。

1. STEGANOGRAPHY

1-8

  • 大文字 = 0、小文字 = 1
  • 5桁で一文字分(00000 = A、00001 = B、00010 = C ...)
SCIEn CEISK NOWlE DgeiS PowEr
----- ----- ----- ----- -----
00001 00000 00010 01110 01101

A. BACON

2. TRANSPOSITION

2-8

  • 5分割して、順番に1文字ずつ拾う
  • 平文は計算式を表しているので、計算して答えを求める
TUTTMO WSIHIN OSMRNE PIEEUZ LXSESZ
----------------------------------
TWO PLUS SIX TIMES THREE MINUS ONE
2 + (6 * 3) - 1 = 19

A. NINETEEN

3. MONOALPHABETlC SUBSTITUTlON

部屋の入り口に「English letter frequencies.」が書かれている。

3-1

  • 「DISPOSAL」や「FOREKNOWLEDGE」のような長い単語は特定しやすい
『吸血鬼ドラキュラ』(Dracula)
THSWQD THZ RBXP GWXP HG XL ZWRNBRHK UTPQ WQ KBQZBQ
HAVING HAD SOME TIME AT MY DISPOSAL WHEN IN LONDON

W THZ SWRWGPZ GTP IOWGWRT XMRPMX HQZ XHZP RPHOFT
I HAD VISITED THE BRITISH MUSEUM AND MADE SEARCH

HXBOD GTP IBBVR HQZ XHNR WQ GTP KWIOHOL OPDHOZWQD
AMORG THE BOOKS AND MAPS IN THE LIBRARY REGARDING

GOHQRLKSHQWH WG THZ RGOMFV XP GTHG RBXP ABOPVQBUKPZDP
TRANSYLVANIA IT HAD STRUCK ME THAT SOME FOREKNOWLEDGE

BA GTP FBMQGOL FBMKZ THOZKL AHWK GB THSP RBXP
OF THE COUNTRY COULD HARDLY FAIL TO HAVE SOME

WXNBOGHQFP WQ ZPHKWQD UWGT H QBIKPXHQ BA GTHG FBMQGOL
IMPORTANCE IN DEALING WITH A NOBLEMAN OF THAT COUNTRY

A. TRANSYLVANIA

3-2

  • "English letter frequencies." を参考にして文字を特定する
  • ZMX = THE
  • ZMXR = THEM、ZMXP = THEY → RP = MY
  • C = AもしくはC = I → ZMVZ = THATによりV = A → C = I
『フランケンシュタイン』(Frankenstein)
LGGK VHZXJ RP VJJCEVO CK ZMX MGEXO C SCLDGEXJXS
SOON AFTER MY ARRIVAL IN THE HOVEL I DISCOVERED

LGRX IVIXJL CK ZMX IGDQXZ GH ZMX SJXLL UMCDM C MVS
SOME PAPERS IN THE POCKET OF THE DRESS WHICH I HAD

ZVQXK HJGR PGBJ OVWGJVZGJP. VZ HCJLZ C MVS
TAKEN FROM YOUR LABORATORY. AT FIRST I HAD

KXNOXDZXS ZMXR, WBZ KGU ZMVZ C UVL VWOX ZG SXDCIMXJ
NEGLECTED THEM, BUT NOW THAT I WAS ABLE TO DECIPHER

ZMX DMVJVDZXJL CK UMCDM ZMXP UXJX UJCZZXK, C
THE CHARACTERS IN WHICH THEY WERE WRITTEN, I

WXNVK ZG LZBSP ZMXR UCZM SCOCNXKDX.
BEGAN TO STUDY THEM WITH DILIGENCE.

A. LABORATORY

3-3

  • THEを見つける
  • THが付く単語を見つける(THERE、THEM、THAT、THEIR)
『シャーロック・ホームズの冒険』(The Adventures of Sherlock Holmes)
Cypher 3-3

A. LONESTAR

3-4

  • HINTにより「E = H」
AJLPNYRJZJFLZYASGSKQGSMME
                        H

JKEJPFSVLPJLKKEJELNNSPZKY
  H           H H        

NNYGNSGASGYZJGAKEYZYGASVW
                H        

NJKSWSKECNLUJZKEJZEYCYZWS
       H       H  H      

VOEKLGAHYKKJAZEJNYJZLKLGU
  H           H          

ESPPJLAFHSPZJLFSVGJRJPYTL
H                        

OYGJALZMJJKJPZUESSGJPLUEY
               H       H 

NATYOEKZLYNEJPKMSEVGAPJAK
     H     H     H       

SGZGLTJEYZCLGYSNL
       H         
  • "English letter frequencies." を参考にして文字を特定する
  • 最も数が多いのはJ → J = E
  • 以降、「SYLKZGPNA」は「TAONISRLD」のどれかが当てはまる → KEJ = THE、KEYZ = THIS
AJLPNYRJZJFLZYASGSKQGSMME
DEARLI ESE ASIDONOT NO  H

JKEJPFSVLPJLKKEJELNNSPZKY
ETHER O AREATTHEHALLORSTI

NNYGNSGASGYZJGAKEYZYGASVW
LLINLONDONISENDTHISINDO  

NJKSWSKECNLUJZKEJZEYCYZWS
LETO OTH LA ESTHESHI IS O

VOEKLGAHYKKJAZEJNYJZLKLGU
  HTAND ITTEDSHELIESATAN 

ESPPJLAFHSPZJLFSVGJRJPYTL
HORREAD  ORSEA O NE ERI A

OYGJALZMJJKJPZUESSGJPLUEY
 INEDAS EETERS HOONERA HI

NATYOEKZLYNEJPKMSEVGAPJAK
LD I HTSAILHERT OH NDREDT

SGZGLTJEYZCLGYSNL
ONSNA EHIS ANIOLA
  • すべてを特定して完成
『宝島』(Treasure Island)
AJLP NYRJZJF
DEAR LIVESEY

LZ Y AS GSK QGSM MEJKEJP FSV LPJ LK KEJ ELNN SP ZKYNN YG NSGASG
AS I DO NOT KNOW WHETHER YOU ARE AT THE HALL OR STILL IN LONDON

Y ZJGA KEYZ YG ASVWNJ KS WSKE CNLUJZ
I SEND THIS IN DOUBLE TO BOTH PLACES

KEJ ZEYC YZ WSVOEK LGA HYKKJA
THE SHIP IS BOUGHT AND FITTED

ZEJ NYJZ LK LGUESP PJLAF HSP ZJL
SHE LIES AT ANCHOR READY FOR SEA

FSV GJRJP YTLOYGJA L ZMJJKJP ZUESSGJP
YOU NEVER IMAGINED A SWEETER SCHOONER

L UEYNA TYOEK ZLYN EJP
A CHILD MIGHT SAIL HER

KMS EVGAPJA KSGZ
TWO HUNDRED TONS

GLTJ EYZCLGYSNL
NAME HISPANIOLA

A. HISPANIOLA

4. POLYALPHABETlC SUBSTITUTlON

部屋の入り口に「Vigenere Square」が書かれている。

"Vigenere Square" の使い方

行[A-Z] = キー、列[a-z] = 平文

暗号化する
キーと平文が交差したところが暗号(キーがF、平文がt → 暗号はZ)
平文を求める
キーの行で暗号を検索、見つかった列が平文(キーがF、暗号がZ → 平文はt)
キーを求める
平文の列で暗号を検索、見つかった行がキー(平文がt、暗号がZ → キーはF)

4-1

  • "Vigenere Square" を用いて平文を求める
  • Z - F = t、T - L = h、V - A = u、G - S = n、L - H = d、K - F = e ...
暗号:ZTVGLKDBGLRUHABTUOZ
キー:FLASHFLASHFLASHFLAS
-------------------------
平文:thunde...

A. THUNDERANDLIGHTNING

4-2

  • 平文を求めるために、まずはキーを求める
  • 暗号文にJCWが2回登場する → JCWの位置は1文字目と16文字目 → キーは3文字もしくは5文字
キーは3文字もしくは5文字
キーが3文字の場合
キー:123123123123123123123
暗号:JCWSVLIVLVGSJJFJCWCVL
キーが5文字の場合
キー:123451234512345123451
暗号:JCWSVLIVLVGSJJFJCWCVL
  • JCWの平文を最頻単語のtheと仮定し、"Vigenere Square" を用いてキーを求める
  • J - t = P、C - h = U、W - e = R
暗号:JCW
平文:the
---------
キー:PUR
  • "Vigenere Square" を用いて平文を求める
暗号:JCWSVLIVLVGSJJFJCWCVL
キー:PURPURPURPURPURPURPUR
---------------------------
平文:thecatsatflatonthemat (the cat sat flat on the mat)

A. MAT

4-3

  • 解法の手順は4-2と同じ
  • AFH = THE、キー = CGX
『シャーロック・ホームズの帰還』(The Return of Sherlock Holmes)
L AFLUI WOYW P ADU FHSN BVS WV NDZQ DU FRBP LU YQ PLWLPHZRLUE DUB SYMIPRDIJH TYQUCU ZYLK FRSKHZ
I THINK THAT I CAN HELP YOU TO PASS AN HOUR IN AN INTERESTING AND PROFITABLE MANNER SAID HOLMES

BUHULUE KPQ FOYLY SS AM WOC WHZOL
DRAWING HIS CHAIR UP TO THE TABLE

G DT DDPPOF DDTGOPYU DGWO YOS DRYKV VD VLAULR ZYGWPLJZ
I AM FAIRLY FAMILIAR WITH ALL FORMS OF SECRET WRITINGS

YQK YP TWVLJI AFH HSWOMU VD D APLMJLUE PVLRNPDWF XWMQ AFH ZSEQCFA
AND AM MYSELF THE AUTHOR OF A TRIFLING MONOGRAPH UPON THE SUBJECT

GQ DFLJF L HLDSWCL MQL FXUBULB DUB VPVWF QHWYUHRH JGSOCUZ
IN WHICH I ANALYZE ONE HUNDRED AND SIXTY SEPARATE CIPHERS

ZXA G FVLILQV AFDA RKPQ LZ CQAGULJB UCZ AM PL
BUT I CONFESS THAT THIS IS ENTIRELY NEW TO ME

A. MONOGRAPH

5. MECHANISED CRYPTOGRAPHY

Scramblerの回転に注意 ―― キー入力毎に回転するのは1つ目のScramblerだけ。

The first disc rotates on every press, when it reaches a notch in the wheel it will cause the next disc to rotate and so the second will eventually cause the third disc to rotate.

―― 05 MECHANISED CRYPTOGRAPHY

5-1

1文字目[Z]
Input/Output: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Scrambler I:  BCDEFGHIJKLMNOPQRSTUVWXYZA
              WYGADFPVZBECKMTHXSLRINQOJU

Reflector:    ABCDEFGHIJKLMNOPQRSTUVWXYZ
              YRUHQSLDPXNGOKMIEBFZCWVJAT
参照順
Input/Output[Z]
→ Scrambler I上段[A] → Scrambler I下段[A]
→ Reflector上段[D] → Reflector下段[H] → Reflector上段[H]
→ Scrambler I下段[V] → Scrambler I上段[V]
→ Input/Output[U]
2文字目[Y]
Input/Output: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Scrambler I:  CDEFGHIJKLMNOPQRSTUVWXYZAB
              YGADFPVZBECKMTHXSLRINQOJUW

Reflector:    ABCDEFGHIJKLMNOPQRSTUVWXYZ
              YRUHQSLDPXNGOKMIEBFZCWVJAT
参照順
Input/Output[Y]
→ Scrambler I上段[A] → Scrambler I下段[A]
→ Reflector上段[C] → Reflector下段[U] → Reflector上段[U]
→ Scrambler I下段[N] → Scrambler I上段[N]
→ Input/Output[L]
  • ここまでで、平文はUL
  • 残りの3文字も同様に処理

A. ULTRA(元ネタはおそらくこれ

5-2

  • ENIGMAは5-1と同じだが、Scrambler Iの開始位置が不明
  • ヒント:平文の頭2文字は「ローマ数字の15」 → つまり、QHSGUWIG = XV******
  • まずは、Q = XとなるScrambler Iの位置を求める
Scrambler Iの開始位置が判明した状態のENIGMA
Input/Output: ABCDEFGHIJKLMNOPQRSTUVWXYZ

Scrambler I:  FGHIJKLMNOPQRSTUVWXYZABCDE
              DFPVZBECKMTHXSLRINQOJUWYGA

Reflector:    ABCDEFGHIJKLMNOPQRSTUVWXYZ
              YRUHQSLDPXNGOKMIEBFZCWVJAT

A. XVPURPLE

5-3

ENIGMAが完成形となり、5-1、5-2よりも複雑化。

① Plugboardの追加
Input/Outputの入れ替え:A ↔ B、S ↔ Z、U ↔ Y、G ↔ H、L ↔ Q、E ↔ N
② Scrambler II、IIIの追加
順番:II、I、III
開始位置:II = A、I = E、III = B
上記①②を反映した状態のENIGMA
Input/Output:  BACDNFHGIJKQMEOPLRZTYVWXUS

Scrambler II:  ABCDEFGHIJKLMNOPQRSTUVWXYZ
               AJPCZWRLFBDKOTYUQGENHXMIVS

Scrambler I:   EFGHIJKLMNOPQRSTUVWXYZABCD
               ADFPVZBECKMTHXSLRINQOJUWYG

Scrambler III: BCDEFGHIJKLMNOPQRSTUVWXYZA
               AGBPCSDQEUFVNZHYIXJWLRKOMT

Reflector:     ABCDEFGHIJKLMNOPQRSTUVWXYZ
               YRUHQSLDPXNGOKMIEBFZCWVJAT
  • キー入力毎に回転するのはScrambler IIだけであることに注意

A. BLITZKRIEG

6. DlGlTAL CRYPTOGRAPHY

6-3

  • バイナリ値の縦の並びを「列」として考え、列毎に下へ回転させる
  • "2131 2572" は、回転させるビット数
  • 列名をA-Hとすると、列A、B、C、Gは回転させる必要なし
列A、B、C 列内の値がすべて同じ → 変化しないため回転は不要
列G 回転させるビット数が「7」 → 一周してしまうため回転は不要
列Dを下へ1ビット回転させた状態
ABCD EFGH
---- ----
2131 2572

0110 0010
0110 0101
0111 1001
0111 0011
0110 0101
0111 0110
0110 1001
  • 残りの E、F、H列を回転
  • バイナリ値をアスキー変換
0110 0010 =  98 = b
0110 1001 = 105 = i
0111 0100 = 116 = t
0111 0111 = 119 = w
0110 1001 = 105 = i
0111 0011 = 115 = s
0110 0101 = 101 = e

A. BITWISE

6-4

Phase #1
  • [IMG]と示されていることから、全体を図形として捉えてみる
  • 問題を16進変換すると、4✕4ドットの図形であることが明確となる
FE,01,00,01
FE,FE,FE,00
FE,FF,FE,00
00,FF,01,01
  • 値がほぼ二値化(00、FF)されているので、白黒に色分けをしてみる
□■■■
□□□■
□□□■
■□■■
↓
.J
Phase #2
  • HINTから、Image Steganographyについて考えてみる
  • 問題を見ると、値がほぼ二値化(0000 0000、1111 1111)されている中で、0000 00011111 1110のようにLSB(最下位ビット)だけが変化した値は作為的で疑わしい
1111 1110,0000 0001,0000 0000,0000 0001
1111 1110,1111 1110,1111 1110,0000 0000
1111 1110,1111 1111,1111 1110,0000 0000
0000 0000,1111 1111,0000 0001,0000 0001
  • Image Steganographyの手法としてLSBを利用した文字の埋め込みがあるため、すべてのLSBを抜き出して並べ替えてみる
1111 1110,0000 0001,0000 0000,0000 0001
1111 1110,1111 1110,1111 1110,0000 0000
1111 1110,1111 1111,1111 1110,0000 0000
0000 0000,1111 1111,0000 0001,0000 0001
↓
0101
0000
0100
0111
↓
0101 0000 = 80 = P
0100 0111 = 71 = G

A. .JPG

6-5

Round #1 - Key[YS]
1. Arrange text and key into 4x4 blocks.(4✕4形式に並べ替え)
text     [1001 0111 1011 0101]
key[YS]  [0101 1001 0101 0011]1001 0101
0111 1001
1011 0101
0101 0011
2. Swap columns 1/2 and 3/4 of each block.(各ブロック毎に列を入れ替え:1 ↔ 2、3 ↔ 4)
1234 1234
---- ----
0110 1010
1011 0110
0111 1010
1010 0011
3. Substitute (XOR) text block using key block.(各行のXORを計算)
a|0110 1010
b|1011 0110
c|0111 1010
d|1010 0011

a    b    c    d
0110 1011 0111 1010
1010 0110 1010 0011
---- ---- ---- ----
1100 1101 1101 1001
↓
1100
1101
1101
1001
4. Shift rows of text block +0,+1,+2,+3.(各行を右へ回転)
回転させるビット数:a = 0、b = 1、c = 2、d = 3

a|1100
b|1101
c|1101
d|1001
↓
a|1100
b|1110
c|0111
d|0011
  • Round #1の結果:1100 1110 0111 0011
Round #2 - Key[BX]
1. Arrange text and key into 4x4 blocks.
textはRound #1の結果を用いる

text     [1100 1110 0111 0011]
key[BX]  [0100 0010 0101 1000]1100 0100
1110 0010
0111 0101
0011 1000
  • 以降、Round #1と同様に処理する
  • Round #2の結果:0100 0110 0100 1110
0100 0110 = 70 = F
0100 1110 = 78 = N

A. FN

CHALLENGE PUZZLES

01

  • 元素周期表
  • 空白部分だけに着目する

A. NUCLEUS

02

  • カラーコード
  • 7色
Cypher CHALLENGE PUZZLES 02

A. RAINBOW

03

  • "MVEMJSUN" は、太陽系の惑星の頭文字(Mercury、Venus、Earth ...)
  • 「E」の下に書かれている「24」は、地球の自転周期(24時間)
  • すべての惑星の自転周期を調べ、自転周期の昇順にソートする
J:  10
S:  11
N:  16
U:  17
E:  24
M:  25
M:1416
V:5832
↓
JSNUEMMV
  • "JSNUEMMV" をキーとして、"Vigenere Square" を用いて平文を求める
キー:JSNUEMMVJSNUEM
暗号:QTZDQRBCKEWGJV

A. GALILEOGALILEI

04

  • HINTの通り、これは「書籍暗号」
  • "GOLDBUG" は、エドガー・アラン・ポーの『黄金虫』(The Gold-Bug)のこと

MANY years ago, I contracted an intimacy with a Mr. William Legrand. He was of an ancient Huguenot family, and had once been wealthy; but a series of misfortunes had reduced him to want. To avoid the mortification consequent upon his disasters, he left New Orleans, the city of his forefathers, and took up his residence at Sullivan's Island, near Charleston, South Carolina.

This Island is a very singular one. It consists of little else than the sea sand, and is about three miles long. Its breadth at no point exceeds a quarter of a mile.

―― Edgar Allan Poe "The Gold-Bug" (1843)

  • n番目の単語を抜き出し、頭文字を並べる
03:ago
31:reduced
04:I
06:an
68:very
15:of
12:Legrand
33:to
90:point
22:once
56:residence
35:To
↓
ARIAVOLTPORT

A. OVALPORTRAIT

05

  • ドレミファソラシド = CDEFGAB
  • HINTの「+」は、「加算」の意味
  • 音符を英字表記にすると下記のようになる
E
E + G
G
A
G + B + D + E
E + F + C + G
E + G + C + E
E
D + G + C
  • 音符が複数ある箇所は、加算して一文字にまとめる ―― E + G:E(5) + G(7) = L(12)
E
E(5) + G(7) = L(12)
G
A
G(7) + B(2) + D(4) + E(5) = R(18)
E(5) + G(7) + C(3) + G(7) = V(22)
E(5) + G(7) + C(3) + E(5) = T(20)
E
D(4) + G(7) + C(3) = N(14)
↓
ELGARVTEN

A. DORABELLA

06

A. COMPASS

07

  • x:辺の長さ = 6.479 * sin(38) = 4
  • y:8番目の素数 = 19
  • z:円周の長さ = 3
1. shift(4)
50203795740025510578343272
32725020379574002551057834
2. mod(19), add(3)
32 % 19 + 3 = 16
72 % 19 + 3 = 18
50 % 19 + 3 = 15
20 % 19 + 3 =  4
37 % 19 + 3 = 21
95 % 19 + 3 =  3
74 % 19 + 3 = 20
00 % 19 + 3 =  3
25 % 19 + 3 =  9
51 % 19 + 3 = 16
05 % 19 + 3 =  8
78 % 19 + 3 =  5
34 % 19 + 3 = 18
3. アルファベット化(1 = A, 26 = Z)
16 = P
18 = R
15 = O
 4 = D
21 = U
 3 = C
20 = T
 3 = C
 9 = I
16 = P
 8 = H
 5 = E
18 = R

A. PRODUCTCIPHER

09

  • 上段は一見すると変な記号に見えるが、実はアルファベット(LI、NE、AR、B)
  • 下段の絵文字はこちらのサイトを参考に解読
下段
3、6は、重なったアルファベット

 1. Cloth
 2. Ram
 3. YP
 4. TO
 5. Gold
 6. LYP
 7. Helmet
 8. I
 9. Cyprus
10. Sword

A. CRYPTOGLYPHICS

10

1文字ずつ当てはめる(失敗)
C O Q Y L S G Y L Z
O N E T I M E P A D

F K Q X A Q R Y B N F W Q A
T H E G R E A T C I P H E R

A = R
B = C
C = O
F = P
F = T
G = E
K = H
L = A
L = I
N = I
O = N
Q = E
R = A
S = M
W = H
X = G
Y = P
Y = T
Z = D

F、L、Yが重複しており、文字が特定できない→失敗
2文字ずつ当てはめる
CO QY LS GY LZ
ON ET IM EP AD

FK QX AQ RY BN FW QA
TH EG RE AT CI PH ER

IL =
SQ =
CS =
KF = HT
FK = TH
AQ = RE
QY = ET
KC =
CO = ON
GY = EP

この時点で
xx xx xx HT TH RE ET xx ON EP

THREEやONEが見えるので、おそらく数字の並び
それを踏まえて補完する
xxx EIGHT THREE TWO ONE

xxxの候補
ONE
TWO
SIX

A. 68321

11

  • 問題文で使用されているアルファベットが「ATGC」のみであることから、DNAの塩基をモチーフにした問題であることが解る
  • HINTは「26->16」
PASSWORD IS CT
C = CYTOSINE
T = THYMINE

A. CYTOSINETHYMINE

関連記事
#APPs
2018-09-09 行末に「You (just now) not committed yet」が表示されるようになった
2017-06-01 GitGutterを導入してGutterに編集マークを表示
2016-11-28 ColorHelperの新しいカラーピッカー
2016-11-26 「最新版の確認」のボタン化と最新バージョンの再インストール方法
2016-11-06 ColorHelperがバージョンアップして安定化
2016-10-30 Gutterにカラーアイコンを表示
2016-10-02 Theme - Cyanideのカレントタブ色を変更
2016-05-25 メニューバーに「Recent」メニューを追加
2016-04-06 全行を矩形選択するキー操作
2016-04-04 クリップボード内のテキストを新規ファイルに保存するスクリプト(UTF-8版)
Game
ありません
    APPs
    #APPs
    Game
    Qonoha
    Sublime Text
    Tablacus Explorer
    OBLIVION
    #Oblivion
    Architectures and Locations
    Blockhead
    Body, Head and Hair
    Combat and Crime
    Console
    CS
    Dremora IceElf
    Enhanced Economy
    Equipment
    Fundament
    Immersion and Realism
    LAME
    Mage's Sky House
    Magic and Enchantments
    MajorJims UI
    Maskar's Oblivion Overhaul
    Mercantiles
    MODs List
    My Characters
    NPC
    Photo Album
    Pose and Animation
    Quests
    Recommended
    Skills and Leveling
    TES4Edit
    Troubles
    Undies Underneath
    User Interfaces
    Wrye Bash
    CODING
    #Coding
    HTML/CSS
    JavaScript