夏といえば『サマーウォーズ』!
あの天才健二が解いた暗号の謎に迫る!
ぜひ最後までお付き合いください!
※ネタバレ注意
■目次
サマーウォーズ|作品情報
細田守監督の作品の中でも、夏の定番として多くの人に愛されている『サマーウォーズ』。
僕も毎年夏になると、決まってこの映画を観てしまいます。
あの田舎の親戚一同が織りなす賑やかな雰囲気、仮想世界OZの壮大なスケール、そして何よりも主人公・健二くんが繰り広げる数学バトルに胸が熱くなりますよね。
2009年に公開されたこの作品は、仮想空間でのアカウント乗っ取りという、当時としては画期的なテーマを扱っていて、今見てもその先見性に驚かされます。
神木隆之介さんの声も、本当に健二くんにぴったりで、改めてその演技力に引き込まれます。
さて、そんな『サマーウォーズ』の物語の核となるのが、健二くんに送られてくる謎の数字の羅列。
今回は、この複雑な暗号について、一緒に深く掘り下げていきましょう。
サマーウォーズ考察wiki|暗号・数式の意味は?
あの膨大な数字の羅列、一体何を意味するのか?
物語の序盤、健二くんの携帯電話に突然送りつけられてくる、あの長い長い数字の羅列。
初めて見た時は、まるでバグか迷惑メールのように感じましたよね。
でも、あれはOZのシステムを乗っ取ろうとする人工知能「ラブマシーン」が、健二くんに送りつけた「問題」だったんです。
コミック版では、その桁数がなんと2,056桁にも及ぶと書かれています。
この膨大な数字の羅列は、実は二つの部分に分けることができます。
一つは暗号化されたメッセージそのもの、つまり「暗号文(C)」です。
もう一つは、その暗号を解くために必要な情報の一部、「公開鍵(N)」なんです。
なぜ二つの部分だとわかるかというと、暗号文は、公開鍵を使って計算された「余り」なので、必然的に公開鍵よりも短い桁数になります。
映画の中で健二くんが必死に紙に書きつけていたあの数字たち、それが物語の鍵を握っていたんですね。
サマーウォーズ考察|暗号・数式のRSA暗号とは?
「RSA暗号」ってそもそも何?鍵の仕組みを解き明かす
健二くんが解いた暗号は、作中では明言されませんでしたが、ファンの間では「RSA暗号」だったと噂されています。
このRSA暗号、実はリベスト(Rivest)、シャミア(Shamir)、アドルマン(Adleman)という3人の研究者の名前の頭文字から取られているんですよ。
これが、現代のインターネット社会を支える「公開鍵暗号方式」の代表格なんです。
従来の暗号は、暗号化と復号化に同じ「鍵」が必要で、その鍵を相手にどう安全に渡すかが大きな課題でした。
でもRSA暗号は、誰にでも公開できる「公開鍵」と、自分しか持たない「秘密鍵」という、二種類の鍵を使うのが特徴なんです。
公開鍵で暗号化したメッセージは、秘密鍵でしか解読できない。
これがどういうことかというと、たとえ公開鍵が世界中に知られても、秘密鍵が漏れない限り、暗号は破られないという、画期的な仕組みなんです。
この暗号の肝となるのが、非常に大きな二つの「素数」(PとQ)を使って「公開鍵N」を生成することです。
NはPとQを掛け合わせただけの数字なんですが、このNからPとQを割り出す「素因数分解」が、とてつもなく難しい計算なんです。
健二くんが新幹線の中で夏希先輩の誕生日から曜日を言い当てたシーン、覚えていますか?
あれも「モジュロ演算」という、RSA暗号の解読に不可欠な計算なんです。
健二くんにとって、モジュロ演算が得意分野だということを示す、心憎い伏線だったわけです。
サマーウォーズ考察wiki|暗号・数式の解き方は?答えは?
健二が解き明かした暗号の答え、そしてその凄まじさ
健二くんが解き明かした暗号の答えは、二つの意味深なメッセージでした。
一つ目は「the magic words are squeamish ossifrage」。
これは実際に存在した「RSA-129」という暗号解読チャレンジの答えなんです。
このRSA-129は、1977年に発表された際、解読には数百年かかると予測されていたのに、1994年にはなんと1600台ものコンピューターを8ヶ月間動員して解読されたという、伝説的な問題なんですよ。
そしてもう一つは、「To know is to know that you know nothing That is the true meaning of knowledge」。
これは古代中国の哲学者、孔子の言葉「知るを知るとなし、知らざるを知らずとなす。これ知なり」を英訳したものなんです。
さて、健二くんの天才ぶりが際立つのはここからです。
映画に登場したあのNの桁数は、なんと千桁以上。
先ほどお話ししたRSA-129でさえ129桁。
現在、世界中で広く使われているRSA暗号の鍵長(2,048ビット、約617桁)でも、スーパーコンピューターが解くには1億年かかると予測されるほどの超難問なんです。
それを、健二くんはたった一晩で、しかも紙とペンを使って解いてしまったんです。
もう、人間業とは思えないですよね。
彼が数学オリンピックの日本代表になれなかったのが不思議でなりません。
劇中で健二くんが電車の中で読んでいた数学雑誌の記事タイトルが「Shorの因数分解アルゴリズム」だったのも、まさに「量子コンピューターが完成すればRSA暗号を高速に解けるようになる」という、未来の技術を示唆する伏線だったんです。
もちろん、映画の暗号には厳密な数学的整合性が完璧ではないという指摘もあります。
たとえば、健二くんが解いたはずの暗号の一部が、実際のRSA-129の数字と微妙に異なっていたり、彼が解いたとされた「公開鍵N」が実は素因数分解できない数だったり…。
しかし、そんな細かいことはどうでもいいと思わせるほどの、健二くんの純粋な数学的才能と、彼が日本、いや世界を救うために奮闘する姿が、僕たちの心を掴んで離さないんですよね。
まとめ
僕もあの夏に『サマーウォーズ』と出会ってから15年。
健二くんのように世界を救う数学の才能はないけれど、この映画から受け取った感動は、今も僕の心の中で輝き続けています。
皆さんも、この夏、改めて『サマーウォーズ』を観て、暗号の謎、そして健二くんの凄さを再確認してみてはいかがでしょうか。
最後までお付き合いいただいてありがとうございました。