セキュリティ

基本情報技術者試験鍵の数の計算」の問題

テクノロジ系セキュリティ計算問題難易度:normal
10人が互いに共通鍵暗号方式で通信する。どの2人の組も固有の共通鍵を1個ずつ共有するとき、必要な鍵の総数は何個か。
10個必要となる
20個用意する
合計45個
およそ90個になる
正解
合計45個

共通鍵方式では通信する2人ごとに固有の鍵が要る。鍵の数は2人の組合せの数nC2=n(n-1)/2で求まり、10人なら10×9/2=45個となるため正しい。

?選択肢ごとの解説

ア ×10個は人数nをそのまま鍵数とした誤りで、各人が複数の相手と別々の鍵を持つことを考慮していない。
イ ×20個は2nの値で、公開鍵方式の鍵数(各人が公開鍵と秘密鍵を1対持つ)と取り違えた誤りである。
ウ ○共通鍵方式では通信する2人ごとに固有の鍵が要る。鍵の数は2人の組合せの数nC2=n(n-1)/2で求まり、10人なら10×9/2=45個となるため正しい。
エ ×およそ90個はn(n-1)=10×9=90を2で割り忘れた値で、組(順序なし)を順列(順序あり)で数えた典型的な誤りである。

くわしく

共通鍵方式は鍵が組ごとに必要なため、人数の2乗に比例して鍵が増える(鍵配送問題)。一方、公開鍵方式は各人が鍵対を1組持てばよく鍵数は2nで線形に収まる。この鍵数の増え方の違いが公開鍵暗号やハイブリッド方式の利点を理解する鍵になる。

本番での押さえどころ

試験のコツ

共通鍵の鍵総数は必ずn(n-1)/2。『2人の組の数=組合せ』と捉え、最後に2で割るのを忘れないこと。

覚え方

全員と握手する回数=n(n-1)/2、と握手の総数で覚える。握手は2人1組で1回なので2で割る。

よくある誤り

n(n-1)を2で割り忘れて90とする、または人数nをそのまま鍵数とする誤りが頻出する。組合せnC2を使う点に注意する。

セキュリティの他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0287

【基本情報技術者試験】鍵の数の計算の問題 — 解答・解説|ukamiru 過去問