サマーウォーズの謎

 昨日、ある人とサマーウォーズの話で盛り上がったので簡単にまとめてみる。もし、あなたがサマーウォーズの熱狂的なファンの人であるか、あるいはこれからサマーウォーズを観るつもりでネタバレを回避したいのであれば、ここでご退出願えると幸いだ。今回のエントリは、サマーウォーズの重箱の隅つつきな話である。










 その人と話していたのは、サマーウォーズにはいくつか解けない謎がある、という話だった。中でも私にとって一番の疑問はこれだ。


 「物語の序盤、主人公のケンジに送られてきた謎の数列。あれを暗号化したのは、いったい誰?」


 「バッカじゃねえの、そんなのOZの管理者に決まってるだろ」という人は、ちょっと待ってほしい。
 確かにこの映画を一番素直に観るとそういう解釈になる。
 「ラブマシーンはOZに侵入しようとしたが、管理棟に入るパスワードが管理者によって暗号化されており、解き方がわからなかったため、ランダムでオズ中に暗号化されたパスワードをばら撒き、誰かがそれを解くように仕向けた」。


 でも、よく考えるとこれは変ではないだろうか?
 
 仮に、あなたがOZの管理者だったとしよう。そしてOZの管理棟に入るためのパスワードを設定したとしよう。あなたはそれをどう管理するだろうか?
 まずは、自分自身でそれを記憶しようとするだろう。しかしOZのパスワードの文字列は長く、記憶するのは難しい。次にあなたは、恐らく暗号化ソフトを使ってパスワードを暗号化しようとすることだろう。人間の数学者に暗号化させようとは、まず考えないはずだ。
 なぜか? 普通に考えれば、数列の暗号化は単純な計算を瞬時に膨大な回数繰り返せるコンピュータの方が、人間より得意だからだ。もし、コンピュータの方が簡単に解ける暗号式だった場合、話は簡単だ。ラブマシーンは自力でそれを解き、人間の力を借りる必要などない。
 仮にコンピュータより人間の方が早く解ける暗号式があったとしよう。少なくとも将棋はいまだに人間の方がコンピュータの方が得意だし、そういうこともまったくありえないとも言えないかもしれない。
 しかし、その場合今度は暗号を解こうとするたびに「人間の数学者」の力が必要になる。定型化された数式に当てはめるだけで解ける暗号式ならコンピュータの方が得意なのだから、そうでないということは、管理者パスワードが必要になるつど暗号化作業を行った数学者を呼んでこなければならないような複雑な数式であるとしか考えられない(現にOZ中にばら撒かれた暗号を解けたのは全世界に50人しかいなかった)。もしそんな面倒くさいことになったら、管理棟に出入りする技術者の多くは、普段からパスワードを暗号化せず素の状態で取り扱う羽目になるだろう(冒頭の描写を見れば、管理棟にはアルバイトの人間ですらアクセスしているのがわかる。それも大学のPCからだ!)。するとラブマシーンが入手するのは「暗号化された後のパスワード」ではなく「暗号化する前の、パスワードそのもの」であるほうが自然だ。
 一般的には、こういった暗号は解除コードそのものに暗号化手順が織り込まれ、コードを持っていない人間が解除しようとすると気が遠くなるほどの回数試行しなければならなくなる公開鍵暗号を使うのが普通のような気がするのだが…。
 
 「ラブマシーンは自力でも暗号を解く能力はあったが、メールを返信した人間からアバターを奪うためにわざと暗号をばら撒いたのだ」という仮説もありうる。だがこれもおかしい。暗号を解ける人間はラブマシーンにとって脅威となりうる人間だ。アバターを奪っても相手は行動不能になるわけではなく再登録したアバターや他人のアバターを使って行動が可能なのだから、パスワードを奪い返されるに決まっている(現に、そうなっている)。むしろ「暗号を解けなかった人間」からアバターを奪った方が安全なはずだ。

 他にいくつか仮説を立ててみても、どれも納得のいく答えは出せない。ラブマシーンの行動とOZの管理者の行動に矛盾が生じるからだ。
 ここで一つ、メタな視点から穿った見方をしてみよう。


 「ラブマシーンが暗号化した管理者パスワードをOZにばら撒いたのは、数学が得意なケンジを話に巻きこむためだった」。