RSA暗号

 サマーウォーズの暗号(RSA暗号)の解き方の概要・難解さについて、この動画がわかりやすい。
https://youtu.be/kvC55N4k9ng

①アルファベットと数字を一対一対応させて、文字と数字との変換が出来る。

②3つの数字(鍵)がわかってる場合、計算により暗号はすぐ解ける。

③1つの数字はわかっていて、残りの2つの数字の積がわかっている場合、元の2つの数字がわかれば、暗号は解ける。しかし、この2つの数字を桁数の多い素数とすることで、現代のコンピュータでは計算速度の限界により、実用的な時間内に解けなくなる。桁数の多い素数の積を計算することは簡単だか、その逆は時間がかかる。サマーウォーズの場合、約500桁の素数同士の積らしい。

④1つめの数字も不明で、わかっているのは2つの数字の積のみ。これが、サマーウォーズで登場した暗号。

 ただし、RSA暗号では、この不明な数字は65537が使われることが多いらしい。この65537は、2^16+1であって、プログラマであれば興味深い数字である。なぜなら、2Byteで表現できる数字は65536通り=2^16でなじみ深いから。16進数なら65535=FFFF、65536=10000、65537=10001となり、特徴ある表記となる。

フェルマー数 - Wikipediaは、
2^1+1=3(素数)
2^2+1=5(素数)
2^4+1=17(素数)
2^8+1=257(素数)
2^16+1=65537(素数)
2^32+1=4294967297(=641*6700417)
2^64+1=18446744073709551617(未知)

⑤映画の暗号の解読結果は「the magic words are squeamish ossifrage To know is to know that you know nothing That is the true meaning of knowledge」「暗号の答えは骨折り損のくたびれ儲け。知とは、無知であることを知ること。それが知の本当の意味」※意訳してます。
前半の文は「さんざん頑張って計算したけど、何もないよ。ご苦労様でしたw」というシャレ。後半は孔子の教え。面白い。

※具体的な因数分解の答えは、わかりませんでした。 

もう一度サマーウォーズを見返したいです。