表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
グリムの精霊魔巧師  作者: 幾威空
FILE2_初めての街編
39/62

Module_038

「さあさあさあっ! ここがこの商会の心臓部、精霊工房よ!」

「うわっ……ホントにあるよ……」


 ユーリアとイルネから話を聞いたセロは、早速彼女らに案内され、商会内のある一室に通される。二人に促されて中に入ると、そこはまるで物置のような部屋であった。

 部屋の中央には大きなテーブルが設置され、その上にユーリアが持ってきたものと同じ包みが山と積まれている。50という数は冗談ではないらしく、机の上に乗り切らない包みが机の縁に立てかけるようにして置かれていた。


 また、床には製作の過程で記録された精霊構文のメモが散らばり、壁際の書棚には関連書籍がぎゅうぎゅうに押し込まれている。中にはそこから引っ張り出したと思われる書籍がページを開いたまま机の上に置かれていた。


(工房というより、どこぞの研究室って感じだな……)


 室内の雑然とした様子に、セロはそっと心の内にぽろりと言葉を漏らした。

「フッフッフッ……驚いたぁ? この部屋こそが商会の要であり、私の工房でもある部屋よ! ゆっくり説明したいんだけど、さすがに時間が惜しいからね。詳しい説明は後にして、早速作業に取り掛かろうか」


(アンタがこの部屋の管理者なのかよ……何というか、ダメな大人の見本みたいな部屋だな)


 まるで片付けられていない工房内を見回したセロは、小さくため息を吐いた。そんなセロの心の内を察したのか、傍らに立っていたユーリアがそっと彼の肩に手を置きながら何度も小さく頷く。


(苦労してるんだな、アンタも……)


 ほろりと涙が出そうになるのを堪えつつ、セロはイルネの呼びかけに応じて彼女の隣へと進み出るのだった。


「……セロ、先ほどユーリアが言ったように、これらの精霊武具には安易にその中身が書き換えられないようにロックが施されているの。精霊武具のメンテナンスだけならばまだしも、このロックを解除するのが一番の難題でね。解除するための専用の道具をまずは製作しないといけないわね」


 イルネはそう言いながら机の上に広げられていた書類を退けてスペースを確保すると、そこに一枚の大きな紙を広げた。


「それで……これがその解除するための精霊導具」


 彼女が机の上に広げたのは、精霊導具の設計図であった。この設計図によれば、ロック機構の解除を組み込んだ箱のような本体から伸びる二本の端子があり、それを対象の武具に繋げて起動させる仕組みになっている。


 また、肝心なロック解除の仕掛けだが、それは、オーソドックスな「ブルートフォースアタック(総当たり攻撃)」が用いられているのが設計図上から分かった。


 ブルートフォースアタックとは、全ての文字・ないしは数字で、考えられる全ての組み合わを、 順々にひたすら試していく方法である。仕掛けとしては単純であるものの、パスワードの文字列が長い場合や使用する文字種が多い場合には、解除するまでに時間がかかってしまうというデメリットも存在する。


(まぁ、聞く限り使用するのは数字のみだし、桁数もそれほど多くはない。これなら比較的短時間でーー)


 だが、イルネと一緒にその設計図を眺めたセロはーー


「……って、オイ。いくら何でもコレは大掛かり過ぎだろ。第一、解除のための精霊構文が長すぎる」


 一瞬ピシリと表情を強張らせると、次には呆れた顔で彼女の設計図にダメ出しをする。


「大掛かり過ぎる? 構文が長すぎる……ですって? だけど、解除するための構文はこれ以外にーー」

「いや、仕掛け自体はこれでいいだろうさ。でも、解除するといっても、単に数字を当て嵌めていくだけなんだろ? なのに、何でいちいち全てのパターン(・・・・・・・)を構文内に記述する必要があるんだ?」

 さも当然だと言わんばかりに告げたセロの言葉に、イルネは目を丸くして聞き返す。


「えっ? いや……8桁もあるのよ? 考えられるパターンは『00000000』から『99999999』までの1,000,000,000通りになるじゃない。その中で、たった一つの組み合わせしか解除できない。だからこうして構文内にその記述をーー」


 そこまで聞いたセロは盛大なため息を吐きながらイルネに告げる。


