SkillStack
テクノロジ系16 / 25問

エンベデッドシステムスペシャリスト試験 令和2年度 秋期 午前II 問16

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

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】イ

公開鍵暗号方式では、利用者ごとに公開鍵と秘密鍵の一組を用意します。公開鍵は通信相手に知らせ、暗号化や署名の検証に使用します。一方、秘密鍵は本人だけが保持し、復号や署名の生成に使用します。n人の各人が2個ずつ鍵をもつので、必要な鍵の総数は、2×n=2n個です。相手ごとに新しい鍵を用意する必要はなく、一人の公開鍵は複数の相手が利用できます。したがって、イが正解です。

アのn+1は誤りです。全員で共通の鍵を一つ追加するような数え方ですが、公開鍵暗号では各人に公開鍵と秘密鍵が必要なので、人数に1を加えただけでは不足します。

ウのn(n-1)/2は誤りです。これは、共通鍵暗号方式で全ての二人組に異なる共通鍵を割り当てる場合の鍵の組数です。公開鍵暗号では通信相手の組合せごとに鍵を作りません。

エのlog₂nは誤りです。これは二分探索の回数や、n通りを表すために必要なビット数などに現れる値であり、公開鍵暗号の鍵数とは関係しません。

【ポイント】 公開鍵暗号では「一人につき公開鍵と秘密鍵の2個」と覚えます。 全員が相互通信する場合、共通鍵暗号はn(n-1)/2組、公開鍵暗号は2n個という違いを整理しておきましょう。

出典:令和2年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問16
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の25問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める