DBデータベーススペシャリスト試験 午前Ⅱ

平成30年度春期 データベーススペシャリスト 午前Ⅱ 問21

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

公開鍵暗号方式を使った暗号通信をn人が相互に行う場合,全部で何個の異なる鍵が必要になるか。ここで,一組の公開鍵と秘密鍵は2個と数える。

選択肢

  1. ア
    n+1
  2. イ
    2n
  3. ウ
    n(n−1)/2
  4. エ
    log₂n
解き方のヒントを見る

公開鍵暗号の鍵数を考える視点

公開鍵暗号の鍵数を検討するときは、利用者の人数、通信相手の組合せ、鍵を誰が保持するかを切り分けて考えます。個々の関係と全体の管理単位を混同しないことが重要です。

この問題で問われていること

この問題では、まず「誰と誰の間で、どの目的の通信を成立させるための鍵か」という単位に注目してください。人数全体だけで判断せず、鍵の所有者と役割の対応を整理して比較します。

視点

鍵数を考える際は、利用者ごとに持つものか、相手との関係ごとに増えるものかを区別し、必要な管理単位を整理します。暗号方式の名称だけでなく、前提となる利用範囲にも目を向けます。

確認ポイント

  • 鍵を数える単位を確認する
  • 利用者と鍵の対応関係を整理する
  • 想定される利用範囲を確認する
正解と解説を見る

正解

イ

解説

公開鍵暗号では、通信に参加する各人が公開鍵と秘密鍵の一組を持つ。設問では一組を2個と数えるため、n人分の鍵は2個ずつ必要になり、全部で2n個となる。

理由

n人の各参加者が公開鍵と秘密鍵の一組を持つ。1人当たり2個の鍵を用意するので、鍵の総数は、2個/人 × n人 = 2n個となる。したがって正答はイです。

比較

公開鍵暗号では、人数に応じて各参加者の鍵ペアを数える。通信相手の組合せ数を数える方式や、情報量を表す対数では、設問が指定する「公開鍵と秘密鍵を合わせて2個」という条件を直接表せない。

選択肢ア

これは不正解だよ。n+1は、n人の各参加者に公開鍵と秘密鍵を合わせて2個ずつ割り当てる条件を表していない。設問は共有する鍵の組合せではなく、参加者ごとの鍵ペアを数えているため、この値にはならない。

選択肢イ(正解)

これは正解だよ。公開鍵暗号では、n人の各参加者が公開鍵と秘密鍵を一組ずつ持つ。設問では一組を2個と数えるので、2個/人 × n人 = 2n個となり、条件に一致する。

選択肢ウ

これは不正解だよ。n(n−1)/2は、n人から2人を選ぶ通信相手の組合せ数を表す値である。しかし設問で必要なのは組合せごとの鍵ではなく、各参加者の公開鍵と秘密鍵なので、数える対象と条件が異なる。

選択肢エ

これは不正解だよ。log₂nは、nを基数2の対数で表す値であり、参加者ごとに公開鍵と秘密鍵を2個ずつ数える条件を反映していない。鍵の個数を求める設問に対して、単位と計算の基準が異なる。

学習のポイント

参加者ごとの鍵ペアを数える考え方と、通信相手の組合せ数との違いを理解する。

出典:独立行政法人 情報処理推進機構(IPA)平成30年度春期 データベーススペシャリスト試験 午前Ⅱ 問21(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針