RSA暗号 - 暗号化全般

暗号化全般 | IT用語集

RSA暗号とは

RSAは、1977年にRon Rivest、Adi Shamir、Leonard Adlemanによって発明された公開鍵暗号アルゴリズムです。名前は3人の発明者の頭文字に由来します。RSAは、大きな素数の積を因数分解することが計算上困難であるという数学的性質を安全性の根拠としています。

RSAは公開鍵と秘密鍵のペアを使用し、暗号化、デジタル署名、鍵交換など、現代のセキュリティインフラで広く使用されています。TLS/SSL、SSH、S/MIMEなど、多くのプロトコルがRSAを採用しています。

RSAの仕組み

RSAは以下の数学的原理に基づいています:

  1. 鍵生成:2つの大きな素数p, qを選び、n = p × qを計算
  2. 公開鍵:(e, n) - eは公開指数(通常65537)
  3. 秘密鍵:(d, n) - dは秘密指数
  4. 暗号化:c = m^e mod n
  5. 復号化:m = c^d mod n

AIエンジニアとしての実体験

AIエンジニアとして、RSAは主にサーバー間通信の認証や、機密データの暗号化に使用しています。特にSSH鍵やTLS証明書の管理において、RSAの理解は必須です。

# RSA鍵ペアの生成
openssl genrsa -out private.key 4096

# 公開鍵の抽出
openssl rsa -in private.key -pubout -out public.key

# RSAで暗号化
openssl rsautl -encrypt -inkey public.key -pubin -in plaintext.txt -out encrypted.bin

# RSAで復号化
openssl rsautl -decrypt -inkey private.key -in encrypted.bin -out decrypted.txt

RSAの鍵長と安全性

鍵長安全性推奨度
1024ビット危険(2010年以降非推奨)❌ 使用禁止
2048ビット2030年まで安全⚠️ 最低限
3072ビット2030年以降も安全✅ 推奨
4096ビット長期的に安全✅ 最推奨

最新動向(2026年)

楕円曲線暗号への移行

RSAと比較して、楕円曲線暗号(ECC)は同等の安全性をより短い鍵長で実現できます。新規システムではECDSAやEd25519の採用が推奨されます。

量子コンピュータの脅威

量子コンピュータが実用化されると、ShorのアルゴリズムによりRSAは解読される可能性があります。NISTはポスト量子暗号の標準化を進めており、長期的な機密性が必要なデータには注意が必要です。

トラブル事例と対策

⚠️ 弱い鍵長の使用

症状:古いシステムで1024ビットRSAが使用されている

対策:2048ビット以上の鍵に更新。可能であればEd25519への移行を検討。

⚠️ RSAでの大量データ暗号化

症状:RSAで直接大量のデータを暗号化しようとする

対策:RSAは鍵交換や署名に使用し、データ暗号化にはAESを使用(ハイブリッド暗号)。

権威あるリソース

関連用語

📝 関連ブログ記事

【2026年最新】OpenSSLの深刻な問題とは?

暗号化実装のご相談

RSAに関するご質問や、暗号化基盤構築のご相談など、お気軽にお問い合わせください。