マナビング基本情報技術者

公開鍵暗号方式と素因数分解の関係を見分ける

基本情報技術者試験 平成29年度秋期 午前 問38 / セキュリティ › 情報セキュリティ

過去問にチャレンジ

平成29年度秋期 午前 問38

非常に大きな数の素因数分解が困難なことを利用した公開鍵暗号方式はどれか。

  1. ア

    AES

  2. イ

    DH

  3. ウ

    DSA

  4. エ

    RSA

会話形式の解説

講師講師
この問題では、素因数分解の難しさに加えて、公開鍵暗号方式を問うている点に注目します。
受験者受験者
暗号の名前が並んでいるので迷います。まず、それぞれ何に使うかを確かめればよいですか。
講師講師
はい。AESは送信者と受信者が共通の鍵を使う暗号方式です。公開鍵暗号方式という条件には合いますか。
受験者受験者
合いません。暗号方式ではありますが、共通の鍵を使う点が違います。
講師講師
そのとおりです。では、DHは通信する相手と鍵を共有するための方式ですが、設問が求める暗号方式そのものですか。
受験者受験者
いいえ。鍵を共有する役割と、データを暗号化する役割を分けて考える必要があります。
講師講師
DSAはどうでしょう。これはディジタル署名に用いる方式です。
受験者受験者
署名は作成者の確認などに使います。データの暗号化を問う今回の条件とは違います。
講師講師
残るRSAは公開鍵暗号方式です。大きな合成数を素因数分解する難しさを利用するので、正解はRSAです。
受験者受験者
方式の名前だけで判断せず、暗号化・鍵共有・署名のどれに使うかを確認すると選べます。
講師講師
はい。特に、鍵を共有するDHを公開鍵暗号方式そのものと取り違えないようにしましょう。

まとめ

正解はRSAです。RSAは、大きな合成数の素因数分解が難しいことを利用する公開鍵暗号方式です。AESは共通の鍵を使う暗号方式、DHは鍵共有の方式、DSAはディジタル署名に用いる方式です。方式の用途を先に見分けると、紛らわしい選択肢を整理できます。

解答・解説

正解はエです

この問題のテーマ

素因数分解の難しさを利用する公開鍵暗号方式を、ほかの暗号・鍵共有・署名の方式と区別する問題です。

解き方の考え方

まず、設問が求めているのはデータの暗号化に使う公開鍵暗号方式だと確認します。次に、各選択肢の役割を見分け、素因数分解の難しさを利用するものを選びます。

選択肢ごとの解説

  1. ×ア  AES
    AESは送信者と受信者が共通の鍵を用いる暗号方式です。公開鍵暗号方式を問う条件に合いません。
  2. ×イ  DH
    DHは、通信する相手と鍵を共有するための方式です。設問が求める公開鍵暗号方式そのものではありません。
  3. ×ウ  DSA
    DSAはディジタル署名に用いる方式です。署名は作成者の確認などに使うため、設問の暗号方式には当たりません。
  4. ○エ  RSA
    RSAは公開鍵暗号方式です。大きな合成数を素因数分解することの難しさを利用するので、設問の条件に一致します。

POINT

  • 「公開鍵暗号方式」を問われたら、各方式の名前だけでなく用途を確認します。
  • 暗号化と鍵共有は、通信の中で担う役割が異なります。
  • ディジタル署名は、データの暗号化とは目的が異なります。

※出典:平成29年度秋期 基本情報技術者試験 午前 問38