昨今はコンピュータの進歩が目覚ましいですよね。
少し前には将棋ソフトのポナンザが名人に勝利したってニュースも流れましたし、
更に前にはシンギュラリティって言葉も話題になりましたね。
#え、そこまで一般的じゃないって?
先日、会社のシェアハウスで、他の社員と一緒にテレビを見ていたら、
「量子コンピュータと暗号」が取り上げられていたので、今日はちょっとそれについて書いてみます。
ちょっと長いかも、、、
1.
今や多くの人の生活に密着しているインターネット。個人情報や商品の購入情報など、プライバシー・セキュリティに関係する様々な情報がやり取りされていますが、
もしこれらの情報を★そのまま★送信したら、悪意のある人にすぐ読み取られてしまうかもしれません。
そのような事態を防ぐために、暗号技術が使われています。
詳細は省きますが、簡単に言えば、
送信前に特殊な方法を使って情報を変換し(暗号化)、
受信後にまた別の方法を使って情報を元に戻す(復号化)事を言います。
よく暗号化の例として、
情報に鍵をかけて(暗号化)から送信し、
受け取ったら鍵を開けて(復号化)取り出す、
なんて言ったりしますね。
2.
しかしこの暗号化と復号化、結構悩ましいんです。なぜなら、この技術は以下のような条件を満たす必要があるからです。
- 人によって異なる鍵を使わないといけない(お隣さんと家のカギが同じ、なんて訳にはいかない)
- 他の人が知らない、複製できない鍵でないといけない
- 情報を送る人と、受け取る人がセットで、暗号化・復号化できないといけない
3つ目はちょっと分かりにくいので、単純な例で説明します(実際この通りになっているわけではないですが、イメージとして)。
例えば私がSNSで特別な友人にメッセージを送る時に、それを周りの人に知られたくはないからメッセージを暗号化して送るわけです。
この時、このリクエストを受け取るのは友人ですね。
暗号化するのは私(または私のブラウザ)、
復号化するのは友人。
さて、どうやって私が暗号化した時の鍵🔑を、友人に渡せばよいのでしょうか。
メール✉で送る?
でもメールで送ると誰かに盗み見られてしまうかもしれない、、、
じゃあ、鍵🔑を暗号化して送る?
でも、鍵🔑を暗号化した別の「鍵」🔑をまた相手に知らせないといけない、、、
う~ん、こんがらがってきますね。
3.
そんな問題を解決し、今世界中で使われているのが、RSAという暗号化技術です。非常に簡単に言うと数学の「素因数分解」がベースになっています。
皆さん一度は学校で勉強しているハズ。
非常に大きな素数2つを掛け合わせた数を元にして、これを元に暗号化・復号化を行います。
詳細は省きますが、これだと上に書いた条件を全て「実質」クリアするんです!イヤーすごい。
、
、
、
4.
皆さんお気づきかと思いますが、上で「実質」と書いたのは理由がありまして、実はRSAもカンペキ✨な暗号、という訳ではないんですね。
上に書いた条件の2つ目、
・他の人が知らない、複製できない鍵でないといけない
を実は完全には満たせていないのです。
でも、「実質」満たしている。
実は、鍵の複製は時間をかければできるんです。
ただしそれに必要な時間がハンパなく長い。
世界のスーパーコンピュータでも年単位でかかるくらい。
普通のコンピュータだと一生かかっても終わらないくらいです。
だから、『現実的には』安全、だったのです。
コンピュータの性能が上がっても、ベースとなる素数の大きさを上げれば
更に強度が増していくので、
ずっと使い続けられる、ハズでした、、、
5.
ここでようやく量子コンピュータが登場します。これも原理は省きますが、ひとことで言うと「超大量に同時並行処理ができる」のが特徴です。
例えて言えば、
普通の原理のコンピュータが小さい素数から順番に因数分解を試すのに対し、
量子コンピュータはいきなり忍者のごとく数百億人同時に影分身して、一斉にバラバラの素数で因数分解できるか計算し始める、
みたいな。
分かりにくいか、、、
とにかく、この特殊な性質により、近い将来、量子コンピュータの性能向上により
RSAの「解くのに時間がかかる=安全」が崩れ去るのではないか?
とも言われているんです。
そうなったら、インターネットでの安全が確保できなくなってしまいます。これはマズい。
6.
そこで、今世界中で「次の暗号化技術」「量子コンピュータにも敗れない暗号化技術」が盛んに研究されています。
先日のTVで取り上げられていたのは、「格子問題」「格子暗号」などと呼ばれる、数学上の問題を利用した新しい暗号形式でした。
原理は「数百~千次元の空間上のベクトル数百本の組の中から~、、、」という感じ。
うーむ、イメージできませんよね。(^^;
でもこうやって、コンピュータの発展とともに、日々インターネットも進化していくんです。
そう思うと、普段何気なく使っているインターネットもちょっと違って見えてきませんか?
それでは、長文失礼しました~。