49 / 49
第10話 ー第10話:暗号と望まぬクリスマスプレゼントー ②
しおりを挟む
カフェを出るころには、空はすっかり夜の色に変わっていた。
街のイルミネーションが、さっきよりもはっきりと輝いている。手袋をしていても、指先にじんと冷たさを感じる気温なのに、どこからか流れてくるクリスマスソングが、気持ちだけは温かくしてくれた。
スーパーで必要なものを買い揃え、二人で袋を分担して持ちながら駅へ向かう。
「いやー、意外といい買い物できたね」
「うん。これなら、みんな喜んでくれると思う」
「真白セレクトだしね」
そんな会話をしながら、駅前で恋と別れる。
「じゃ、また明日。クリスマス会準備ラストスパートだよ!」
「うん。気を付けて帰ってね、恋」
「真白もー」
恋が手を振って走り去っていく背中を見送りながら、真白は小さく息を吐いた。
白い息が、街灯の下でぼんやりと揺れる。
家に帰り、夕食を終えて自室に戻る。
机の上には、学校でも使っている自分専用のノートPC。その隣には、古くなりスペックは低いが信頼度だけは高い、オフライン専用の古いノートPCが眠っている。
(……念のため)
真白は、自分の端末を学校のグループウェアからログアウトし、保存しておいたトナカイ画像をUSBメモリにコピーする。
そのまま古いノートPCにUSBを差し込み、電源を入れた。
起動音が小さく響き、ゆっくりとOSが立ち上がっていく。ネットワーク設定は最初から無効になっていて、外とは一切つながっていない。
「何かを調べるときの安全な箱」として、普段から使っている。もう一台、封印している白狐だった頃から使ってきたノートPCもちらっと視界に映るが、そちらには手を出さない。
画面の中に、シンプルなデスクトップが現れる。
真白はマウスを動かし、USBメモリの中のファイルを開いた。
フォルダの中には、一枚だけPNGファイルが入っている。さっき見た「トナカイ画像入り資料」の画像だ。
ファイルサイズ。解像度。色深度。
メタデータをざっと確認するだけでも、「ちょっとした案内用画像」にしては、不自然に高解像度で、容量もやや大きい。
(やっぱり……気のせい、ではなかった、かも)
真白は、深く息を吸う。
冬の夜の冷たい空気とは違う、緊張のせいで胸の奥がきゅっと締め付けられる。
それでも、目の前の画面からは目を逸らさなかった。
「……少しだけ、見てみよう」
誰に聞かせるでもなく、呟く。
マウスカーソルが、解析用に用意したツールのアイコンへと滑っていく。
解析用としては一般的なツール。画像の最下位ビットを抜き出すための小さなプログラム。白狐だった頃は自作のツールを使用していたが、高校生になってからは、一般的なツールを使用している。
クリックしようとした指が、一瞬だけ止まる。
脳裏に、Kの挑発文がよぎった。
『隠れているのが楽しいかい?』
(……楽しくなんか、ない)
白狐の頃使っていたツールを使う自信は今はない。一方で、こうして解析ツールを起動しようとしている自分がいる。
それでも、昔と違うのは――ひとりで抱え込むつもりは、最初からないということだ。
「もし変なのが出てきたら……恋に、ちゃんと言う」
小さく言葉にして、自分に約束する。
そして、マウスの左ボタンを、静かに押し込んだ。
暗く静かな部屋の中で、古いノートPCの画面だけが、冬の夜に浮かぶ灯りのように、真白の顔を照らしていた。
画面上に、小さなウィンドウがぽん、と現れた。
簡素な灰色の枠に、最低限のボタンとテキストボックス。
解析の機能を重視しているため、飾り気がない。でも、そんなところが信用できるので使っている。
「入力ファイル:」の横にある「参照」ボタンを押し、USBメモリの中のトナカイ画像を指定する。
その下には「解析モード:LSB(最下位ビット)」「出力形式:RAW/テキスト」のラジオボタン。
(……まずは、RAWで)
真白は慎重に「RAW」の方を選び、最後に小さな「実行」ボタンをクリックした。
一瞬だけ、画面が固まる。
古いノートPCのファンが、ぶお、と少しだけ音を立てた。
次の瞬間、ウィンドウの下半分に、ずらりと数字の羅列が現れる。
「01001000 01100101 01101100 01101100 01101111 00101100 ……」
等間隔に並ぶ0と1。
バイトごとにスペースで区切られた、その並びを見た瞬間、真白の胸の緊張が、少しだけ別の方向へ滑っていく。
(ちゃんと、意味のあるパターンになってる……)
ランダムなら、本当にランダムなはずだ。
ところどころで繰り返されるビット、同じ長さのまとまり。
これは明らかに、人の手で組まれた「何か」だ。
「……テキスト変換」
真白は自分にそう言い聞かせるように呟き、ツールの「出力形式」を「テキスト」に切り替える。
内部的には、さきほどの0と1の並びを8ビットごとにまとめ、ASCIIコードとして解釈するだけのシンプルな処理だ。
それでも、こういうときは必ずオフライン環境で、というのが昔からの自分のルールだった。
再び「実行」ボタンを押す。
数秒の処理のあと、画面いっぱいに文字列が流れ出した。
最初は、意味のない記号と文字のミックスに見えた。
英数字、記号、日本語が入り混じった、圧縮前の文章のような、暗号化されたデータのような……。
「……圧縮、かな。もしくは単純置換」
思わず、口の中で分析が漏れる。
ぱっと見で読める文章には見えない。それでも、真白の目は画面の端から端までを素早く走り、わずかな規則を探した。
繰り返し現れる記号。
文頭らしき位置にだけ現れる特定の文字。
「==」や「/」「+」といった、どこかで見たことのある並び。
(Base64……? いや、似てるけど、完全一致じゃない)
一般的なエンコードに似せながら、どこかで少しだけズラしている。
それだけで、既存のツールでは簡単に読めなくなる。
「めんどくさいこと、するなぁ……」
自嘲混じりの声が、静かな部屋に溶けていった。
一度、椅子の背にもたれかかる。
背中に当たる冷たい椅子の感触で、少しだけ意識が現実へ引き戻された。
(ここから先は……“白狐”の領域、だよね)
高校生としての自分。
『白狐』=ホワイトハッカーとしての自分。
その境界線を踏み越えるかどうかを、いつも以上に強く意識させられる。
(でも、これを作った人は――“白狐”に向けて、これを仕込んできた)
胸の奥が、じわりと熱くなった。
「この街に隠れた狐へ」
構成シートに記されていたフレーズが、頭の中で輪郭を持ち始める。まだ実際には画面に現れていないはずの言葉なのに、予感のように。
「……やるしか、ない」
真白は小さく呟き、再びキーボードに指を置いた。
まずは、文字列の頻度を調べる。
ツールに組み込んでおいた簡易解析機能を呼び出し、文字ごとの出現回数を一覧にする。
画面の右側に、小さな棒グラフが現れた。
(“A”と“B”がやたら多い……。“=”も)
英字と記号の比率。
それらの並びが持つパターン。
Base64で使われる文字セットとかなり近いが、いくつかの記号が別の文字に置き換えられているように見える。
(この置き換えパターン……既存ライブラリにそのまま投げても、エラーになるだけ、か)
高校生になってからは、なるべく既存のツールを優先するようにしていた。
「自分で何でも作れるということは、他人からは脅威に見える」という事実が、思った以上に自分の立場を危うくすると知ったから。
けれど今回は、その「既存ツール」では、たぶん辿り着けない。
(“白狐”を狙ったってことは……相手は、白狐の手法まで予測している可能性がある)
そう考えると、背筋がひやりとした。
過去に白狐が解決した問題。
自分の書いたツールのログ。
過去に出した痕跡。
それらを辿られたのだとしたら――。
(今は考えない。少なくとも、今このPCはネットから完全に切り離されてる)
深呼吸を一つ。
息を吸い込んで、数秒保ち、ゆっくり吐き出す。
「解析方針、決めよ」
自分に言い聞かせるように言葉を口にし、真白はテキストをコピーして、別のウィンドウに貼り付けた。
文字数、位置、行ごとの長さ。
頭の中で、幾つかの仮説が並ぶ。
(1)ほぼBase64と同じだが、文字テーブルがシャッフルされている。
(2)“+”“/”“=”あたりが別の記号に置き換えられているだけ。
(3)さらに、その上から簡単なシーザー暗号みたいなものがかかっている。
「……まずは(2)かな」
真白は、頻度の高い文字と、Base64で頻度の高い文字とを対応づけていく。
例えば、本来の“=”がほとんど現れない代わりに、“.”が妙に多い。
“+”の代わりに“*”が使われている可能性。
“/”の代わりに“_”かもしれない。
推測を一つずつ試し、ツールの簡易デコーダに候補テーブルを登録していく。
エンターキーを押すと、そのたびに「デコード失敗:不正なパディング」「デコード失敗:無効な文字」というエラーが表示された。
「……そんな簡単には、いかないか」
それでも、真白はキーボードから手を離さなかった。
もともと、こういう「パズル」を解くのは嫌いではない。
むしろ、厄介であればあるほど、燃えてしまう性格だ。
それが、自分をこの世界に引きずり込んだ弱点だということも、わかっているのに。
(今は、周りをちゃんと見て、“守るための解析”。そこからは絶対に外れない)
自分にそう線を引きながら、試行錯誤を続ける。
何パターン目かのテーブルを書き換えたときだった。
「デコード成功:出力サイズ 128 bytes」
ウィンドウの下部に、見慣れないメッセージが表示された。
「……っ!」
思わず、身を乗り出す。
隣のテキストエリアに、意味のある文字列が現れていた。
『VGhpcyBtZXNzYWdlIGlzIG5vdCB5ZXQgZm9yIHRoZW0uCi0tLS0tLS0tLS0tLS0tLS0tLQo=』
(今度は、正真正銘のBase64……かな)
英数字と“=”だけで構成された、それらしい文字列。
真白は、指先の震えを抑えながら、それをコピーして別のデコードツールに貼り付けた。
今度は、Base64デコーダ。
オフラインで動く、シンプルなライブラリだ。
エンターキーを押す。
一瞬の処理のあと、画面に英語の文章が浮かび上がった。
『This message is not yet for them.
-----------』
「……“まだ彼らに向けたメッセージじゃない”、か」
英文を日本語に訳しながら、眉をひそめる。
(彼ら、って誰だろ……)
クラスメート? 学校? 行政? それとも――。
続きがあるはずだと思ったが、その下には、ハイフンの羅列以外、何もなかった。
「ここまでが前置き、ってこと?」
真白は、画面をスクロールする。
最初のデータの中には、このBase64らしきブロックがいくつか埋め込まれていた。
一つ一つを抽出し、それぞれを同じ手順でデコードしていく。
その作業は、もはや機械的なものだった。
けれど、表示された文章を目で追うたびに、胸の鼓動は確実に速くなっていく。
『This is a whisper to the fox hidden in this city.』
(この街に隠れた狐への、ささやき)
『Do you enjoy pretending to be ordinary?』
(普通のふりをしているのは、楽しいかい?)
『How long will you keep your tail tucked in?』
(いつまで尻尾を隠しているつもりだい?)
一文一文が、喉に引っかかるように重かった。
「……隠れた狐」
その単語を口にした瞬間、自分の中のどこかがきしんだ。
(この街に隠れた狐。普通のふり。尻尾を隠す――)
変わっている文章ではあるが、単なる悪戯や冗談として捉えられなくもない。
けれど、真白にとっては、あまりにも意味が重すぎる。
白狐。
かつて、そう名乗っていた自分自身。
「……これ、あたしに向けてる、よね」
誰に聞かせるでもなく、呟きがこぼれた。
街。
狐。
隠れる。
偶然と言い張るには、あまりにも的確すぎる。
(でも、“あたしだけ”じゃない、かもしれない)
この街には、自分の知らない「誰か」――似たようなことをしていた人間が、他にもいる可能性だってある。
インターネットの世界で、狐のアイコンを使っていた人なんて、いくらでもいるだろう。
そうやって、必死に自分以外の可能性を探す。
それでも、胸の奥の冷たい感覚は消えてくれない。
画面のスクロールバーは、まだ下に余白を残している。
真白は、最後のブロックにカーソルを合わせた。
『Do you plan to keep running away even when the whole city is about to be on fire?』
(街全体が燃え上がろうとしていても、まだ逃げ続けるつもりかい?)
その一文を読んだ瞬間、肺の中の空気が一気に抜けた。
「……っ」
思わず、口元を手で覆う。
(街全体が……燃え上がる?)
比喩だ、とすぐに頭では理解する。
現実に街が炎に包まれるわけじゃない。
これは、サイバー攻撃の「規模」を示す比喩表現だ。
それでも、真白の脳裏には、夜の街の光景が映し出されていた。
学校。
駅前の商店街。
さっき恋とココアを飲んだカフェ。
自分の家。
家族。
恋の家。
そこに流れる電気。
交通を制御するシステム。
公共のネットワーク。
病院の情報システム。
(街全体に仕掛けるつもり――って、こと?)
目の前の文章が、急に現実味を帯びてくる。
単なる挑発なら、もっと個人的な言葉を選ぶはずだ。
「お前を見ている」とか「逃げても無駄だ」とか。
けれどこのメッセージは、「狐」を呼びかけの対象にしながらも、その視線の先に「街全体」を置いている。
(あたしを巻き込んで、“街全体”に何かするつもり……?)
背中を、冷たい汗がつうっと流れた。
街のイルミネーションが、さっきよりもはっきりと輝いている。手袋をしていても、指先にじんと冷たさを感じる気温なのに、どこからか流れてくるクリスマスソングが、気持ちだけは温かくしてくれた。
スーパーで必要なものを買い揃え、二人で袋を分担して持ちながら駅へ向かう。
「いやー、意外といい買い物できたね」
「うん。これなら、みんな喜んでくれると思う」
「真白セレクトだしね」
そんな会話をしながら、駅前で恋と別れる。
「じゃ、また明日。クリスマス会準備ラストスパートだよ!」
「うん。気を付けて帰ってね、恋」
「真白もー」
恋が手を振って走り去っていく背中を見送りながら、真白は小さく息を吐いた。
白い息が、街灯の下でぼんやりと揺れる。
家に帰り、夕食を終えて自室に戻る。
机の上には、学校でも使っている自分専用のノートPC。その隣には、古くなりスペックは低いが信頼度だけは高い、オフライン専用の古いノートPCが眠っている。
(……念のため)
真白は、自分の端末を学校のグループウェアからログアウトし、保存しておいたトナカイ画像をUSBメモリにコピーする。
そのまま古いノートPCにUSBを差し込み、電源を入れた。
起動音が小さく響き、ゆっくりとOSが立ち上がっていく。ネットワーク設定は最初から無効になっていて、外とは一切つながっていない。
「何かを調べるときの安全な箱」として、普段から使っている。もう一台、封印している白狐だった頃から使ってきたノートPCもちらっと視界に映るが、そちらには手を出さない。
画面の中に、シンプルなデスクトップが現れる。
真白はマウスを動かし、USBメモリの中のファイルを開いた。
フォルダの中には、一枚だけPNGファイルが入っている。さっき見た「トナカイ画像入り資料」の画像だ。
ファイルサイズ。解像度。色深度。
メタデータをざっと確認するだけでも、「ちょっとした案内用画像」にしては、不自然に高解像度で、容量もやや大きい。
(やっぱり……気のせい、ではなかった、かも)
真白は、深く息を吸う。
冬の夜の冷たい空気とは違う、緊張のせいで胸の奥がきゅっと締め付けられる。
それでも、目の前の画面からは目を逸らさなかった。
「……少しだけ、見てみよう」
誰に聞かせるでもなく、呟く。
マウスカーソルが、解析用に用意したツールのアイコンへと滑っていく。
解析用としては一般的なツール。画像の最下位ビットを抜き出すための小さなプログラム。白狐だった頃は自作のツールを使用していたが、高校生になってからは、一般的なツールを使用している。
クリックしようとした指が、一瞬だけ止まる。
脳裏に、Kの挑発文がよぎった。
『隠れているのが楽しいかい?』
(……楽しくなんか、ない)
白狐の頃使っていたツールを使う自信は今はない。一方で、こうして解析ツールを起動しようとしている自分がいる。
それでも、昔と違うのは――ひとりで抱え込むつもりは、最初からないということだ。
「もし変なのが出てきたら……恋に、ちゃんと言う」
小さく言葉にして、自分に約束する。
そして、マウスの左ボタンを、静かに押し込んだ。
暗く静かな部屋の中で、古いノートPCの画面だけが、冬の夜に浮かぶ灯りのように、真白の顔を照らしていた。
画面上に、小さなウィンドウがぽん、と現れた。
簡素な灰色の枠に、最低限のボタンとテキストボックス。
解析の機能を重視しているため、飾り気がない。でも、そんなところが信用できるので使っている。
「入力ファイル:」の横にある「参照」ボタンを押し、USBメモリの中のトナカイ画像を指定する。
その下には「解析モード:LSB(最下位ビット)」「出力形式:RAW/テキスト」のラジオボタン。
(……まずは、RAWで)
真白は慎重に「RAW」の方を選び、最後に小さな「実行」ボタンをクリックした。
一瞬だけ、画面が固まる。
古いノートPCのファンが、ぶお、と少しだけ音を立てた。
次の瞬間、ウィンドウの下半分に、ずらりと数字の羅列が現れる。
「01001000 01100101 01101100 01101100 01101111 00101100 ……」
等間隔に並ぶ0と1。
バイトごとにスペースで区切られた、その並びを見た瞬間、真白の胸の緊張が、少しだけ別の方向へ滑っていく。
(ちゃんと、意味のあるパターンになってる……)
ランダムなら、本当にランダムなはずだ。
ところどころで繰り返されるビット、同じ長さのまとまり。
これは明らかに、人の手で組まれた「何か」だ。
「……テキスト変換」
真白は自分にそう言い聞かせるように呟き、ツールの「出力形式」を「テキスト」に切り替える。
内部的には、さきほどの0と1の並びを8ビットごとにまとめ、ASCIIコードとして解釈するだけのシンプルな処理だ。
それでも、こういうときは必ずオフライン環境で、というのが昔からの自分のルールだった。
再び「実行」ボタンを押す。
数秒の処理のあと、画面いっぱいに文字列が流れ出した。
最初は、意味のない記号と文字のミックスに見えた。
英数字、記号、日本語が入り混じった、圧縮前の文章のような、暗号化されたデータのような……。
「……圧縮、かな。もしくは単純置換」
思わず、口の中で分析が漏れる。
ぱっと見で読める文章には見えない。それでも、真白の目は画面の端から端までを素早く走り、わずかな規則を探した。
繰り返し現れる記号。
文頭らしき位置にだけ現れる特定の文字。
「==」や「/」「+」といった、どこかで見たことのある並び。
(Base64……? いや、似てるけど、完全一致じゃない)
一般的なエンコードに似せながら、どこかで少しだけズラしている。
それだけで、既存のツールでは簡単に読めなくなる。
「めんどくさいこと、するなぁ……」
自嘲混じりの声が、静かな部屋に溶けていった。
一度、椅子の背にもたれかかる。
背中に当たる冷たい椅子の感触で、少しだけ意識が現実へ引き戻された。
(ここから先は……“白狐”の領域、だよね)
高校生としての自分。
『白狐』=ホワイトハッカーとしての自分。
その境界線を踏み越えるかどうかを、いつも以上に強く意識させられる。
(でも、これを作った人は――“白狐”に向けて、これを仕込んできた)
胸の奥が、じわりと熱くなった。
「この街に隠れた狐へ」
構成シートに記されていたフレーズが、頭の中で輪郭を持ち始める。まだ実際には画面に現れていないはずの言葉なのに、予感のように。
「……やるしか、ない」
真白は小さく呟き、再びキーボードに指を置いた。
まずは、文字列の頻度を調べる。
ツールに組み込んでおいた簡易解析機能を呼び出し、文字ごとの出現回数を一覧にする。
画面の右側に、小さな棒グラフが現れた。
(“A”と“B”がやたら多い……。“=”も)
英字と記号の比率。
それらの並びが持つパターン。
Base64で使われる文字セットとかなり近いが、いくつかの記号が別の文字に置き換えられているように見える。
(この置き換えパターン……既存ライブラリにそのまま投げても、エラーになるだけ、か)
高校生になってからは、なるべく既存のツールを優先するようにしていた。
「自分で何でも作れるということは、他人からは脅威に見える」という事実が、思った以上に自分の立場を危うくすると知ったから。
けれど今回は、その「既存ツール」では、たぶん辿り着けない。
(“白狐”を狙ったってことは……相手は、白狐の手法まで予測している可能性がある)
そう考えると、背筋がひやりとした。
過去に白狐が解決した問題。
自分の書いたツールのログ。
過去に出した痕跡。
それらを辿られたのだとしたら――。
(今は考えない。少なくとも、今このPCはネットから完全に切り離されてる)
深呼吸を一つ。
息を吸い込んで、数秒保ち、ゆっくり吐き出す。
「解析方針、決めよ」
自分に言い聞かせるように言葉を口にし、真白はテキストをコピーして、別のウィンドウに貼り付けた。
文字数、位置、行ごとの長さ。
頭の中で、幾つかの仮説が並ぶ。
(1)ほぼBase64と同じだが、文字テーブルがシャッフルされている。
(2)“+”“/”“=”あたりが別の記号に置き換えられているだけ。
(3)さらに、その上から簡単なシーザー暗号みたいなものがかかっている。
「……まずは(2)かな」
真白は、頻度の高い文字と、Base64で頻度の高い文字とを対応づけていく。
例えば、本来の“=”がほとんど現れない代わりに、“.”が妙に多い。
“+”の代わりに“*”が使われている可能性。
“/”の代わりに“_”かもしれない。
推測を一つずつ試し、ツールの簡易デコーダに候補テーブルを登録していく。
エンターキーを押すと、そのたびに「デコード失敗:不正なパディング」「デコード失敗:無効な文字」というエラーが表示された。
「……そんな簡単には、いかないか」
それでも、真白はキーボードから手を離さなかった。
もともと、こういう「パズル」を解くのは嫌いではない。
むしろ、厄介であればあるほど、燃えてしまう性格だ。
それが、自分をこの世界に引きずり込んだ弱点だということも、わかっているのに。
(今は、周りをちゃんと見て、“守るための解析”。そこからは絶対に外れない)
自分にそう線を引きながら、試行錯誤を続ける。
何パターン目かのテーブルを書き換えたときだった。
「デコード成功:出力サイズ 128 bytes」
ウィンドウの下部に、見慣れないメッセージが表示された。
「……っ!」
思わず、身を乗り出す。
隣のテキストエリアに、意味のある文字列が現れていた。
『VGhpcyBtZXNzYWdlIGlzIG5vdCB5ZXQgZm9yIHRoZW0uCi0tLS0tLS0tLS0tLS0tLS0tLQo=』
(今度は、正真正銘のBase64……かな)
英数字と“=”だけで構成された、それらしい文字列。
真白は、指先の震えを抑えながら、それをコピーして別のデコードツールに貼り付けた。
今度は、Base64デコーダ。
オフラインで動く、シンプルなライブラリだ。
エンターキーを押す。
一瞬の処理のあと、画面に英語の文章が浮かび上がった。
『This message is not yet for them.
-----------』
「……“まだ彼らに向けたメッセージじゃない”、か」
英文を日本語に訳しながら、眉をひそめる。
(彼ら、って誰だろ……)
クラスメート? 学校? 行政? それとも――。
続きがあるはずだと思ったが、その下には、ハイフンの羅列以外、何もなかった。
「ここまでが前置き、ってこと?」
真白は、画面をスクロールする。
最初のデータの中には、このBase64らしきブロックがいくつか埋め込まれていた。
一つ一つを抽出し、それぞれを同じ手順でデコードしていく。
その作業は、もはや機械的なものだった。
けれど、表示された文章を目で追うたびに、胸の鼓動は確実に速くなっていく。
『This is a whisper to the fox hidden in this city.』
(この街に隠れた狐への、ささやき)
『Do you enjoy pretending to be ordinary?』
(普通のふりをしているのは、楽しいかい?)
『How long will you keep your tail tucked in?』
(いつまで尻尾を隠しているつもりだい?)
一文一文が、喉に引っかかるように重かった。
「……隠れた狐」
その単語を口にした瞬間、自分の中のどこかがきしんだ。
(この街に隠れた狐。普通のふり。尻尾を隠す――)
変わっている文章ではあるが、単なる悪戯や冗談として捉えられなくもない。
けれど、真白にとっては、あまりにも意味が重すぎる。
白狐。
かつて、そう名乗っていた自分自身。
「……これ、あたしに向けてる、よね」
誰に聞かせるでもなく、呟きがこぼれた。
街。
狐。
隠れる。
偶然と言い張るには、あまりにも的確すぎる。
(でも、“あたしだけ”じゃない、かもしれない)
この街には、自分の知らない「誰か」――似たようなことをしていた人間が、他にもいる可能性だってある。
インターネットの世界で、狐のアイコンを使っていた人なんて、いくらでもいるだろう。
そうやって、必死に自分以外の可能性を探す。
それでも、胸の奥の冷たい感覚は消えてくれない。
画面のスクロールバーは、まだ下に余白を残している。
真白は、最後のブロックにカーソルを合わせた。
『Do you plan to keep running away even when the whole city is about to be on fire?』
(街全体が燃え上がろうとしていても、まだ逃げ続けるつもりかい?)
その一文を読んだ瞬間、肺の中の空気が一気に抜けた。
「……っ」
思わず、口元を手で覆う。
(街全体が……燃え上がる?)
比喩だ、とすぐに頭では理解する。
現実に街が炎に包まれるわけじゃない。
これは、サイバー攻撃の「規模」を示す比喩表現だ。
それでも、真白の脳裏には、夜の街の光景が映し出されていた。
学校。
駅前の商店街。
さっき恋とココアを飲んだカフェ。
自分の家。
家族。
恋の家。
そこに流れる電気。
交通を制御するシステム。
公共のネットワーク。
病院の情報システム。
(街全体に仕掛けるつもり――って、こと?)
目の前の文章が、急に現実味を帯びてくる。
単なる挑発なら、もっと個人的な言葉を選ぶはずだ。
「お前を見ている」とか「逃げても無駄だ」とか。
けれどこのメッセージは、「狐」を呼びかけの対象にしながらも、その視線の先に「街全体」を置いている。
(あたしを巻き込んで、“街全体”に何かするつもり……?)
背中を、冷たい汗がつうっと流れた。
0
この作品の感想を投稿する
あなたにおすすめの小説
友達の妹が、入浴してる。
つきのはい
恋愛
「交換してみない?」
冴えない高校生の藤堂夏弥は、親友のオシャレでモテまくり同級生、鈴川洋平にバカげた話を持ちかけられる。
それは、お互い現在同居中の妹達、藤堂秋乃と鈴川美咲を交換して生活しようというものだった。
鈴川美咲は、美男子の洋平に勝るとも劣らない美少女なのだけれど、男子に嫌悪感を示し、夏弥とも形式的な会話しかしなかった。
冴えない男子と冷めがちな女子の距離感が、二人暮らしのなかで徐々に変わっていく。
そんなラブコメディです。
どうしよう私、弟にお腹を大きくさせられちゃった!~弟大好きお姉ちゃんの秘密の悩み~
さいとう みさき
恋愛
「ま、まさか!?」
あたし三鷹優美(みたかゆうみ)高校一年生。
弟の晴仁(はると)が大好きな普通のお姉ちゃん。
弟とは凄く仲が良いの!
それはそれはものすごく‥‥‥
「あん、晴仁いきなりそんなのお口に入らないよぉ~♡」
そんな関係のあたしたち。
でもある日トイレであたしはアレが来そうなのになかなか来ないのも気にもせずスカートのファスナーを上げると‥‥‥
「うそっ! お腹が出て来てる!?」
お姉ちゃんの秘密の悩みです。
百合ランジェリーカフェにようこそ!
楠富 つかさ
青春
主人公、下条藍はバイトを探すちょっと胸が大きい普通の女子大生。ある日、同じサークルの先輩からバイト先を紹介してもらうのだが、そこは男子禁制のカフェ併設ランジェリーショップで!?
ちょっとハレンチなお仕事カフェライフ、始まります!!
※この物語はフィクションであり実在の人物・団体・法律とは一切関係ありません。
表紙画像はAIイラストです。下着が生成できないのでビキニで代用しています。
わたしの下着 母の私をBBA~と呼ぶことのある息子がまさか...
MisakiNonagase
青春
39才の母・真知子は息子が私の下着を持ち出していることに気づいた。
ネットで同様の事象がないか調べると、案外多いようだ。
さて、真知子は息子を問い詰める? それとも気づかないふりを続けてあげるか?
そのほかに外伝も綴りました。
ママと中学生の僕
キムラエス
大衆娯楽
「ママと僕」は、中学生編、高校生編、大学生編の3部作で、本編は中学生編になります。ママは子供の時に両親を事故で亡くしており、結婚後に夫を病気で失い、身内として残された僕に精神的に依存をするようになる。幼少期の「僕」はそのママの依存が嬉しく、素敵なママに甘える閉鎖的な生活を当たり前のことと考える。成長し、性に目覚め始めた中学生の「僕」は自分の性もママとの日常の中で処理すべきものと疑わず、ママも戸惑いながらもママに甘える「僕」に満足する。ママも僕もそうした行為が少なからず社会規範に反していることは理解しているが、ママとの甘美な繋がりは解消できずに戸惑いながらも続く「ママと中学生の僕」の営みを描いてみました。
ヤンデレ美少女転校生と共に体育倉庫に閉じ込められ、大問題になりましたが『結婚しています!』で乗り切った嘘のような本当の話
桜井正宗
青春
――結婚しています!
それは二人だけの秘密。
高校二年の遙と遥は結婚した。
近年法律が変わり、高校生(十六歳)からでも結婚できるようになっていた。だから、問題はなかった。
キッカケは、体育倉庫に閉じ込められた事件から始まった。校長先生に問い詰められ、とっさに誤魔化した。二人は退学の危機を乗り越える為に本当に結婚することにした。
ワケありヤンデレ美少女転校生の『小桜 遥』と”新婚生活”を開始する――。
*結婚要素あり
*ヤンデレ要素あり
ユーザ登録のメリット
- 毎日¥0対象作品が毎日1話無料!
- お気に入り登録で最新話を見逃さない!
- しおり機能で小説の続きが読みやすい!
1~3分で完了!
無料でユーザ登録する
すでにユーザの方はログイン
閉じる