「もしかして、その気の遠くなるような数字の組み合わせを書くためだけに俺が必要なのか?」

「えっ? ち……違う、の?」

 キョトンとした顔で発せられたイルネの言葉に、セロは顔を手で覆いながら呻く。


(あぁ、うん。そうだった……この世界のプログラミング技術はこのレベルなんだっけか。変数化の概念や基本構文の概念が無いと、一つの処理を記述するのにエライ時間がかかるんだよな……)


 かつて初めて精霊構文を目にした時の落胆を思い起こしながら、セロは「仕方がない」と思い直してイルネに説明する。


「いいか? そのやり方じゃあ残りわずかの時間でどうにかできるはずもないだろ。こういう『総当り攻撃』の仕掛けは、こうするんだ」


 ガリガリと頭を掻いたセロは、広げられた設計図を裏返すと、机の端に置かれたペンを持ち、まるでスイッチが入ったかのように猛烈な勢いで構文を書き連ねていく。


「ーー変数の定義域、初期設定域、処理構文の設定域は……こんなもんだろ。あとはキモになる反復処理と、条件分岐、エラー処理を組み合わせて……」


 イルネが横で驚く様を見ることなく、セロは流れるように一気に精霊構文を書き終えた。


「……よし、こんなもんか。それで、だ。コイツのキモは、入力するパスワードを『変数化』することと、『反復処理』にある」

「変数化と反復処理……?」

 セロの言葉に、イルネは眉根を寄せつつ鸚鵡返しで呟く。対するセロは、彼女の表情から理解しきれていないことを察すると、さらに詳しい説明を始めた。


「いいか? 今回のパスワードは全て数字だ。なら、その初期値を変数化してしまえば、あとは今の数字に1ずつ足せば(カウントアップ)いいだけだ。パスワードと合致した組み合わせが出たら、反復処理から抜けるようにすれば、その後は照合しなくて良くなるから、時間も短く済む。また、処理構文そのものが短くなってるから、解除するまでの時間も短縮できるはずだ。まだ試していないので分からないが……おそらく一件あたり20秒もかからないくらいで終わると思うぞ?」


 ざっと書き終えた構文の見直しを終えると、セロは口をポカンと開けたまま立つイルネに、つらつらと自分の組み上げた精霊構文を説明していく。


 彼の言うように、この処理方法ならばイルネが当初見せたものよりも大幅な時間短縮が見込められる。


 なぜならば、0から9という順番でアタックしていったために、最後の組み合わせまで試さなくても正しいパスワードが見つかるからだ。また、入力するパスワードも単純にカウントアップとしているほか、パスワードを当て嵌める工程においても、反復処理を一つ記述して終えているため、いちいち構文内に8桁の組み合わせ全てを記述する必要もない。


「今回幸いだったのは、使用する文字種が特定できていたのが大きいな。総当たり攻撃ブルートフォース・アタックで解読する場合、パスワードがどんな文字種を利用しているかがわかると、解読が容易になる……つまりは検索数が減るからな。ここまでくれば、あとはどうにかなるだろう?」

「えっ!? えぇ……一番の難所はーーアッサリと終わってしまったからね」

 説明を終えたセロに、イルネは言葉を詰まらせつつもなんとか返事をする。


「ざっと見た感じ、精霊構文(コード)そのものが半分以下にまで押さえられたから、装置自体も小型化するのが可能だよな?」

「そ、そう……ね。加えて、小型化したことで動力源となる精霊結晶も当初より少なく済みそう」

 改めてセロの書いた精霊構文を眺めたイルネは、嬉しそうに呟く。


「なら、結構な量もあるから、半分ずつにしないか? 装置の仕組みは把握したから、こっちはこっちで作れるし」

「お願いしていいかしら。持ち込まれた精霊武具は大きなものもあるの。ここを二人で使うには狭いだろうから、別々の部屋で作業するのが効率的よね」

「了解。なら、俺は別室で作業することななするよ。ここより狭くても構わないから、作業できる部屋を教えてくれ。後で装置の材料とメンテナンスする武具を取りに来るから」


 セロの提案にイルネも頷き、彼女はユーリアへ案内するように頼む。ほどなくしてユーリアに連れられ、工房から出たセロの姿が見えなくなった。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