質問: お礼2590枚 サマーウィーズの暗号
回答: 【サマーウォーズの問題は実在する問題だった!】 ~どんな問題で健二がどう解いたのかが完全に分かりました~ パスワードの答えが、「★The Magic Words are Squeamish Ossifrage★」 ですので、この問題は、RSAコンテストで出題されたRSA-129というRSA暗号の問題です。 RSA-129の問題はここにのっています。↓ 「RSA numbers」 「RSA_Factoring_Challenge」 RSA暗号をどのように解読するかは、次に具体的に書いておきましたので まずこれをご理解下さい。. 「サマーウォーズの最後ケンジ君が落ちてくる衛星の「あらわし」の軌道を・・・」 ここから健二がどうやったか説明するので、長いけどちゃんと読んで下さいね^^ これを解いたDerek Atkinsによると、 コンテストで出題された公開鍵(e,n),暗号化されたパスワードCは次の通り 1n(素因数分解する数) = 1143816257578888676692357799761466120102182967212423 6256256184293570693524573389783059712356395870505898 9075147599290026879543541 2e(public exponent)=9007 3C(暗号化されたパスワード)= 96869613754622061477140922254355882905759991124574319874695 12093081629822514570835693147662288398962801339199055182994 5157815154 ちなみに健二に送られてきた数字に、チャントnが出てきてます。 録画を確認してみてください。(ちょっと違うのはご愛嬌^^) まずnを素因数分解すると、 n=p×q 34905295108476509491478496199038981334177646384933878439908 20577 × 32769132993266709549961988190834461413177642967992942539798 288533 です。これよりe×d=1 mod (p-1)×(q-1) を満たすdを求めます。 d= 106698614368578024442868771328920154780709906633937862801226 224496631063125911774470873340168597462306553968544513277109 053606095 dが分かったので、暗号化されたパスワードCを解読します。 M = C^d mod nより、 M(パスワード)= 200805 00 1301070903 00 23151804190 00 11805 00 1917210501130 91908 00 151919090618010705 で、これをアルファベットに以下のように応させます。 01=A, 02=B,03=C,04=D,05=E,06=F,07=G,08=H,09=I,10=J,11=K,12=L 13=M, 14=N,15=O,16=P,17=Q,18=R,19=S,20=T,21=U,22=V,23=W,24=X 25=Y,26=Z, 00=空白 すると、 THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE (20 08 05 =T H E) 以上です。 なんとサマーウォーズの問題は実在する問題だったのです。 驚きですね^^ 結局、細田監督は、ストーリ上5つの伏線を引くことで、 健二が解いた問題はRSA-129だと言ってるワケです。 サマーウォーズは観終わった後も、いろいろ調べて楽しめ る映画でした。(調べる過程がメッチャ面白かったな~^^) 【伏線】 1パスワードを求める問題であること。 2健二は電車で「Shorの因数分解アルゴリズム」の 論文(or 記事)を読んでいた。 「Shorの因数分解アルゴリズム」 3健二はモジュロ演算が得意。 <新幹線の中の会話> 健二「1992年の7月19日は日曜日でした」 夏希「ひょっとして、全部憶えているの」 健二「いえ、モジョロ演算っていうのを使って」 4メールで送られてきた数字が、RSA-129に符合する。 81 43 81 62 57 57 88 88 67 66 92 35 77 99(メールの数字) 11 43 81 62 57 57 88 88 67 66 92 35 77 99(RSA-129) 5パスワードが有名(?)なRSA-129の解 「The Magic Words are Squeamish Ossifrage」