Novelis
← 目次

ゼロ係数の解析者

第3話 第3話

第3話

第3話

夜明け前に目を覚ました。  居住区の隅、崩れた配電盤の裏に確保した寝床は、雨漏りこそしないものの、鉄板の冷たさが背中から体温を奪い続けていた。三時間ほどの仮眠。それでも思考は澄んでいた。前世でもデッドラインの前夜はこうだった。睡眠の量ではなく、覚醒時の解像度だけが仕事の質を決める。  居住区を出るとき、昨日の三人組の気配が瓦礫の向こうにあった。監視しているのだろう。だが追ってはこない。カイトの足裏は、すでに地下からの周期信号を捕捉していた。短、短、短、長。十二秒周期。昨夜と変わらない。三百年間、一度も途切れなかった心拍のように。  金属板の前に着いたのは、空が白み始める直前だった。  膝をつき、掌を表面から五センチの位置に翳す。錆と苔の下で、施錠術式のコードが昨日と同じ輝度で脈動していた。機械語レベルの、原始的だが堅牢なロック。帝国標準の高級言語とは構文体系が根本的に異なる。  カイトは目を閉じ、コードの全体構造を脳内に再構築した。  施錠術式の論理は、三段階のゲートで構成されていた。第一ゲートは物理鍵──金属板そのものの結晶構造に埋め込まれた共振パターンとの照合。第二ゲートは演算場の波形認証。第三ゲートが、最も厄介だった。入力された演算場の出力に対して、特定の「応答」を返すことを要求するチャレンジ・レスポンス認証。つまり、鍵を差し込むだけでは足りない。錠前が出す問いに、正しい答えを返さなければならない。  だが、カイトにはコードが読めている。  第一ゲートの共振パターンは、金属板の結晶構造に物理的に刻まれている。つまり、板そのものが鍵であり錠前でもある。必要なのは、結晶格子の共振周波数に一致する振動を与えること。魔術ではない。純粋な物理現象だ。  カイトは金属板の縁を指で弾いた。鈍い金属音が返る。周波数を聴覚で拾い、倍音構成から基本振動数を逆算する。約四百三十七ヘルツ。次に、板の四隅と中央、計五点を順に叩き、それぞれの反響から結晶構造の異方性をマッピングした。北東の隅だけ、わずかに共振特性が異なる。そこに、パターンの起点がある。  北東の隅に掌を当て、指先で特定のリズムを刻んだ。短、短、短、長。地下からの周期信号と同じパターン。共振が板全体に伝播し、錆の下で結晶格子が揃う。第一ゲートの術式パターンが、赤から青へ色相を変えた。  ──通過。  第二ゲートは演算場の波形認証だった。帝国基準では術式係数ゼロの演算場を、この古代の錠前が受け入れるかどうか。カイトは掌を金属板に直接触れさせた。封印具が首で冷たく震える。帝国の計測器には見えない領域で、彼の演算場が応答信号を返す。金属板の下の術式が、その信号を受け取り、数秒の走査を経て──青から白へ。  第二ゲート、通過。  残るは第三ゲート。チャレンジ・レスポンス。  金属板の中央から、新たなコードが浮かび上がった。十六進数の数値列が、光の明滅として高速で展開される。カイトの目がそれを追う。数列は一見乱数に見えたが、データサイエンティストの目は即座に構造を抽出した。  ハッシュ関数だ。  入力値に対して不可逆な変換を施し、固定長の出力を返す一方向関数。前世のセキュリティ技術の根幹をなす仕組みが、三百年前の異世界の遺構に刻まれている。その事実の重さを味わう余裕は、今はない。問題は、この錠前が求めている「正しい応答」が何かだ。  数列を読み進める。ハッシュ関数の構造は、前世で扱ったSHA系のアルゴリズムに近いが、完全には一致しない。ビット長が異なる。ローテーション定数が独自の値を取っている。だが、論理構造は同じだ。初期化ベクトル、圧縮関数、メッセージスケジューリング。  そして、チャレンジの本体が見えた。錠前は「この関数の衝突ペアを一組示せ」と言っている。異なる入力から同一の出力を得る、二つの値の組。通常のハッシュ関数であれば、天文学的な計算量が必要な問題だ。だが──。  カイトの口元が、かすかに歪んだ。  このハッシュ関数には、設計上の欠陥がある。圧縮関数の第三ラウンドで、ビットシフト量が対称になっている。前世の暗号解析で「差分攻撃」と呼ばれた手法が、この構造には有効だ。設計者は意図的にこの脆弱性を残した。正規の鍵保有者だけが知る、裏口。いや、違う。これは試験だ。この脆弱性に気づける程度の知識を持つ者だけを通す、選別フィルター。  脳内で差分パスを構成する。第三ラウンドの対称性を利用し、入力差分が圧縮関数を通過しても保存される経路を特定する。前世なら計算機に投げる作業だが、この世界では演算場がある。カイトは目を閉じ、帝国の計測器には映らない領域で、二つの入力値を同時に演算した。衝突ペアが、数秒で収束する。  その結果を、金属板の術式に返した。  沈黙が、三秒。  金属板の全面が白く灼けるように発光し、中央から放射状に亀裂が──否、分割線が走った。四枚の三角形に分かれた金属板が、歯車のように回転しながら地中へ沈んでいく。機構の駆動音が低く響き、三百年ぶりの空気が地下から噴き上がった。乾いた、鉱物質の匂い。時間そのものが結晶化したような、冷たく透明な気配。  開いた穴の下に、螺旋階段が続いていた。壁面に埋め込まれた発光体が、カイトの侵入に反応して順に点灯していく。青白い光が、地下へ向かう道筋を一段ずつ照らし出す。

 深度にして約三十メートル。螺旋階段を降りきった先に、それはあった。  直径およそ四十メートルの円形空間。天井高は十五メートル以上。壁面の全周を、機械語の術式パターンが隙間なく覆い尽くしている。文字の密度は地表の結界式とは比較にならない。一平方メートルあたり数千行のコードが、発光体の光に照らされて青白く浮かんでいた。  第零演算塔。帝国が「暴走した古代演算炉の残骸」と記録し、封印したはずの施設。その実態は、カイトの目には明白だった。ここは演算炉などではない。巨大なデータベースだ。壁面のコードは処理ロジックではなく、膨大な量の記録──ログ。何かの実行履歴が、三百年分、石壁に刻まれている。  空間の中央に、祭壇があった。  高さ二メートルほどの八角柱。表面は壁面と同じ機械語で覆われていたが、こちらはログではなくインターフェースだった。入力受付、クエリ処理、出力整形。端末だ。この空間全体のデータベースに対する、唯一の操作卓。  八角柱の上面に、手のひら大の凹みがあった。認証用のインプットデバイス。カイトが近づくと、凹みの底で光が脈動を速めた。周期信号の発信源は、ここだった。短、短、短、長。地上まで届いていたあの振動は、この端末が三百年間、操作者の到来を待ち続けていた呼び出し信号だったのだ。  壁面のコードに目を走らせながら、カイトはログの内容を読み始めた。  最も古い記録は、帝国暦元年。帝国の建国と同時期だ。記録内容は──術式体系の初期設定。演算場の定義、係数の計測方法、適性判定の閾値。帝国魔術の根幹をなすすべてのパラメータが、ここで設定され、地上の演算環へ配信されていた。  やはり、とカイトは息を吐いた。  帝国魔術は自然現象ではない。このデータベースから配信された人工的なシステムだ。そして、そのシステムを設計した者は──。  ログの記述言語を精査する。機械語の底層、最も原始的なコメント行に、設計者の署名が残っていた。アルファベット表記。ラテン文字。前世の地球で使われていたのと同一の文字体系で、短いコメントが添えられている。

 ──初期化完了。被験環境の構築を開始する。

 「被験環境」。  カイトの背筋を、冷たいものが走った。この世界は、誰かの実験場だという意味になる。  その思考が、不用意に強い感情を伴った瞬間だった。  八角柱の凹みが、白く炸裂するような光を放った。カイトの演算場が──帝国には計測できない、虚軸側の出力が──端末に流れ込んでいる。意図していない。だが、止められなかった。データサイエンティストとしての仮説構築、異世界への疑念、設計者の存在に対する知的渇望。それらの思考パターンそのものが、この端末にとっては正規の認証シーケンスだった。  八角柱の全面が発光し、壁面のログが一斉に輝度を上げた。地下空間全体が青白い光に満たされ、三百年間の沈黙が、ひとつの長い吐息のように解けていく。  端末の上面に、新しいコードが一行ずつ浮かび上がり始めた。  高速で展開されるそれは、ログではなかった。リアルタイムの演算。端末がカイトの演算場を走査し、適合性を判定し、何らかのプロトコルを起動しようとしている。画面を持たない端末の代わりに、光の文字列が空中に投影され、カイトの周囲を渦巻くように回転した。  その文字列の中に、一つのラベルが繰り返し出現する。  《Code:Reverse》。  プログラムの名前だ。いや、この世界の文脈では──スキルの名前。  起動シーケンスは、まだ完了していなかった。八角柱の光は不安定に明滅し、出力が飽和と減衰を繰り返している。完全な起動には、何かが足りない。だがカイトの目は、展開途中のコードの構造を一行も逃さず読み取っていた。逆コンパイル。難読化解除。構造解析。暗号化された術式を、元のソースコードに復元する技術。  それが、《コード・リバース》の本質だった。  帝国魔術のすべてを、設計図の段階まで遡って解体する禁術。  八角柱の光が、最後にひときわ強く脈動し──そして、ゆっくりと減衰した。起動シーケンスは中断。だが、カイトの演算場には、展開途中のコードの断片が深く刻まれていた。種子のように。次に十分な演算負荷がかかったとき、それは芽吹く。  暗くなった地下空間で、壁面のログだけがかすかに光を保っていた。カイトは八角柱から手を離し、一歩退いた。指先が微かに痺れている。封印具の金属が、先ほどより冷たく感じた。  彼は壁面のログに目を戻した。「被験環境」という言葉が、まだ網膜に残像として貼り付いている。この世界の設計者は、帝国魔術を「実験」として構築した。では、被験者は誰だ。この世界の住人全員か。それとも──。  ログの最終行に視線が止まった。  日付は帝国暦七百十七年。今からちょうど三百年前。封印が施された年。その最終エントリに、こう記されていた。

 ──第六観測者、応答途絶。プロトコル凍結。次の適合者を待機する。

 六人。自分の前に、六人いた。  そして全員が、消えた。  螺旋階段を昇りながら、カイトの思考は前世の癖で自動的にリスク評価を回していた。この端末は自分を認証しかけた。次に来たとき、起動シーケンスは完了するだろう。だが、六人の先行者が全員「応答途絶」した理由を、まだ知らない。  地上に出ると、朝の光が目を灼いた。金属板は再び閉じ、錆と苔の下に術式を隠している。何事もなかったかのように。  足裏の振動だけが変わっていた。短、短、短、長。同じ周期。だが、その振動の中に、微かに新しい成分が混じっている。まるで、三百年ぶりに言葉を返してもらえた機械が、少しだけ声の調子を変えたように。

この話はいかがでしたか?

最新話です

次の更新をお楽しみに!

第3話 - ゼロ係数の解析者 | Novelis