Ep.01 囮のアヒル
Enterキーを押すと、ブラウザに新しい画像が表示された。
「……アヒル?」
思わず首を傾げる。
画面に映っていたのは、茶色いアヒルの置物。
そしてその画像の右上には、こんな英文が書かれていた。
WOOPS
――おっと!
Just decoys this way.
――こっちはただの囮だ。
Looks like you can't guess how to get the message out.
――どうやってメッセージを取り出すのか、チミたちは見当もつかないようだね。
「…………は?」
僕はしばらく画面を見つめた。
いやいやいや、待ってほしい。
なんかバチくそに煽られている。
「いやいや、なんだよこれ! もうちょっと何かなかったの!?」
例えば、秘密結社の紋章とか? 古代文明の壁画とか? あとは、いかにも謎めいた扉の写真とか? そういうのを期待していたのに、アホみたいなアヒルに煽られている。
いや、別にアヒルが悪いわけではない。
アヒルには何の罪もないのだが、もう少し雰囲気というものを大切にしてほしかった。
僕はため息をつき、改めて画像を眺めた。
とはいえ、これで終わりとは思えない。
わざわざ暗号を解かせて画像共有サイトへ誘導しておきながら、「はい残念、アヒルでしたw」で終わるのなら、それこそ悪戯にしては手が込みすぎている。
何かあるはずだ。
「……囮、ねえ」
Looks like you can't guess how to get the message out.
ーーどうやってメッセージを取り出すのか、チミたちは見当もつかないようだね。
「……ん?」
僕はもう一度英文を読んだ。
guess。
out。
この2つの単語が、妙に引っかかる。
普通に読むなら、単にこちらを馬鹿にしている文章だ。だが、最初の画像で古代ローマ皇帝の名前を暗号のヒントに使っていたことを考えると、今回も何かの名前を示している可能性がある。
「……あっ」
思い当たった。
「OutGuessか!」
OutGuess。
JPEG画像などに秘密の情報を埋め込むためのソフトウェアだ。
こうした、別のデータの中に情報を隠す技術をステガノグラフィという。
暗号が文章の内容を読めなくする技術だとすれば、こちらは秘密の情報が存在すること自体を分かりにくくする技術、と考えればいい。
OutGuessは、画像の見た目を大きく変えることなく、その内部へ別のデータを埋め込める。
「なるほどね。そういうことか」
画像が囮だと教えているのも、わざわざguessとoutを使っているのも、その名前を連想させるためだったわけだ。
僕は少し感心した。
なるほど、確かにこれは面白い。
問題文をただ読むだけではなく、言葉の選び方そのものがヒントになっている。
ただ、ここで1つ疑問があった。
OutGuessを使うとして、どの画像を調べればいいのだろう。
候補は2つある。
最初に保存した《final.jpg》と、今ブラウザに表示されているアヒルの画像だ。
「……まあ、まずはこっちかな」
僕は最初の画像を選んだ。
そもそも招待状には、「この画像にメッセージが隠されている」と書いてあった。さっき見つけた文字列だけが、そのメッセージのすべてとは限らない。
というか、考えてみれば、わざわざあの画像を出題に使った理由がまだ説明できていない。
「もう1個くらい隠してても、おかしくないよね」
僕は普段使っているLinux環境を開いた。
Windowsでもできないことはないが、こういう解析作業はLinuxの方が慣れている。必要なツールを確認し、保存していた画像ファイルを指定した。
あとはOutGuessで抽出を試すだけだ。
ターミナルにコマンドを入力する。
outguess -r final.jpg output.txt
処理はすぐに終わった。
抽出されたファイルを開く。
「……お?」
今度は意味不明な記号の羅列ではなかった。
ちゃんと読める英文が表示されている。
Here is a book code. To find the book, and more information, go to http://www.reddit.com/r/a2e7j6ic78h0j/
――ここに書籍暗号があります。使用する本と、さらに詳しい情報を知りたければ、次のURLへアクセスしてください。
その下には、数字がずらりと並んでいた。
1:20, 2:3, 3:5, 4:20, 5:5, 6:53, 7:1, 8:8, 9:2, 10:4
同じ形式の数字が全部で76組。
最後には幸運を祈る言葉と、例の《3301》という署名が添えられていた。
「……おお。今度は書籍暗号か」
思わず口元が緩んだ。
書籍暗号は、特定の本を鍵として使う暗号方式だ。
例えば、数字でページや行、単語の位置を指定し、そこから文字を拾っていくことで文章を復元する。
どの数字が何を指すのかは方式によって違うが、基本的には本の内容を利用するという点で共通している。
ただし、問題が1つ。
肝心の本が分からない。
使う本が違えば、同じ数字を指定しても取り出される文字はまったく変わってしまう。世の中に存在する本を片っ端から試すなんて、いくら僕でもやりたくなかった。
「いや、さすがに無理ゲーでしょ」
もっとも、出題者もそれは分かっているらしい。
文章には、使用する本についての情報を知りたければRedditへ行けと書かれていた。
つまり、次の問題はそこにある。
僕はURLをコピーし、新しいタブを開いた。
Redditは海外の掲示板サイトだ。技術系の話題を調べていると頻繁に見かけるので、僕も使い方は知っている。
リンク先は、その中に作られた専用のコミュニティだった。
ページが表示される。
「……うわ」
思わず声が漏れた。
何だこれは……妙な画像がいくつも並んでいるうえ、投稿されている英文も普通ではない。英単語らしきものは見えるのだが、文章として読もうとすると意味が通らなかった。
どうやら文字を置き換える暗号か、別の規則で並べ替えた文章らしい。
「なるほど。そう簡単には教えてくれないわけね」
僕はとりあえずページ全体を眺めてみた。
画像の配置、投稿された文章、数字の並び。
ひとまず気になるものを保存し、あとでまとめて調べることにする。
書籍暗号の数字も76組あることだし、今日は少し長くなりそうだ。
「透ー!」
そのとき、部屋の扉がノックされた。
「ご飯だよー!」
ああ、姉ちゃんの声だ。
「あと5分!」
「またパソコン?」
「今ちょうどいいところなんだって!」
「お母さんが冷めるって言ってるよ」
「分かった、すぐ行く!」
廊下を遠ざかっていく足音を聞きながら、僕は時計を確認した。
午後7時を少し回っている。
「……え、もうそんな時間?」
僕は必要なファイルを保存し、パソコンから離れた。
「……よし。一時休戦」
階段を降りると、生姜焼きの匂いがしてきた。
おお。 今日の夕飯は生姜焼きらしい。 これは嬉しい。
「お、やっと来たか」
父さんがこちらを見る。
「ごめん。ちょっと夢中になってて」
「またゲームか?」
「いや、今日は違うよ」
「珍しいな」
失礼な。
僕は椅子に座り、手を合わせた。
「いただきます」
「はい、召し上がれ」
「で、何してたんだ?」
父さんが聞いてきた。
「ん? ネットでクイズ解いてた」
「クイズ?」
「そう。なんか変な問題が出題されててさ。画像の中にメッセージが隠されてるんだよ」
「へえ。デニーズのランチョンマットの間違い探しゲームみたいなもんか?」
「まあ、そんな感じかな」
厳密には違う気もするが、説明としては悪くない。
父さんはバス会社で働いていて、パソコンの技術的な話にはそれほど詳しくない。それでも僕が何かを作ったり解いたりしていると、面白そうに話を聞いてくれる。
「それで、何か見つかったのか?」
「最初のは解けたんだけど、次は本を使うクイズが出てきた」
「本?」
今度は母さんが会話に入ってきた。
「本なら図書館へ行けばいいじゃない」
「いや、それが何の本か分からないんだよ」
「題名も?」
「うん」
「じゃあどうやって探すの?」
「それを今から調べるところなの」
「へえ。大変ねえ」
母さんは感心しているのか、呆れているのか微妙に分からない顔で頷いた。
隣では姉さんが笑いをこらえている。
「ねえ、それってさ」
「……何?」
「知らない人から問題出されて、透が一生懸命解いてるってことでしょ?」
「まあ、そうだけど」
「しかも、別にお金もらえるわけじゃないんでしょ?」
「そうだけど」
「何が楽しいの?」
「……姉ちゃんには分からないだろうね」
「うわ、言った!」
いや、本当に分からないと思う。
暗号って、解けるまでが面白いのだ。
知らない仕組みを調べたり、思いついた方法を試したりして、少しずつ正解へ近づいていく。最初は意味不明だった文字列が、ある瞬間にちゃんとした文章になる。
あの瞬間が気持ちいい。
「でもさ、透」
姉ちゃんが生姜焼きを食べながら言った。
「それ、問題作った人は何がしたいわけ?」
「……さあ?」
「分かんないの?」
「分かんない」
「ますます怪しくない?」
それについては、まあ、否定できない。
高度な知性を持つ人間を探している、という文章はあった。
でも、何のために探しているのかは書かれていなかった。
夕飯を終え、自室へ戻った。
机の上には、相変わらず真っ白な原稿用紙が置かれている。
僕はそれを裏返した。
うん、よし! これで見えなくなった!
実質無くなったようなもんだ。
問題解決である。
……いや、もちろん根本的な解決ではないことくらい分かっている。
でも、今は暗号の方が気になるのだ。
僕はパソコンの前に座り、Redditのページを開き直した。
画像と暗号文を確認しながら、手元のメモ帳へ気になる数字を書き留めていく。
書籍暗号は76組。
必要な本はまだ不明。
Redditにある画像と文章には、何らかの仕掛けがある可能性が高い。
とりあえず、そこまでは整理できた。
さて、どこから手をつけるべきだろう。
そう考えていたところで、チャットの通知音が鳴った。
「……ん?」
画面の端に、小さなウィンドウが表示されている。
送り主はアレックスだった。
イギリスに住む29歳の暗号研究者で、ネットではWALKERという名前を使っている。以前から何度か一緒に問題を解いたことがあり、僕にとっては気軽に話せる相手の1人だった。
もっとも、少々皮肉屋なところがある。 というか、僕が何か間違えると、嬉しそうに突っ込んでくる。
僕もやり返すので、お互いさまだけど。
届いたメッセージを開いた。
WALKER:NIL, have you seen this?」
ーーNIL、これ見たか?
その下には、1枚の画像へのリンクが添えられていた。
僕はクリックし、思わず笑った。
「……お?」
見覚えのある黒い背景に、白い英文、そして最後の数字、3301。
「アレックスも見つけたのか」
どうやら彼も同じ問題に興味を持ったらしい。
僕はすぐに返信した。
NIL:Yeah. I'm working on it right now.
――うん。今ちょうど解いてるところだよ。
すると、すぐに返事が届いた。
WALKER:How far did you get?
――どこまで進んだ?
NIL:Book code. I'm looking through the Reddit page now.
――書籍暗号まで。今はRedditのページを調べてる。
数秒後。
WALKER:You're already at the book code?
――もう書籍暗号まで進んだのか?
「……ふっふっふ」
思わず口元が緩んだ。
どうやらアレックスは、まだそこまで進んでいないらしい。
NIL:Want a hint?
――ヒントいる?
ちょっと得意げに送ってみた。
返事はすぐだった。
WALKER:No spoilers.
――ネタバレ禁止。
「……ちぇっ」
思わず笑ってしまった。
相変わらずだ。
アレックスは、自分で解ける問題なら絶対に答えを聞こうとしない。たとえ時間がかかっても、自力で考えたいらしい。
まあ、その気持ちはよく分かる。
僕だって、いきなり正解だけ教えられたら面白くない。
NIL:Okay, okay. Good luck.
――はいはい。頑張って。
そう返信すると、アレックスから短いメッセージが返ってきた。
WALKER:Don't get too comfortable. I'll catch up.
――あまり調子に乗るなよ。すぐ追いつくからな。
「おっと、それは楽しみ」
僕は椅子に座り直した。
アレックスも挑戦しているとなれば、ますます負けられない。
別に競争というわけではないけれど、知っている相手が同じ問題を解いていると、やっぱり少し燃える。
僕は改めてRedditのページを眺めた。
書籍暗号の鍵になる本はまだ分からないが、画像も文章も、出題者がわざわざ用意したものだ。意味のない情報ばかりということはないだろう。
「……さて、と」
まずは画像の方から調べてみよう。
そう思って、保存したファイルを解析用のフォルダへ移した。
そのとき、メモ帳の端に書いておいた数字が目に入った。
3301。
最初の画像にも、OutGuessで取り出した文章にも、繰り返し出てきた数字だ。
「そういえば、これって何なんだろ」
数字そのものに意味があるのか。
どこかの組織の番号なのか。
それとも、単に覚えやすい名前として使っているだけなのか。
今のところ、判断できる材料はない。
ただ、これだけ凝った問題を作る相手なのだから、何かしら理由があっても不思議ではなかった。
僕はメモ帳に《3301=?》と書き加える。
それから、もう一度Redditの画像へ目を戻した。
冬休みは残りわずか。古文の課題も終わっていないし、学校が始まればいつもどおり授業がある。
それでもせっかく面白い問題を見つけたのだから、今日くらいはもう少し付き合ってもいいだろう。
「さーて。今度は何が出てくるのかな」
僕は画像ファイルを開き、解析を始めた。




