基本情報技術者試験「公開鍵暗号の仕組み」の問題
公開鍵暗号方式であるRSAの安全性が根拠としている計算上の困難性はどれか。
ア任意長データから求めたハッシュ値から元データを逆算すること
イ大量の候補鍵を総当りで試して共通鍵を発見すること
ウ巨大な合成数を二つの素数の積に素因数分解すること
エ楕円曲線上の点のスカラー倍から元の係数を求めること
正解
ウ.巨大な合成数を二つの素数の積に素因数分解すること
RSAは二つの大きな素数の積から公開鍵を作る。公開鍵から秘密鍵を求めるには合成数を素因数分解する必要があり、桁数が十分大きいと現実的時間で解けないため安全性が保たれる。よって正しい。
?選択肢ごとの解説
ア ×ハッシュ値から元データを逆算できない一方向性はハッシュ関数の性質であり、RSAの安全性の根拠ではない。
イ ×総当りで共通鍵を探すのは共通鍵暗号への鍵全数探索攻撃の話であり、RSAの数学的困難性とは別である。
ウ ○RSAは二つの大きな素数の積から公開鍵を作る。公開鍵から秘密鍵を求めるには合成数を素因数分解する必要があり、桁数が十分大きいと現実的時間で解けないため安全性が保たれる。よって正しい。
エ ×楕円曲線上のスカラー倍から係数を求める困難性(離散対数問題)は楕円曲線暗号の根拠であり、RSAは素因数分解を根拠とする。
✎くわしく
公開鍵暗号は『計算は容易だが逆算は困難』な一方向性関数を用いる。RSAでは大きな素数の掛け算は容易だが、積の素因数分解は困難という非対称性を利用する。鍵長を伸ばすほど分解は指数的に難しくなるため安全性が高まる。
✓本番での押さえどころ
試験のコツ
『RSA=素因数分解』『楕円曲線/DH=離散対数』とアルゴリズムと困難性をセットで暗記する。
覚え方
RSAは『掛けるのは簡単、割って素数に戻すのは大変』。一方通行の掛け算、と覚える。
よくある誤り
RSAと楕円曲線暗号の根拠(素因数分解と離散対数)を取り違える誤りが多い。代表方式と困難性を対で覚える。
セキュリティの他の問題
公開鍵暗号方式を用いて、送信者が受信者だけに読める暗号文を送る場合、暗号化に使う鍵はどれか。ハイブリッド暗号方式において、通信本文(平文データ)そのものの暗号化と、その暗号化に用いた鍵の受け渡しに使う方式の組合せとし…メッセージダイジェストの生成に用いるハッシュ関数が備えるべき性質として最も適切なものはどれか。PKI(公開鍵基盤)において、利用者の公開鍵が本人のものであることを保証する電子証明書を発行する機関はどれか。利用者の入力をWebページに無検証で出力する不備を悪用し、第三者が用意した不正なコードを被害者のブラウザ上で動作させる攻撃は…共通鍵暗号アルゴリズムであるAESの説明として最も適切なものはどれか。
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0279