【真面目版】RSA暗号とは?初心者向けに仕組みを南京錠でわかりやすく解説

目次

はじめに ── 実は毎日お世話になっています

空子/情報セキュリティマネジメント担当

ネットショッピングでクレジットカード番号を入力するとき、LINEで友達にメッセージを送るとき、ネットバンキングで残高を確認するとき。私たちは日常的に「他人に見られたくない情報」をインターネット上でやり取りしています。

でも、ちょっと考えてみてください。インターネットは世界中のコンピュータがつながったネットワークです。途中で誰かにデータを覗き見される可能性だってあるはずです。それなのに、なぜ安心してカード番号を入力できるのでしょうか?

その答えのひとつが、今回紹介する「RSA暗号」です。

RSA暗号とは

空子/情報セキュリティマネジメント担当

RSA暗号は、1977年にアメリカのMIT(マサチューセッツ工科大学)の3人の研究者、Rivest(リベスト)、Shamir(シャミア)、Adleman(エーデルマン)によって発明されました。名前の由来は、この3人の頭文字です。

RSA暗号の最大の特徴は「公開鍵暗号方式」と呼ばれる仕組みを使っていることです。これがどれほど画期的だったかを理解するために、まずは従来の暗号の問題点を見てみましょう。

従来の暗号の困りごと ── 「鍵の受け渡し問題」

空子/情報セキュリティマネジメント担当

RSAが登場する前の暗号は、送る側と受け取る側が「同じ鍵(パスワードのようなもの)」を共有する必要がありました。これを「共通鍵暗号方式」といいます。

たとえるなら、あなたと友達が同じ鍵で開く金庫を1つずつ持っていて、手紙を金庫に入れてやり取りするようなものです。一見安全に思えますが、大きな問題があります。

「その”同じ鍵”を、最初にどうやって安全に相手に届けるの?」

鍵そのものを盗まれてしまえば、暗号の意味がなくなります。相手が世界中にいるインターネットの世界では、全員に安全に鍵を配ることはほぼ不可能です。

RSAの魔法 ── 「南京錠」のたとえで理解する

空子/情報セキュリティマネジメント担当

RSA暗号は、この問題をとてもエレガントに解決しました。その仕組みを、南京錠にたとえて説明します。

あなたが秘密のメッセージを受け取りたいとしましょう。あなたは次のことをします。

  1. 南京錠と鍵のセットを作る ── これがRSAでいう「公開鍵」と「秘密鍵」のペアです
  2. 南京錠だけを世界中にばらまく ── これが「公開鍵を公開する」ということです。鍵は自分だけが持っています
  3. メッセージを送りたい人は、あなたの南京錠で箱をロックして送る ── 誰でもロック(暗号化)はできます
  4. 届いた箱は、鍵を持っているあなただけが開けられる ── 秘密鍵を持つ人だけが復号(解読)できます

ポイントは、「ロックする道具(公開鍵)」と「開ける道具(秘密鍵)」が別々だということです。ロックする道具は誰に見られても構いません。それを使って箱を開けることはできないからです。

この仕組みのおかげで、「鍵を安全に届ける」という厄介な問題が一気に解消されたのです。

RSAを支える数学 ── 「素因数分解の難しさ」

空子/情報セキュリティマネジメント担当

RSA暗号の安全性は、ある数学的な事実に支えられています。それは「大きな数の素因数分解はとてつもなく難しい」ということです。

小さな数で試してみましょう。「15を素因数分解してください」と言われれば、すぐに「3 × 5」と答えられるでしょう。

では、「2つの大きな素数をかけ合わせた数」だとどうでしょう。たとえば数百桁の巨大な数を素因数分解しようとすると、現在の最速のスーパーコンピュータを使っても何万年もかかると言われています。

RSA暗号では、この「かけ算は簡単だけど、逆の素因数分解は途方もなく難しい」という性質を利用しています。公開鍵から秘密鍵を割り出すには、この素因数分解を解く必要がありますが、それが事実上不可能なので安全というわけです。

RSA暗号は今どこで使われている?

空子/情報セキュリティマネジメント担当

RSA暗号は、私たちの身の回りのあらゆる場面で活躍しています。

ウェブサイトにアクセスしたとき、URLの先頭に「https」と表示されていることがありますよね。この「s」はSecure(安全)の意味で、通信が暗号化されていることを示しています。この安全な通信を確立する過程で、RSA暗号が使われていることがあります。

また、電子メールの暗号化、電子署名(このデータが本物であることの証明)、VPN接続、マイナンバーカードの認証など、デジタル社会のさまざまな場面でRSA暗号の技術が活用されています。

RSA暗号の未来 ── 量子コンピュータという脅威

空子/情報セキュリティマネジメント担当

現時点ではほぼ破ることが不可能なRSA暗号ですが、将来的に大きな脅威が迫っています。それが「量子コンピュータ」です。

量子コンピュータは、従来のコンピュータとはまったく異なる原理で計算を行います。1994年に数学者のピーター・ショアが発表した「ショアのアルゴリズム」を使えば、量子コンピュータで大きな数の素因数分解を高速に解けることが理論的に示されています。

つまり、十分に高性能な量子コンピュータが実現すれば、RSA暗号は破られてしまう可能性があるのです。

この脅威に備えて、世界中の研究者が「耐量子暗号(ポスト量子暗号)」と呼ばれる、量子コンピュータでも破れない新しい暗号方式の開発を進めています。アメリカの国立標準技術研究所(NIST)は、すでにいくつかの耐量子暗号アルゴリズムの標準化を進めており、デジタル社会の安全を守るための次の一手が着々と準備されています。

おわりに

RSA暗号は、発明から半世紀近くが経った今でも、インターネット社会の安全を支える重要な技術です。「かけ算は簡単だけど、素因数分解は難しい」というシンプルな数学の原理が、世界中の人々のプライバシーと安全を守っているのです。

空子/情報セキュリティマネジメント担当

次にネットショッピングをするとき、URLの「https」の文字を見たら、その裏で静かに働いているRSA暗号のことをちょっとだけ思い出してみてください。数学の力が、あなたの大切な情報を守ってくれています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITTIのアバター ITTI 運営長

ITTI運営長
調べものと学ぶことが止められなくなり、現在は以下の4ブログを運営中:
・DXブログ(今ここ!)
・CODEブログ
・INFRAブログ
・XRブログ

保有資格:ITパスポート
目標資格:情報処理安全確保支援士(学ぶこと多すぎて道のりは遠いですが、毎日コツコツ進めています…泣)

ブログでは、実務経験と最新技術を掛け合わせて、読者の「わかりにくい」を「わかる!」に変える記事を発信中!
最終目標は、これらの知識を活かして「ドラえもんのような万能AI」を開発すること(AIを副運営長任命が待ち遠しい!)。
DX・CODE・INFRA・XRに興味ある方、気軽にX(@llEqmDGOYZ4258)でDMください。一緒に学びましょう!

公務員のキャラがDXを解説!?パロディのブログ『ITTI DX』、発信中!

ITTI DXは企業の安心と持続をサポートするDXを特化したブログ

コメント

コメントする

CAPTCHA


目次