対象試験と出題頻度
RSA暗号は、情報セキュリティマネジメント試験、基本情報技術者試験、応用情報技術者試験で出題されます。頻出度は「A(重要)」で、「公開鍵暗号方式の代表例」として問われることが多いです。
AES(共通鍵暗号)との違いを明確にしておきましょう。
詳細をクリックして確認
情報セキュリティマネジメント
基本情報技術者
応用情報技術者
★★★★☆
ランクA(重要)
用語の定義
RSA暗号(RSA Cryptosystem)とは、一言で言うと「大きな数の素因数分解が困難であることを利用した、公開鍵暗号方式の代表的なアルゴリズム」のことです。
イメージとしては、「掛け算は簡単だけど、逆算は難しい」という性質を利用しています。
例えば「7×13=91」は一瞬で計算できますが、「91を素因数分解せよ」と言われると、少し考える必要があります。RSA暗号では、この差を桁違いに大きくして安全性を確保しています。
📊 RSA暗号の基本情報
| 項目 | 内容 |
|---|---|
| 暗号方式 | 公開鍵暗号方式(非対称鍵暗号) |
| 安全性の根拠 | 大きな数の素因数分解の困難性 |
| 推奨鍵長 | 2048ビット以上 |
| 発表年 | 1977年 |
| 名前の由来 | 考案者3人(Rivest, Shamir, Adleman)の頭文字 |
解説
情報処理試験を勉強していると、「RSAとAES、どっちも暗号なのに何が違うの?」と混乱することがあります。
結論から言うと、RSAは「公開鍵暗号方式」、AESは「共通鍵暗号方式」です。この区別は試験で頻出なので、確実に覚えておきましょう。
RSA暗号の仕組み(概要)
RSA暗号は、2つの大きな素数を掛け合わせて作った数を使います。例えば、素数pと素数qを掛けて「n = p × q」という数を作ります。このnを公開しても、pとqを求める(素因数分解する)のは非常に困難です。
現在使われているRSA暗号では、nは600桁以上(2048ビット)の巨大な数です。このような数を素因数分解するには、現在のスーパーコンピュータでも天文学的な時間がかかります。この「計算の非対称性」がRSA暗号の安全性を支えています。
試験では計算方法までは問われないので、「素因数分解の困難性を利用している」という点を押さえておけば十分です。
RSA暗号の用途
RSA暗号は公開鍵暗号方式なので、「公開鍵で暗号化→秘密鍵で復号」という使い方ができます。主な用途は以下の2つです。
鍵交換(暗号化通信)では、共通鍵を安全に相手に送るために使われます。ハイブリッド暗号方式において、セッション鍵(共通鍵)をRSAで暗号化して送り、以降の通信は高速なAESで行う、という使い方が一般的です。
デジタル署名では、「秘密鍵で署名→公開鍵で検証」という逆の使い方をします。秘密鍵は本人だけが持っているため、秘密鍵で作成した署名は「本人が作成した証拠」になります。電子契約や電子証明書で広く使われています。
📊 RSA暗号とAESの比較(試験対策)
| 項目 | RSA | AES |
|---|---|---|
| 暗号方式 | 公開鍵暗号方式 | 共通鍵暗号方式 |
| 鍵の数 | 2つ(公開鍵・秘密鍵) | 1つ(共通鍵) |
| 処理速度 | 遅い | 速い |
| 鍵の配送 | 公開鍵は公開OK | 安全に渡す必要あり |
| 主な用途 | 鍵交換、デジタル署名 | データ本体の暗号化 |
| 安全性の根拠 | 素因数分解の困難性 | 鍵の総当たりの困難性 |
💡 RSAの鍵長について
RSA暗号の安全性は鍵長に大きく依存します。かつては1024ビットが標準でしたが、コンピュータの性能向上により、現在は2048ビット以上が推奨されています。
同じ安全性を実現するために、RSAはAESより長い鍵が必要です。例えば、AES-128(128ビット)と同程度の安全性を得るには、RSAでは3072ビット程度の鍵長が必要とされています。
楕円曲線暗号(ECC)との関係
RSA暗号の代替として注目されているのが楕円曲線暗号(ECC: Elliptic Curve Cryptography)です。
ECCは楕円曲線上の離散対数問題の困難性を利用しており、RSAより短い鍵長で同等の安全性を実現できます。スマートフォンやIoTデバイスなど、処理能力が限られた環境で採用が進んでいます。
⚠️ 試験での注意点
RSA暗号は「公開鍵暗号方式」です。「RSAは共通鍵暗号方式である」という選択肢は誤りです。
また、RSA暗号の安全性は「素因数分解の困難性」に基づいています。「離散対数問題」を利用しているのは楕円曲線暗号やDiffie-Hellman鍵交換なので、混同しないようにしましょう。
試験ではこう出る!
RSA暗号は「公開鍵暗号方式の代表例」として出題されます。「素因数分解の困難性を利用」「公開鍵と秘密鍵のペアを使用」という2点を押さえておけば対応できます。
計算方法までは問われません。試験ではここまででOKです。
【重要キーワード】
- RSA暗号
- 公開鍵暗号方式(非対称鍵暗号)
- 素因数分解の困難性
- 公開鍵と秘密鍵のペア
- 鍵交換、デジタル署名に使用
- Rivest, Shamir, Adleman(考案者の頭文字)
試験問題で「公開鍵暗号方式の例」「素因数分解の困難性を利用した暗号」と聞かれたら、答えは「RSA」です。
📊 公開鍵暗号アルゴリズムの整理(試験対策)
| アルゴリズム | 安全性の根拠 | 特徴 |
|---|---|---|
| RSA | 素因数分解の困難性 | 最も普及、鍵長は長め |
| 楕円曲線暗号 | 楕円曲線上の離散対数問題 | RSAより短い鍵長で同等の強度 |
📝 IPA試験での出題ポイント
RSA暗号の問題は、「公開鍵暗号方式の代表例を選べ」「RSAの安全性は何に基づくか」という形式で出題されます。RSAは公開鍵暗号方式であること、安全性の根拠は「素因数分解の困難性」であることを押さえておけば正解できます。AES(共通鍵暗号)との混同に注意しましょう。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. RSA暗号に関する説明として、最も適切なものはどれでしょうか?
- A. 大きな数の素因数分解が困難であることを利用した公開鍵暗号方式であり、鍵交換やデジタル署名に使用される
- B. 暗号化と復号で同じ鍵を使う共通鍵暗号方式であり、処理速度が速いため大量データの暗号化に適している
- C. 楕円曲線上の離散対数問題を利用した暗号方式であり、RSAより短い鍵長で同等の安全性を実現できる
正解と解説を見る
正解:A
解説:
RSA暗号は、大きな数の素因数分解が困難であることを安全性の根拠とした公開鍵暗号方式です。暗号化と復号で異なる鍵(公開鍵と秘密鍵)を使用し、鍵交換やデジタル署名に広く使われています。名前は考案者3人(Rivest、Shamir、Adleman)の頭文字に由来します。
選択肢Bは「AES」など共通鍵暗号方式の説明です。選択肢Cは「楕円曲線暗号(ECC)」の説明であり、RSAとは異なる暗号方式です。