「皆さん、夜の遅くまでご苦労さま」
そう言って私が向かうのは「刮目」の若手たち。事前にツィラさんが選抜している諜報とかの担当者。直接国家……というか図書庫の城邦に忠誠を誓う、というよりはもう少し自由な立ち位置になるのかな。この世界に私が知るようなちゃんとした国家の概念がないので難しい。
「それじゃあ、今日は暗号の話をしよう」
今夜やるのはそういう相手への秘密講義である。
「やりたい事は、ある情報を相手に伝えることだ。情報は数字に置き換えることができる、というのは通信技術の話でやったと思う」
ここらへんは「総合技術報告」編集所長と共同で研究をしている人がやっていた。例えば東方通商語に使われる30文字を1から30までの数字に置き換えて、それを連ねた数列を作れば文章を数字にできる。二進数とかと組み合わせればもっと扱いやすくなる。
「ここで秘密を守るためにはいくつかの方法がある。まず、一般的なのは秘密の方法で通信することだ。例えば秘密を書いた手紙をこっそりと服の裏にでも縫い付けて、何食わぬ顔で旅をすればいい。はい、このやり方の問題は?」
「その旅人が途中で襲われてしまったら困る」
学徒の一人が言う。個人的になかなか筋の良いと思っている人なので、裏方である「刮目」の活動にあまり関与してほしくはないがあまり私がそういうことを言うべきじゃないしな。
「そう。それに例えば争っている二つの地域を行き来するのは目立つ。代替案はある?」
「……例えば、報知紙はどうでしょう。特定の符牒を用意しておいて、何かあったらその符牒を入れる、としておくのです」
「いいね。もちろんその符牒が間違って使われることもあるだろうし、報知紙を刷る人たちに繋がりを作る必要がある。しかし、方針としては面白い。誰が持っていてもおかしくないものを使う、というのはよさそうだ」
こういう歴史は基本的にあまり表に出ないし、出たとしても既に古臭くなっている物が多い。私が技術発展を一部加速させたせいで知っている科学技術史とか歴史の知識が時折使えないのでここらへんは思考力勝負になってくる。あまり勝てる気がしない。
「そういうふうに堂々と流すのであれば、相手には意味の伝わらないものとして出してもいい。例えば……そうだね」
私は事前に紙にメモしておいた五桁の数字を黒板に書いていく。
「例えば報知紙の広告部分にこういう数字が書かれていた。怪しいと思うかい?」
頷く学徒の皆さん。
「なら、こういう文章なら?」
私はちょっとした文章を書いていく。内容としては西の方の海で青い魚が多く取れているので担当者に連絡するように、というもの。まあ全く意味はない文章なのだが。
「先程のものに比べれば長いですが、あまり気にされないかと思います」
「けれども、この文章には上の数字が隠されている」
返事をしてくれた学徒に私は言って、文章の下に数字を書いていく。単語ごとの文字数だ。
「これの偶数を0、奇数を1と置いて……あとはこれを普通の十の冪乗の形に変換すればいい。できる?」
紙を取り出して計算する人もいるけど、暗算でやろうとしている人もいる。ちょっとそれは難しいぞ?私だってすぐにはできない。
「……出た?」
全員が頷いたので、次に進もう。
「さて、この方法の問題は?」
「送りたい内容に比べて暗号の文章が長くなる」
「どうしても文章が不自然になることがあるかも」
「何度も繰り返せば不自然だと思われるかもしれない。実際の内容を使うべきだ」
思ったよりすぐに案が出せるな。最初の頃はもう少し内気な学徒も多かった気がするが、成長だろうか?
「なるほど。では、逆にこれを暗号だと見破り、解読するためにはどうすればいい?」
少し部屋が静かになる。まだ難しいか。私は答えを知っているので簡単に見えるけど、実際この手の思考に慣れていないと難しいよね。
「……例えば、報知紙で意味の通らない内容や不自然な言葉遣いがあった時にそれを記録していくのはどうでしょう。それらがどこかに集中していたり、偏っていたりしたら、何か暗号になっているんじゃないかと気がつけないでしょうか」
「そうだね。けれども、十分準備すればそれは解決できそうだ」
「暗号を作った人を捕まえて作り方を聞けばいいのでは?」
「正解」
私は答えを言った人に二本の指を向ける。
「この手の暗号は、同じ規則で作られていたらその規則を知っている人、例えば尋問によって得られた手順を知っている相手なら内容が全てわかってしまうことだ」
「……それは、当然じゃないんですか?」
「違う。君たちは、常に悪いことを想定せねばならない。敵は暗号の作り方を知っている。敵は君たちを見張っている。敵は君たちが書いたものを全て集めている。敵は君たちに嘘の情報を伝えるようにと脅すことができる。それでもなお、暗号は有効でなければならない」
もちろん、完全には不可能だ。というかこの哲学がコンピュータの発展によって実用的な公開鍵暗号方式ができたとか、セキュリティ上秘密を無くすべきだという歴史的背景に依存しているのはある。とはいえ暗号はできるだけこれらを満たすように設計されねばならない。
「無茶だと思うだろう?とはいえ、色々と手はある。暗号の作り方を知っているなら、知られても特別な『鍵』がなければ解けないようにすればいい。見張られているなら、自然に送ることができるようにすればいい。集められているなら、毎回『鍵』を交換すればいい。脅されているなら、それを伝えられるようにすればいい」
アウグスト・ケルクホフス、だっけ。練られた思想を持ち込めるのは私のずるいところだな。
「というわけで、あらゆる事態を想定し、それに合わせて自らを鍛える必要がある。それじゃ、軽く演習をやって今日は終わろうか」
私は学徒たちに印刷した紙を渡す。これはもとの版も燃やしておいた機密文書だ。内容自体はただのパズルなんだけど、頭の使い方というものも大切だからね。