ITパスポート試験 / 平成25年度 春期 ITパスポート試験 公開問題 / 問76
certification-simodake-work

平成25年度 春期 ITパスポート試験 公開問題 問76 解説 共通鍵暗号の鍵数

設問図

共通鍵暗号方式では通信の組合せごとに鍵が1個必要となる。例えばA~Dの4人が 相互に通信を行う場合は,AB, AC, AD, BC, BD, CD の組合せの6個の鍵が必要であ る。8人が相互に通信を行うためには何個の鍵が必要か。

  1. ア 12
  2. イ 16
  3. ウ 28 ✓ 正答
  4. エ 32

解説

この問題は、nn人が相互に通信を行う場合の共通鍵の数を求めるものです。これは、数学の「組合せ」の考え方を使って計算できます。

nn人が相互に通信を行う場合の鍵の数は、nn人の中から異なる2人を選ぶ組合せの数で求められます。この組合せの数は、n(n1)/2n(n-1)/2 という計算式で求められます。 今回の問題ではn=8n=8なので、この式に代入すると、 8×(81)/2=8×7/2=56/2=288 \times (8-1) / 2 = 8 \times 7 / 2 = 56 / 2 = 28個となります。 したがって、正解はウ 28です。

組合せの考え方:なぜn(n1)/2n(n-1)/2なのか

共通鍵暗号方式では、通信する2人の間で1つの共通鍵を共有します。AさんとBさんが通信する場合、AさんとBさんの間で1つの鍵が使われます。この鍵は「AさんがBさんに送るための鍵」でもあり、「BさんがAさんに送るための鍵」でもあります。つまり、「AとBのペア」に対して1つの鍵が必要になるわけです。 このように、順序を区別せず、複数の中からいくつかを選ぶ選び方を「組合せ」と呼びます。

この「組合せ」の数を求める計算式n(n1)/2n(n-1)/2について、もう少し詳しく見てみましょう。

  1. まず、nn人の中から1人目の通信相手を選ぶ方法はnn通りあります。
  2. 次に、残りのn1n-1人の中から2人目の通信相手を選ぶ方法はn1n-1通りあります。
  3. このため、単純に掛け算するとn×(n1)n \times (n-1)となります。しかし、この数え方だと「AさんとBさん」というペアと「BさんとAさん」というペアを別々に数えてしまっています。実際にはこの2つは同じペア、つまり同じ鍵を指すので、重複分を解消するために2で割る必要があるのです。

問題文の例でも確認できます。4人(A, B, C, D)が相互に通信する場合、鍵の組合せはAB, AC, AD, BC, BD, CDの6個です。これを上記の計算式で求めると、4×(41)/2=4×3/2=12/2=64 \times (4-1) / 2 = 4 \times 3 / 2 = 12 / 2 = 6個となり、問題文の例と一致します。この理解を基に、8人の場合も同様に計算できるのです。

共通鍵暗号方式における鍵管理の課題

この問題は、単なる計算問題としてだけでなく、共通鍵暗号方式の抱える重要な課題、すなわち「鍵管理の複雑さ」を示唆しています。利用者数が増えれば増えるほど、管理すべき鍵の数が爆発的に増大することが、このn(n1)/2n(n-1)/2という計算式から見て取れます。

  • 少人数(例えば2人や3人)であれば鍵の管理は比較的容易です。
  • しかし、利用者数が10人になると 10×9/2=4510 \times 9 / 2 = 45個の鍵、
  • 100人になると 100×99/2=4950100 \times 99 / 2 = 4950個の鍵が必要になります。

これだけの多数の鍵を安全に生成し、各利用者に配布し、適切に管理し、さらに万が一漏洩した場合には迅速に更新する、という作業は非常に困難でコストがかかります。このような鍵管理の煩雑さが、共通鍵暗号方式のデメリットとして挙げられます。

ITパスポート試験では、この共通鍵暗号方式の特性と、その課題を解決するために登場した「公開鍵暗号方式」の仕組みを比較して理解しておくことが重要です。公開鍵暗号方式では、各個人が「公開鍵」と「秘密鍵」のペアを持ち、公開鍵は公開しても安全なため、鍵配布の手間が大幅に軽減されます。この問題を通じて、暗号技術の仕組みだけでなく、それが実際のシステム運用にどのような影響を与えるのかという視点も養っておきましょう。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう