基本情報技術者 2019年 春期 午前(科目A) 問39
問題文
楕円曲線暗号の特徴はどれか。
選択肢
ア:RSA暗号と比べて、短い鍵長で同レベルの安全性が実現できる。(正解)
イ:共通鍵暗号方式であり、暗号化や復号の処理を高速に行うことができる。
ウ:総当たりによる解読が不可能なことが、数学的に証明されている。
エ:データを秘匿する目的で用いる場合、復号鍵を秘密にしておく必要がない。
🔒 解説は解答すると表示されます
楕円曲線暗号【午前解説】
正解の理由
正解は ア です。楕円曲線暗号(ECC)は公開鍵暗号方式で、同じ安全度を得るためにRSAに比べて鍵長が短くて済むことが実用上の大きな利点です。たとえば、一般に 256ビットのECC鍵は約3072ビットのRSA鍵と同等の安全性とみなされます。これは楕円曲線離散対数問題(ECDLP)が計算的に難しいという仮定に基づくため、短い鍵長で済むのです。
解法ステップ
- 各選択肢のキーワードを確認する(RSA、共通鍵、数学的証明、復号鍵の公開)。
- 楕円曲線暗号の基本性質を思い出す(公開鍵暗号、ECDLP、鍵長効率)。
- 選択肢と照合して矛盾するものを除外する(共通鍵や「証明された不可能」など)。
- 残った「短い鍵長で同レベルの安全性」が妥当であることを確認して正答とする。
選択肢別の誤答解説
- ア: ア は正しい。ECCは公開鍵暗号で、ECDLPの困難性により短い鍵長で同等の安全性が期待できます(例:ECC-256 ≒ RSA-3072)。
- イ: 誤り。イは「共通鍵暗号方式」と述べているが、ECCは公開鍵暗号方式であり、共通鍵暗号のほうが一般に暗号化/復号が高速です。ECCは鍵交換や署名でよく使われます。
- ウ: 誤り。「総当たりによる解読が不可能と数学的に証明されている」は不正確です。現状は計算困難性の仮定に基づく経験則であり、数学的な不可能性は証明されていません。
- エ: 誤り。データを秘匿する目的で公開鍵暗号を使う場合でも、復号(秘密)鍵は秘密にしておく必要があり、公開してよいものではありません。
よくある誤解
- 「楕円曲線暗号は共通鍵暗号である」:ECCは公開鍵暗号であり、共通鍵(対称鍵)とは別物です。
- 「数学的に解読不可能が証明されている」:ECDLPの困難性は数学的証明ではなく計算困難性の仮定に基づくもので、絶対不可能と証明されているわけではありません。
- 「復号鍵を公開してよい」:公開鍵暗号であっても秘密鍵(復号鍵)は厳重に保護する必要があります。公開してしまえば安全性は消失します。
補足コラム
- 用途例:ECCはTLS、SSH、デジタル署名(ECDSA)、鍵共有(ECDH)などで広く利用されています。
- 鍵長比較の目安:おおむね ECC-256 ≒ RSA-3072、ECC-384 ≒ RSA-7680 といった比較が参照されます(標準機関や推奨により差異あり)。
- 実装上の注意:ECCは理論的利点がある一方で、サイドチャネル攻撃やパラメータ管理、乱数生成など実装の失敗で脆弱になることがあるため注意が必要です。
- 量子耐性:量子コンピュータ(ショアのアルゴリズム)はECCやRSAの両方に対して脅威となるため、将来的にはポスト量子暗号への移行が検討されています。
FAQ
Q1: ECCはRSAより常に速いですか?
A1: 鍵生成や公開鍵演算ではECCが有利な場合が多いですが、対称暗号の暗号化/復号処理に比べれば公開鍵暗号は一般に遅いです。用途に応じて使い分けます。
A1: 鍵生成や公開鍵演算ではECCが有利な場合が多いですが、対称暗号の暗号化/復号処理に比べれば公開鍵暗号は一般に遅いです。用途に応じて使い分けます。
Q2: ECCの安全性は証明されていますか?
A2: 現時点ではECDLPの困難性に基づく計算的仮定によるもので、数学的に解読不可能と完全に証明されているわけではありません。
A2: 現時点ではECDLPの困難性に基づく計算的仮定によるもので、数学的に解読不可能と完全に証明されているわけではありません。
Q3: どの鍵長を選べば安全ですか?
A3: 利用目的や求める安全度によりますが、現行の推奨では 256ビット以上(長期保管や高セキュリティではさらに上)を検討します。標準やベンダーの推奨に従ってください。
A3: 利用目的や求める安全度によりますが、現行の推奨では 256ビット以上(長期保管や高セキュリティではさらに上)を検討します。標準やベンダーの推奨に従ってください。
関連キーワード: 楕円曲線暗号, ECC, 公開鍵暗号, 楕円曲線離散対数問題, ECDSA, ECDH, 鍵長比較, 暗号学, サイドチャネル攻撃, ポスト量子暗号

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

