第96話 ゲームクリア
~~~~~~~~~~~~~~~~~~~~~~~
慎吾のスピリチュアル事件簿 シーズン2
「アマデウスの謎」
~~~~~~~~~~~~~~~~~~~~~~~
前回までのあらすじ
2008年。
リナ、そして父親の魁斗が、謎の組織に狙われた。
イギリス諜報機関に属するヒロは、リナを守るために命を落とす。さらに、リナの父親・魁斗も遺体で発見された。
2012年、女子大生となったリナの携帯に「妹を誘拐した」という電話が届く。霊能力を持つ1つ下の後輩、慎吾と共に誘拐犯を追うリナ。
2人は黒幕が警視庁捜査官の藤岡である事を突きとめるが、彼等のアジトで捕まってしまう。藤岡はリナに、ウィーン大学のサーバに侵入すれば、家族を解放するともちかけた。
追い込まれたリナだったが、ハドリアンズ・ウォールをくぐり抜けたメールの解読に成功。そして・・・
~~~~~~~~~~~~~~~~~~~~~~~
第96話 ゲームクリア
~~~~~~~~~~~~~~~~~~~~~~~
(藤岡が提示した、新しいタイムリミット・・・12月20日24時)
2012年12月20日(木)、22時42分。目黒基地内。
藤岡「・・・ ・・・」
とある一室で、2時間ほどの仮眠をとっていた藤岡。ゆっくり起き出すと、すぐにパソコンの画面をチェックした。
藤岡「・・・ ・・・」
必死でリナがキーボードをうつ、リアルタイムの動画が映っている。チラリと時計を確認した。
(藤岡「残り80分・・・ 羽鳥教授の娘といえど・・・
ゲームクリアは、さすがに無理か・・・」)
画面の1つをクリックして、別のウィンドウを開く。
藤岡「・・・ ・・・」
そこには、ベッドの上に横たわる慎吾の姿がある。
(藤岡「・・・ 心電図は・・・ 完全に反応無し・・・」)
一時期、微妙に慎吾の心臓に動きは見えたが・・・
今は、完全に止まったままだ。
(藤岡「ミスターボンド・・・ そのまま死ぬには・・・
惜しい男だが・・・」)
再びリナの画面を見つめる。
(藤岡「結局あの男・・・ 出てくる気配は無かった・・・」)
しばらく画面を見つめていた藤岡。やがて携帯を取りだし、どこかへ電話をかけた。
藤岡「今から3時間後、そちらに出向く。用意をしておけ」
携帯を切ると、小さな溜息をついた。
・・・ ・・・。
24時ちょうど。
リナ「・・・ ・・・」
ちょうど日付がかわる瞬間を、パソコンの時計で確認したリナ。
リナ「・・・ ・・・」
パソコンから手を離し、その時を待っている。
やがて、部屋の中にアナウンス音声が鳴り響いた。
藤岡「さて・・・ 羽鳥リナ。ゲームの時は終わった。
見た所、大学のサーバに侵入は出来なかったようだが?」
リナ「出来たわ!」
藤岡の声かけに対し、即座に大声で反応した。
藤岡「そちらのPCは、こちらでも管理できる。
嘘をついてはいけないな」
リナ「嘘はついていない。私は大学のサーバに侵入した。
履歴が残らないようにしてるだけ」
部屋の角にあるスピーカーに向け、リナは会話を続ける。
藤岡「ふふふ。単なる言い逃れにしか聞こえないな。
証明できない事を議論するのは・・・
時間の無駄だと言ったろう?」
リナ「証明してみせる! あんたの目の前で!!」
藤岡「・・・ 今、そのPCで侵入してみせろ」
リナ「言ったでしょ! あんたの目の前で侵入してみせると。
もし出来なかったら、その場で私も妹も殺していいわ!」
藤岡「悪いが信じられないな。残念だが、羽鳥雛子は・・・」
リナ「待って!! ここのサーバに、あるプログラムを置いた。
もし、あんたがこのPCを管理してるなら・・・
そのプログラムの存在を知らないのはおかしいでしょ?」
藤岡「・・・ ・・・」
藤岡は無言で、サーバ内部にチェックを入れる。
リナ「最も小さいパーティーション・・・
そこに、円周率を表示させるプログラムを置いた・・・
ファイルネームは、【pai.exe】」
藤岡「・・・ ・・・」
リナの言葉を受け、藤岡はサーバ内のある領域をチェックした。そして【pai.exe】を見つける。
藤岡「・・・ ・・・」
リナのPCは管理していたはずだが・・・ 彼女が勝手にサーバにプログラムを置いた形跡はない。
リナ「あったでしょ!?」
しばらく沈黙を保っていた藤岡。やがて口を開いた。
藤岡「確かに・・・君の言う通りのプログラムはある」
だが、それを実行する事は無い。
(藤岡「いったいどうやって・・・?」)
リナ「どうやって気づかれずにプログラムを置いたか・・・
わからないでしょ?
同じ方法で大学のサーバに侵入してみせる!」
藤岡「・・・ ・・・ 強気だな」
リナ「アルゴリズムを見つけた! ハドリアンズ・ウォールを・・・
あんたの目の前で突破してみせる!!」
藤岡「・・・ ・・・」
珍しくリナが噛みついてくる事を不審に思う藤岡。
(藤岡「どうやら裏に何かあるらしいな・・・」)
想定外の状況であったが、リナの誘いにのる決意をした。
藤岡「いいだろう・・・。
口にした言葉・・・ 忘れるなよ・・・」
ブーーー!!
直後、部屋の中にブザー音が鳴り響いた。
リナ「・・・ ・・・」
監禁されている部屋の扉が開くと・・・覆面をつけた男が1人、銃を手にしたまま入ってきた。
リナは無言で席を立ち・・・ 男に腕を掴まれた。
リナ「1人で歩けるわよ!!」
腕を振り払おうとするが・・・男の太い腕は、リナを掴んで放すことはない。反対側の腕に、ずっと格闘していたノートパソコンを持ったまま・・・ リナは部屋の外へ連れ出される。
リナ「・・・ ・・・」
そして24時間前にいた部屋へと、連れて行かれた。
・・・ ・・・。
21日(金)、午前0時7分。
リナ「・・・ ・・・」
24時間ぶりに・・・ 彼氏を殺した男と対面したリナ。
藤岡「久しぶりだな。羽鳥リナ。余計な会話は必要無い。
俺の目の前で・・・ 大学のサーバに侵入してみせろ」
そういうと藤岡は、リナの目の前に置かれたノートパソコンを開いた。
リナ「・・・ ・・・」
ゴクリと息をのむリナ。
藤岡「どうした・・・? やはり嘘か?」
リナ「今から・・・」
ゆっくりとリナが語り始める。
リナ「今から30分以内に・・・
あんたの目の前で、ハドリアンズ・ウォールを突破する」
藤岡「はっはっは。頼もしい言葉だ。
ここ4年間、誰一人越えた事のないウォールを・・・
わずか30分で破るというのか?」
リナ「突破したら・・・ 私の家族・・・ 全員の無事を約束して」
藤岡「最初から約束した通り。このゲームをクリアすれば・・・
24時間などとケチな事は言わない。
君の家族には・・・一切手を出さない。約束しよう」
リナ「・・・ 絶対・・・ 絶対よ・・・」
藤岡「わかってるさ。いいのか? あと29分しかないぞ?」
リナ「ハドリアンズ・ウォールは・・・
それをインストールしているサーバ同士、素数の交換が行われる」
言いながら、リナはキーボードを打ち始めた。
藤岡「それぐらいの解析はこちらでも出来ている。肝心なのは・・・
巨大な数から、どうやって素因数を特定するかだ」
リナ「双子素数・・・」
藤岡の顔を覗き込む。
藤岡「もちろん知っている。ハーディ・リトルウッド予想も知っている。
続きを話せ」
リナ「ネットの公開キーは、大きな2つの素数の合成数。
その桁数は300~400以上と巨大、かつウォールにより・・・
3時間ごとに公開キーが変わってしまう」
藤岡「それも周知」
リナ「そこで・・・ 巨大な合成数から素因数を特定する・・・
アルゴリズムを探したけど、私にはわからなかった・・・」
藤岡「ほう・・・ それでも、突破できる?」
リナ「そこで、私は発想を変えた。巨大な合成数の集合から・・・
何かが見えないかと」
藤岡「続けろ」
リナ「大学のサーバの公開キーは、過去履歴の中に全て残っていた。
そこで、両大学がウォールをインストールしてから・・・
3時間ごとに公開キーを変えている、そのキーを全て・・・
リストアップした」
リナはキーボードを叩き、過去の大学の公開キーを表示させた。
リナ「約3年前から今まで・・・3時間事に、キーを変えるから・・・
1日に8つの公開キー。3年で8000以上もある」
パソコンをくるりと反転させ、数字の羅列を藤岡に見せる。
藤岡「・・・ で? それから、何か突破に繋がる情報でも?」
リナ「これだけ大きい数だと、計算処理が大変だから・・・
2桁の素数で説明する・・・」
再びリナは自分の方へパソコンを向け、キーボードを打ち始めた。
リナ「2桁の素数による積で・・・1番小さいのは11×11の121。
1番大きいのは、97×97で9409。
これらの合成数の中で・・・
差が2である2つの合成数の組に注目した・・・」
藤岡「・・・ ふむ・・・」
リナ「例えば29×31の【899】と、17×53の【901】。
他にも31×41の【1271】と、19×67の【1273】。
53×79=【4187】と、59×71=【4189】・・・」
藤岡「73×89=【6497】と、67×97=【6499】もそうか」
リナ「71×97=【6887】と、83×83=【6889】も。
散らばり具合はわからないけど・・・
差が2で、2つの素数の積による合成数の組は確実に存在する」
藤岡「なるほど・・・ 双子素数のようなものだな・・・
だが、それでウォールを突破できるとは思えないが・・・?」
リナ「調べたら、大学の公開キーの集合の中にも・・・
差が2の合成数のペアは、いくつか存在した。
そしてそれらが、素因数分解をするきっかけを与えてくれた・・・」
藤岡「全く見えないな・・・?」
リナ「この合成数の2つのペアのうち、どちらかは・・・
素数列の項数が、非常に近いという性質がある!!」
藤岡「何だと・・・!?」
リナ「【899】と【901】の組なら・・・【899】の方。
この数は29と31。隣り合う素数の積だわ」
藤岡「29と31・・・ 双子素数か・・・」
リナ「【1271】と【1273】なら、【1271】。
この数は、31と41の素数の積で・・・
素数列の中で31と41は、たった2つしか離れていない」
※ 2 3 5 7 11 ・・・と、素数を並べていくと、
31は11番目、41は13番目の素数となる。
リナ「【4187】【4189】のペアは、【4189】が・・・
17番目の素数59と、20番目の素数71の積。
項数は・・・ 20-17=3 つまり項数差は3」
藤岡「【6887】と【6889】にいたっては、【6889】。
23番目の素数83と、自分自身の積というわけか。項数差は0」
リナ「2桁の素数分布でそれを調べると・・・
項数差の最高値はわずかに3」
藤岡「100以下の素数は25・・・ なのに、項数差の最高が3?」
藤岡はもう1台、自分のノートパソコンで表計算ソフトを出し・・・
それを確認した。
藤岡「確かに・・・ そうだ・・・
だが、3桁・4桁・・・150桁の素数による合成数が・・・
素数の項数差が小さいとは、限らない」
リナ「それは・・・ 認める・・・ 証明どころか・・・
反例は存在する・・・」
藤岡「では、そのアルゴリズムは・・・ 欠点アリだな」
リナは首を横に振った。
リナ「最新の素数判定アルゴリズムでは・・・
その精度の高さをパーセンテージで保証している。
大事なのは、そのアルゴリズムで・・・
より多くの確か【らしい】情報が得られるという事・・・」
藤岡「・・・ ・・・」
リナ「2つの大学の公開キーの集合から、差が2である組をいくつか抽出。
2つのうち1つは・・・素数列の項数が近いと推定。
素数同士が近いという事は・・・」
藤岡「そうか・・・ 平方根に近いという事か・・・」
リナ「・・・えぇ・・・ だから、従来の素数判定アルゴリズムを・・・
その数の平方根に近いところから、スタートさせ・・・
あとは数字を落として、割り算をして余りを調べればいい・・・
素因数はペアで見つかるんだから、1に近い方に進むのが得策」
藤岡「なるほど・・・ 実に面白いアルゴリズムだ。
だが、公開キーは時間とともに変動する。
過去のキーを分解したとして・・・
今設定されているキーを突破できるのか?」
リナ「ハドリアンズ・ウォールは、サーバ同士、素数の交換を行う・・・
1つでも巨大な素数を割り出せば・・・
そこからもう1つの素数も割り出せる。
4189の素因数の1つが59とわかれば・・・」
藤岡「4189÷59=71で、ペアはわかる・・・ そうか!!」
リナ「大学で設定された公開キーはたかだか8000。
それらの数に、割り出した2つの素数での割り算を行い・・
割り切れたら、新たに巨大な素数をこちらは手に入れる」
藤岡「な・・・ なるほど・・・ そうか・・・
素数の交換が行われて・・・
一度でも同じ素数を使って、公開キーが設定されれば・・・
必ずペアの素数は割り出せる。しかも割り算1つで」
リナ「残念ながら最初に割り出した2つの素数で・・・
他の公開キーとかぶる素数はなかった。
でも次に得た素数から・・・ ネズミ算式に素数を捕まえた」
藤岡「1度取り逃がした素数でも・・・
別の素数を割り出すエサにはなる・・・ からな・・・」
リナ「あとはプログラムをはしらせ・・・
今の公開キーを作っている・・・素数を見つけるだけ・・・」
藤岡「巨大な素数を受け渡し、新たな巨大合成数を生み出すという・・・
ハドリアンズ・ウォール最大の特徴が・・・
逆に素数を割り出す情報を、多く提供したというわけか・・・」
リナ「今から・・・ ウィーン大学の現在の公開キーを突破する・・・」
リナは高速でキーボードを叩く。しばらくして手を止めると、藤岡にパソコンの画面を見せた。
リナ「今、プログラムを走らせて、現行キーを突破しようとしている・・・
私の計算では・・・ このノートパソコンのスペック的に・・・
今から10分以内でウォールを突破する!!」
藤岡「・・・ ・・・」
画面いっぱいに、膨大な数字の列が高速で動いている。
リナ「素数を割り出したら・・・
それはサーバに侵入出来るという事・・・ 認めるわね?」
藤岡「あぁ・・・ 認める」
リナ「つまり・・・ ゲームクリアという事でいいわね?」
あくまで強気。藤岡を睨み付けながらリナは確認した。
藤岡「あぁ・・・ それで・・・ 構わない・・・」
藤岡は・・・ただ、リナのノートパソコンの画面を凝視している。
(藤岡「この4年・・・ 俺でさえ・・・
何人たりとも突破できなかったこのウォールを・・・
突破するというのか・・・? 本当に・・・?」)
半信半疑の表情を浮かべる藤岡。
(藤岡「だが、今の理論に・・・ ミスなどないように思える・・・」)
・・・ ・・・。
5分後。
リナ「あと5分以内に・・・
パソコンの画面に、2つの巨大な素数が出る・・・」
(藤岡「ホントに・・・ 突破するのか・・・?
19歳の娘が・・・」)
リナ「・・・ ・・・」
藤岡「・・・ ・・・」
リナと藤岡は、パソコンの画面・・・ ただ高速で動く画面たくさんの数字を見つめ続ける。
そして、その数字の動きは・・・ ピタリと止まった。
かと思うと、左端から高速で数字を右に書き並べていく。
藤岡「・・・ 出来たのか・・・?」
数秒後、画面には167桁と、174桁の2つの数が映し出された。
リナ「これよ・・・ これが・・・ 今の公開キーの素因数よ!!」
藤岡「・・・ ・・・」
藤岡はキーボードを叩き・・・ 映し出された2つの素数を元に、ウィーン大学のサーバ侵入を試みた。
藤岡「・・・ おぉ・・・ 」
どんなサイバーアタックも跳ね返してきた、同大学のサーバに・・・
藤岡は侵入に成功した。同時にリナの顔を見る。
藤岡「・・・ ・・・ さすがの俺も・・・ 驚いた・・・」
素直に驚いた表情を見せた。
リナ「ゲームクリア・・・ それでいいわね?」
藤岡「・・・ ・・・」
しばらく大学のサーバ内のいろいろな場所へと移動してみた。行きたい所へ、全て行けた。
藤岡「あぁ・・・ 羽鳥リナ。
ハドリアンズ・ウォールを突破した最初の人物・・・
見事だ・・・」
リナ「私の聞きたい言葉は、それじゃない!」
藤岡を睨み付けながら、大声をあげる。
藤岡「・・・ ・・・」
しばらく黙っていた藤岡だが・・・
藤岡「君の家族は・・・完全解放する。
ラストゲーム・・・ クリアだ・・・」
リナの聞きたい言葉を口にした。
(第97話へ続く)
~~~~~~~~~~~~~~~~~~~~~~~~~
次回予告
ゲームをクリアしたリナ。
藤岡は、新世界の事を語り始めた。
そしてリナは・・・驚愕の事実を知る。
次回 「 第97話 新世界 」
~~~~~~~~~~~~~~~~~~~~~~~~~




