基本情報技術者試験「鍵の数の計算」の問題
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を使う点に注意する。
セキュリティの他の問題
公開鍵暗号方式を用いて、送信者が受信者だけに読める暗号文を送る場合、暗号化に使う鍵はどれか。ハイブリッド暗号方式において、通信本文(平文データ)そのものの暗号化と、その暗号化に用いた鍵の受け渡しに使う方式の組合せとし…メッセージダイジェストの生成に用いるハッシュ関数が備えるべき性質として最も適切なものはどれか。PKI(公開鍵基盤)において、利用者の公開鍵が本人のものであることを保証する電子証明書を発行する機関はどれか。利用者の入力をWebページに無検証で出力する不備を悪用し、第三者が用意した不正なコードを被害者のブラウザ上で動作させる攻撃は…共通鍵暗号アルゴリズムであるAESの説明として最も適切なものはどれか。
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0287