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

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

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

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

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

DIGITAL CRYPTOGRAPHY PUZZLE 04【Cypher編】

はじめに

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

コーストFIRE中のIPUSIRONです😀

IPUSIRONのプロフィールを見る

暗号文

[IMG]

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

ヒント

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

Steganography.

解答への道

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

1:解読の方針を検討する

一番上に"[IMG]"とあること、ヒントにステガノグラフィーとあることから、画像に対するステガノグラフィー(以後、イメージ・ステガノグラフィーと略す)の暗号文であると推測できます。

[IMG]

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

2:LSBから新しいビット列を得る

暗号文のビット列の中では、1111 1111、0000 0000に加えて、1111 1110と0000 0001が使われています。

ビット列の最下位ビットをLSB(Least Significant Bit)といいます。

どうやらLSBを利用したイメージ・ステガノグラフィーのようです。

LSBを用いたイメージ・ステガノグラフィーとして知られています。
CTFにもたまに登場します。

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

↓各ビット列からLSBを抽出

0 , 1 , 0 , 1
0 , 0 , 0 , 0
0 , 1 , 0 , 0
0 , 1 , 1 , 1

↓

0101
0000
0100
0111

↓8ビット列に分ける

0101 0000
0100 0111

各8ビット値をASCII文字にします。

0101 0000 = 0x50 -> 'P'
0100 0111 = 0x47 -> 'G'

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

しかし、これを入力しても正解ではありまえsんでした。

3:2値で表現する

色をRGB方式で表すと、黒は#000000、白は#FFFFFFです。よって、次の2つのビット列を黒と白に割り当てます。

1111 1111=0xFF⇒白

0000 0000=0x00⇒黒

また、次の2つの値も登場しますが、LSBだけが違うだけです。厳密には色が変わりますが、人間の目には認識しにくい程度の違いです。よって、それぞれを黒と白に置き換えてしまいます。

1111 1110=0xFE≒0xFF⇒白

0000 0001=0x01≒0x00⇒黒

黒を■、白を□とします。

※カンマを省略しました。

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

↓

□■■■
□□□■
□□□■
■□■■

なんとなく、".J"という文字列に見えます。

4:解答のキーワードを特定する。

“PG"と".J"を連結して、".JPG"というキーワードが得られます。

別解

ステップ3では黒と白の2値に収束させましたが、あえて区別しても構いません。

実際に色を描画しても人間の目には違いをほとんど識別できないからです。

各ビット列を10進数にします。

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

↓

254 , 001 , 000 , 001
254 , 254 , 254 , 000
254 , 255 , 254 , 000
000 , 255 , 001 , 001

ここでは、Excelを利用して確かめてみます。

まず、セルで方眼紙を作ります。

セルを塗りつぶします。その際、「その他の色」>「色の設定」ダイアログで「ユーザー設定」を選びます。

RGBを指定します。

例えば、254であれば、R・G・Bの3つに254を指定します。

全セルを塗りつぶすと次のようになります。

解答

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

↓↓下にスクロール↓↓

Cypher現代暗号

Posted by ipusiron