🔐公開鍵暗号・RSA暗号の仕組みをわかりやすく図解!初心者向けの入門書

もふねこ

もふねこだよ🐾 今回は「公開鍵暗号」と、その代表格である「RSA暗号」の仕組みについて、日本一わかりやすく解説するね!

数学が苦手でも大丈夫。南京錠やパスワードの例え話を使いながら、現代のインターネットを支える最強の盾の秘密に迫るよ!

この記事の3秒まとめ(結論)

  • 公開鍵暗号とは:「鍵をかける人(送信者)」と「鍵を開ける人(受信者)」が別々の鍵を使う画期的な仕組み。
  • RSA暗号の仕組み:「掛け算は簡単だけど、素因数分解(元の数に戻すこと)はめちゃくちゃ難しい」という数学の一方通行性を利用している。
  • 使われている場所:ネットショッピング(HTTPS/SSL)や、仮想通貨(暗号資産)のウォレットなど、現代のセキュリティの要。

🧩 これまでの暗号の弱点と「公開鍵暗号」の誕生

読者
読者

もふねこ、そもそも「公開鍵」ってどういう意味?普通、鍵って人に公開しちゃダメなんじゃないの?

もふねこ
もふねこ

すごく鋭い質問だね!実は、そこが歴史上最大のブレイクスルーだったんだ。従来の暗号の弱点を克服するために生まれたのが「公開鍵」の考え方なんだよ🐾

古代の「シーザー暗号」から第二次世界大戦の「エニグマ」まで、これまでの暗号(共通鍵暗号)には大きな致命的な弱点がありました。それは、「暗号化する鍵と、復号(開ける)する鍵が同じ」だということです。

例えば、あなたが遠くにいる友達に暗号文を送る時、「AをZに変換するルールだよ」という鍵そのものを、どうやって友達に安全に届けるのか?という問題(鍵配送問題)が常に付き纏っていました。途中でスパイに鍵を盗まれたら、どんな強力な暗号も一瞬で解読されてしまいます。

「開いた南京錠」を公開する!公開鍵暗号の革命

