「よろしくお願いしまぁぁぁすっ!!」
主人公の高校生・小磯健二が、鼻血を流しながらキーボードのエンターキーを押し込むシーンが有名な、細田守監督の映画『サマーウォーズ』。絵・CGの美しさや爽快なストーリー展開はもちろんのこと、インターネット空間のいびつさや現実世界のつながりを描き、2009年制作の作品ながら、今観ても考えさせられる物語だ。
そんな物語の冒頭に登場するのが、ある「暗号」である。健二がこの暗号に挑戦したことがきっかけで、彼はとんでもない展開に巻き込まれていく――。
一度でも『サマーウォーズ』を観たことがある人は、彼が「なにかすごいことをやってのけた」というのはきっと察することができるだろう。ただ、彼が何を成し遂げているかを知ると「なんかすごいこと」くらいではない。正直、語彙力が吹っ飛び、「ヤバい」としか言えなくなってしまうのではないか。それくらいヤバいのである。
そんな彼が解いたであろう暗号とは何なのか、そして彼がどう「ヤバい」のか、この記事ではそのエッセンスを紹介していく。
<ネタバレ注意>
本記事では『サマーウォーズ』のストーリーの一部に触れています。ネタバレを好まない人はぜひ作品を視聴してからどうぞ。
目次
◎「サマーウォーズの暗号」とは?
◎暗号のメリットはここにある!
◎RSA暗号はこれだ!!!
◎健二はなぜ「ヤバい」のか
「サマーウォーズの暗号」とは?
「なんだこれ」と怪訝に眺める健二だが、数学オリンピックの日本代表も狙えるほどの数学愛好家。何かを感じ取り、すぐに紙とペンで一心不乱に解読にとりかかる。なんと3時間ほどでその意味するものを理解し、答えを返信するのだが、この行動がきっかけで仮想空間「OZ」の乗っ取り事件に巻き込まれ、さらには世界が窮地に立たされてしまう。
細田守の長編アニメ「サマーウォーズ」BS12でオンエア、神木隆之介らが声の出演https://t.co/skRm51nFJe#サマーウォーズ #細田守 #神木隆之介 pic.twitter.com/lLuqRHoc8c
— 映画ナタリー (@eiga_natalie) August 14, 2021
『サマーウォーズ』では、健二が解いた(実際には完全に解けてはいないのだが)暗号が何なのかは明言されていない。ただし、状況証拠的に有力視されている暗号がある。
それが「RSA暗号」だ。
※実際には、健二が解いたものがRSA暗号であるかについては議論の余地があるが、この記事では「サマーウォーズの暗号=RSA暗号」と仮定してすすめることをご容赦願いたい。
RSA暗号とは
RSA暗号とは、1977年にアメリカのリベスト(Rivest)、シャミア(Shamir)、エーデルマン(Adleman)の3人によって発明された暗号アルゴリズムで、彼らの頭文字を取って命名された。聞き慣れない言葉のように感じるが、RSA暗号は今やインターネットを使ううえで欠かせない技術になっている。
身近なところでいうと、ウェブサイトにアクセスするときに、URLに鍵のマークがついているのを見たことがあるだろうか。そのウェブサイトの信頼性やアクセスするときの通信が暗号化されていることを表し、「このウェブサイトは安全ですよ」ということを示している(SSLサーバー証明書)。
こうした技術のベースに使われているのが、RSA暗号だ。他にもメールの電子署名などにも活用されている。これだけ一般的に使われている技術なのだから、いち高校生が紙とペンで突破してしまっては困る、というのはじわじわ伝わってほしい。
RSA暗号の基本的な仕組み
RSA暗号は「公開鍵暗号方式」と呼ばれる暗号アルゴリズムである。ちょっと毛嫌いしたくなる言葉が増えてきたが、考え方自体はさほど難しくない。
例えば、秘密の情報を誰かとやりとりしたいとき、たいてい思いつくのは「2人しか知らない合言葉やパスワードを設定する」という方法だ。ただその場合、パスワードを知らせるやりとりが誰かに見られていたら元も子もないし、私のよくない癖として相手が誰かに漏らしてしまうかもと考えてしまう。
そこで公開鍵暗号方式には大きなポイントがある。それは、秘密の情報を解読するための鍵は誰にも渡さなくていいという点だ。
公開鍵暗号方式でやりとりをする場合、情報を受け取りたい方が暗号化用の鍵(公開鍵)と復号用の鍵(秘密鍵)をセットで作成する。これらはいわば、南京錠つきの箱とその鍵だ。
やりとりは、この南京錠つきの箱(公開鍵)を相手に渡すことから始まる。
ここでいう暗号化とは、南京錠つきの箱を受け取った人が箱の中に情報を入れて、施錠するイメージだ。送り返された箱は、自分だけが持っている鍵(秘密鍵=復号用の鍵)で開けて情報を手に入れる。
やりとりするのに、鍵を持っているのは自分だけでよいのが、公開鍵暗号方式のメリットだ。施錠された箱だけ手に入れても、南京錠を開ける鍵を作るのは現実的に不可能なため、最悪誰かに奪われてしまっても、防犯上問題ないのである。
しかし、秘密の鍵は自分だけが持っているにもかかわらず、見たこともないような他人が合鍵を持っていると考えたら、ぞっとするだろう。『サマーウォーズ』の健二は、それと同じようなことをやってのけている。もうだいぶ、「ヤバい」と言いたくなってくるのではないだろうか。
RSA暗号とはこれだ!!!!
前置きが長くなったが、RSA暗号について紹介していこう。正直RSA暗号を数学的に理解するのははちゃめちゃに難しいため、この記事ではエッセンスのみを紹介していく。