第6話:偽りの羊皮紙とハッシュ値の罠
オズワルド侯爵の逮捕から数日後。
俺――ルクは、帝都の真ん中にそびえ立つ帝国検察庁の地下執務室にいた。
最底辺の奴隷だった頃の泥まみれの服から、仕立てのいい紺色の衣服に着替えさせられたものの、首元にはいまだ冷たい金属の感触――特別捜査助手用へとパーミッション(権限)が書き換えられた鉄の首輪が残っている。
「……はぁ。雑用奴隷から検察官のパシリに昇格したところで、首輪がついたまもちゃ何も変わらねぇだろ」
俺がデスクに突っ伏して欠伸を噛み殺していると、重厚な木製ドアが勢いよく開いた。
「無駄口を叩いている暇があるなら、この資料を読み込め、デバッガー」
黒い軍服を隙なく着こなしたレイヴァルト・フォン・ルグランが、束になった羊皮紙の書類をドサリと俺の前に投げ置いた。相変わらず、容赦のない男だ。
「……今度はなんだよ、検察官様。オズワルド侯爵の件は隠し金庫の裏ログで一件落着したろ?」
「侯爵の取り調べで、新しい『膿』が出た。彼が私腹を肥やすために利用していた帝都の大銀行――『クレスト中央魔導銀行』だ」
レイヴァルトは腕を組み、鋭い眼光を俺に向けた。
「あの銀行の頭取、バルトロメウス男爵は、オズワルド侯爵の巨額の裏金取引をすべて『合法的な融資契約』として偽装していた。だが、検察庁の監査チームが銀行の地下大金庫から押収した契約書の羊皮紙には、古代魔導署名が完璧に刻印されていた」
「……完璧な魔導署名?」
「そうだ。魔導院の鑑定士たちが調べたが、契約書に刻まれた魔力署名の波動(ハッシュ値)は、オズワルド侯爵と相手方の筆跡・魔力波長と寸分たがわず一致している。つまり、法的には『100%正当な契約』として処理され、銀行側の不正を立証できない状態だ」
レイヴァルトは苦々しい顔で吐き捨てた。
「魔導院の奴らは『本物の契約書だ。改ざんなど不可能だ』と捜査の打ち切りを主張している。最高執政院の上層部も、銀行からの巨額の賄賂でもみ消す構えだ」
「へぇ……『完璧な魔導署名』ねぇ」
俺はニヤリと不敵な笑みを浮かべ、レイヴァルトが持ってきた羊皮紙の束の一枚を手に取った。
目を開き、脳内の『構造視認』を起動する。
【対象オブジェクト:魔導契約書(羊皮紙)】
* 署名アルゴリズム: 古代第3世代・魔力ハッシュ関数(SHA-Magic-256)
* ハッシュ値: 0x8F4A92B...(照合成功)
* データ構造異常: 契約文章の余白領域に【ヌル文字パケットの大量埋め込み】を検出。
* 解析結果: 【ハッシュ衝突(Collision)攻撃】による改ざん痕跡を確認。
(……ぷっ。思わず吹き出しそうになったわ)
俺は頭を抱えて肩を揺らした。
「……ルク? 何がおかしい」
レイヴァルトが怪訝そうに眉をひそめる。
「いやさ、この世界の魔導師たちって、本当にセキュリティの基礎を知らねぇんだなと思ってさ。検察官様、『ハッシュ衝突』って言葉、聞いたことあります?」
「ハッシュ……衝突……?」
「簡単に言えばですね。この古代の魔導署名システム、元の文章から固有の『魔力波長(ハッシュ値)』を計算して本物かどうか判定してるんです。……でも、このシステムが使ってる暗号化アルゴリズム、めちゃくちゃ古いんですよ」
俺はペンを取り出し、羊皮紙の余白に簡易的な計算式を書き殴った。
「計算式が古いってことは、文章の中に意味のない特定の言葉を大量に詰め込むことで、『全く違う偽の契約文章』なのに『本物の契約書と全く同じ魔力波長(ハッシュ値)』を意図的に作り出すことができるんです。これがハッキングの初歩、『ハッシュ衝突攻撃』ですよ」
レイヴァルトの目が、徐々に驚愕で見開かれていく。
「な……! 文章を改ざんしたのではなく、同じ魔力波長を持つ『偽文書』を最初から計算して作らせたというのか!?」
「そう。だから魔導院の鑑定士がチェックしても『波長が一致するから本物だ』って騙される。……あいつら、システムの表面的な判定ロジックしか見てねぇんだよ」
俺は椅子から立ち上がり、首の後ろで手を組んだ。
「そのクレスト中央魔導銀行ってところに行きましょうよ。そのバルトロメウス男爵の目の前で、彼らの誇る『絶対の魔導署名』をデバッグしてやりますから」
レイヴァルトは口元を歪め、不敵な笑みを漏らした。
「……ハッ、相変わらず口の減らない奴隷だ。だが、その生意気さが実に頼もしい。行くぞ、デバッガー!」
帝国経済の心臓部・魔導銀行を揺るがす、新たなハッキング戦が始まろうとしていた――。