この問題を一気に解決したのが1976年に発表された「公開鍵暗号」です。仕組みは、「開いた南京錠」をイメージするととてもわかりやすいです。

  1. 受信者(もふねこ)は、「パチンと閉めることは誰でもできるけど、開けるカギは自分しか持っていない『開いた状態の南京錠』」をたくさん用意し、世界中にバラ撒きます。(=これが公開鍵
  2. 送信者(あなた)は、もふねこから拾った南京錠を使って、手紙を入れた箱をカチャッとロックします。(南京錠なので、一度閉めたらあなた自身でももう開けられません)
  3. 受信者(もふねこ)の元に箱が届きます。南京錠を開けるカギ(=秘密鍵)を持っているのは世界でもふねこただ一人なので、安全に手紙を読むことができます。

このように、「暗号化する鍵(公開)」と「復号する鍵(秘密)」を別々にすることで、そもそも鍵を安全に配送しなくて済むシステムが完成したのです。


🔐 RSA暗号の仕組み:数学が生み出す“一方通行”の盾

読者
読者

南京錠の例えはわかった!でも、デジタルの世界で「自分でも開けられない南京錠」ってどうやって作るの?

もふねこ
もふねこ

その魔法を実現したのが「RSA暗号」だよ!これはある**「一方通行な数学の性質」**を使っているんだ🐾

公開鍵暗号の理論を、実際にコンピューターで使えるプログラムとして完成させたのが、リベスト(R)、シャミア(S)、アドルマン(A)の3人の天才です。彼らの頭文字を取ってRSA暗号と名付けられました。

RSA暗号の安全性の根本にあるのは、「巨大な素数の掛け算は一瞬でできるが、その答えを元の素数に分解(素因数分解)するのは、現在のスーパーコンピューターでも何千年もかかる」という数学の性質です。(※将来、量子コンピュータが実用化されるとこの安全性が脅かされる可能性があり、現在は「耐量子暗号」の研究が進んでいます)

卵かけご飯は、元の「卵」と「ご飯」に戻せない

例えば、「13 × 17」を計算するのは人間でも数秒で「221」とわかりますね。しかし、「221を素因数分解してください」と言われると、急に難しくなります。これが現在主流の600桁以上の途方もない巨大な数になったら、現代の最高のスーパーコンピューターを使っても宇宙の寿命以上の時間がかかると言われています。

これを料理で例えれば、「卵とご飯を混ぜて卵かけご飯を作るのは一瞬(暗号化)だけど、完成した卵かけご飯から、元のきれいな生卵と白ご飯に分離する(復号・解読)のは不可能に近い」のと同じです。

もふねこ
もふねこ

卵かけご飯を元の生卵と白ご飯に戻すのは、普通の人には絶対に不可能だよね。でも、もふねこが持っている「秘密のふりかけ(=秘密鍵)」をかけると、一瞬で元通りに分離できるんだ!これが「落とし戸(トラップドア)付き一方向関数」と呼ばれる、RSAの魔法の真髄だよ🐾

RSA暗号では、2つの巨大な素数を掛け合わせた数 n を世界に公開します(これが公開鍵の一部)。秘密鍵は、その2つの素数を使って別途計算される特別な数値(d)で、本人だけが持っています。素因数分解が極めて難しいため、n を公開しても元の2つの素数が割り出せず、秘密鍵も導き出せない——これがRSAの安全性の根拠です。


📘 まとめと次のステップ:RSAはこの世界をどう守っている?

ここまでのおさらいです。

  • 公開鍵暗号:鍵を渡す危険性を排除した画期的なアイデア
  • RSA暗号:素因数分解の難しさを利用して、公開鍵暗号を現実のものにしたアルゴリズム
読者
読者

なるほど〜!数学の「逆算のしにくさ」をつかって、見えない南京錠を作っているんだね!

もふねこ
もふねこ

そうなんだ🐾 Amazonなどのお買い物ではこのRSA暗号が大活躍しているし、LINEや仮想通貨(ビットコインなど)では、暗号の歴史編で少し紹介した「ECC(楕円曲線暗号)」という進化形も使われているんだよ!暗号って、私たちが気づかないところでみんなの生活を守ってるんだね🐾

あなたがAmazonでクレジットカード番号を入力するとき、LINEで友達にメッセージを送るとき、そしてWebサイトの「https」の通信。これらすべてで、裏ではこの公開鍵暗号が一瞬で計算され、あなたを守ってくれているのです。

💎 もふねこの「暗号資産カフェ」へようこそ!

実は、この公開鍵と秘密鍵の仕組みが最も大活躍しているのが、ビットコインなどの仮想通貨(暗号資産)の世界です。
仮想通貨の「アドレス」は公開鍵からハッシュ処理されて生成され、「ウォレットの秘密鍵(シードフレーズ)」が秘密鍵に該当します。この秘密鍵を他人に知られると、どんなに強力な暗号でも資産がすべて奪われてしまう仕組みって知っていましたか?

姉妹サイト「暗号資産カフェ」では、この暗号技術がどのようにしてお金を生み出しているのか、図解たっぷりで解説しています!稼ぐための基礎知識になりますよ🐾

👉 暗号資産カフェで続きを読む

このステップを読み終えたらスタンプをゲットしよう!

🔙 📚 カフェの書庫へ戻る 次のステップ(STEP 5)へ進む ➡
⚠️ マニアック深掘りゾーン

📂 さらに深く学ぶ(上級者向け)

もふねこからのアドバイス🐾
ここから先は数学や技術が大好きな人向けの超・専門記事だよ!まずは基本のSTEP 10まで完走してから、後で戻ってくる(ブックマークしておく)ことを強くおすすめするね!

この記事(STEP 4: 公開鍵暗号)に関連する、より高度な専門テーマや歴史について解説した子記事群です。興味があればぜひ飛び込んでみてください🐾