STEP 4 詳細解説

🏗️ RSA暗号の構造と安全性:現実の使われ方・限界・正直な評価

もふねこ

もふねこだよ🐾 RSA暗号シリーズの締めくくり!今回は「現実世界でRSAがどう使われているか」と「正直な限界」を説明するね。

ウソなく・正確に・わかりやすく伝えるのがもふねこのモットーだよ🐾

✨ RSAは実は「遅い」暗号:ハイブリッド暗号とは

まず大事な事実をお伝えします。RSAは実際のWebサイト通信でデータの暗号化に直接使われることはほとんどありません。

理由はシンプルで、RSAは処理が遅いのです。大きな数の累乗計算を繰り返すRSAは、AESなどの対称暗号と比べて数百〜数千倍遅くなります。

では、RSAはどこで使われているのでしょうか?答えは「ハイブリッド暗号」の仕組みの中です。

🔄 ハイブリッド暗号の流れ(TLSの場合)

  1. クライアントがサーバーの公開鍵(RSA用)を受け取る
  2. クライアントがランダムなセッション鍵(AES用)を生成する
  3. そのセッション鍵をRSAで暗号化してサーバーに送る
  4. サーバーがRSAの秘密鍵でセッション鍵を復号する
  5. 以降の通信はAESで高速に暗号化される

💡 つまりRSAは「AESの鍵を安全に渡す」ためだけに使い、実際のデータ暗号化はAESが担当します。

読者
読者

二つの暗号を組み合わせるの?なんか複雑…

もふねこ
もふねこ

逆に考えると天才的なんだよ!「RSAの安全性」と「AESの速さ」のいいとこどり。宅配ボックスに例えると「ボックスの鍵をRSAで安全に渡して、荷物はAESで守る」ようなイメージね🐾


🔸 RSAパディング:素朴なRSAの落とし穴

「素朴なRSA(教科書RSA)」には実は重大な脆弱性があります。同じ平文は必ず同じ暗号文になるため、攻撃者が特定のメッセージを推測できてしまいます(選択平文攻撃)。

この問題を解決するのがパディングです。現在のRSAでは必ずパディングを使います:

  • OAEP(最適非対称暗号化パディング):暗号化前にランダムな値を混ぜます。現在の標準。PKCS#1 v2.0(RFC 2437)以降で規定。
  • PKCS#1 v1.5パディング:古い方式。一部のシステムで使われていますが、脆弱性(ROBOT攻撃など)が報告されており非推奨。
  • PSS(確率的署名方式):電子署名専用のパディング。現在の標準。

⚠️ 重要:パディングなしのRSAは絶対に使わない
教科書的な「素のRSA」は安全ではありません。必ずOAEP(暗号化用)またはPSS(署名用)のパディングを使った実装を選んでください。信頼できるライブラリ(OpenSSL等)を使えば自動でパディングが適用されます。


🔸 RSAの電子署名への応用

RSAは暗号化だけでなく、電子署名にも使われます。面白いことに、暗号化とは逆の方向で鍵を使います:

🔒 暗号化

公開鍵で暗号化 → 秘密鍵で復号
「誰でも入れるが、持ち主だけ開けられる」

✍️ 電子署名

秘密鍵で署名 → 公開鍵で検証
「持ち主だけが署名でき、誰でも確認できる」

電子署名の具体的な流れ:送信者がメッセージのハッシュ値を自分の秘密鍵で署名 → 受信者が公開鍵で検証することで「このメッセージは確かに本人から来た」「改ざんされていない」を確認できます。

🔸 現在のRSAの正直な評価

評価項目 評価 コメント
現在の安全性(古典コンピュータ) ✅ 高い RSA-2048以上なら実用上安全
将来の安全性(量子コンピュータ) ⚠️ 疑問あり ショアのアルゴリズムで原理上解読可能
処理速度 ⚠️ 低い AESの数百〜千倍遅い
鍵サイズ ⚠️ 大きい 楕円曲線暗号(ECC)より鍵が大きい
実績・信頼性 ✅ 最高水準 1977年の発明から約50年(2026年現在)、世界中で検証済み

📌 まとめ

  • RSAはデータ暗号化に直接使うのではなく、AESの鍵を安全に渡す「ハイブリッド暗号」で使う
  • 「素のRSA」は危険。OAEPパディングとの組み合わせが現在の標準
  • 暗号化と逆方向(秘密鍵で署名・公開鍵で検証)で電子署名にも使用
  • 現在のスパコンに対しては十分安全。ただし量子コンピュータへの長期備えが必要
  • 代替として楕円曲線暗号(ECDSA)や耐量子暗号(格子ベース)への移行も進んでいる
もふねこ
もふねこ

RSAは万能ではないけど、正しく使えば今も最も信頼できる公開鍵暗号の一つね。「限界を知ったうえで正しく使う」のが本物のセキュリティ知識だよ🐾 次はPGPと暗号の輸出規制の歴史についても見てみてね!

ビットコインの署名もRSAと同じ「秘密鍵で証明」する仕組み!

暗号資産の送金は「秘密鍵で署名」することで所有権を証明します(RSAの電子署名と同じ原理)。
ウォレットの安全な使い方を姉妹サイトで学びましょう🐾

👉 暗号資産カフェでウォレット管理を学ぶ

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

🔙 前の記事:RSAと素数の安全性 STEP 4 まとめへ →