ITパスポート試験 / 平成22年度 春期 ITパスポート試験 / 問70
certification-simodake-work

平成22年度 春期 ITパスポート試験 問70 解説 共通鍵暗号の鍵数

設問図

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

  1. 15
  2. 20
  3. 45 ✓ 正答
  4. 50

解説

この問題は、n人の中から2人を選ぶ組み合わせの数 n(n1)/2n(n-1)/2 という公式を使って解きます。10人の場合、式は 10×9/2=4510 \times 9 / 2 = 45 となり、答えは45個です。

共通鍵暗号方式における鍵管理の仕組み

共通鍵暗号方式は、暗号化と復号に「同一の鍵」を使う方式です。ある特定の2者間でやり取りをするためには、そのペア専用の鍵をあらかじめ共有しておく必要があります。

例えば、AさんとBさんが通信する場合、2人だけで使える鍵が1つ必要です。このとき、CさんやDさんがその通信の内容を知ることはできません。同様に、AさんとCさんの通信にはまた別の鍵が必要になります。このように、通信する相手の組み合わせが増えれば増えるほど、管理しなければならない鍵の数は雪だるま式に増えていくことになります。

組み合わせの数を数える考え方

なぜ n(n1)/2n(n-1)/2 という式になるのかを整理してみましょう。

10人がそれぞれ、自分以外の9人と通信するための鍵を持つと考えると、一人あたり9個の鍵が必要なように思えます。10人が9個ずつ持てば 10×9=9010 \times 9 = 90 個です。

しかし、この数え方には重複があります。たとえば「Aさんが持つAB間の鍵」と「Bさんが持つBA間の鍵」は、実際には同じ1つの鍵を指しています。つまり、90個という計算結果は、すべての組み合わせを2回ずつカウントしてしまっている状態です。そのため、最後に2で割ることで、正しい組み合わせの数を導き出します。

暗号方式の選択とスケーラビリティ

この問題は、共通鍵暗号方式が持つ「鍵配送問題」という弱点を浮き彫りにしています。

組織が小さいうちは共通鍵でも管理が可能ですが、参加者が増えると鍵の管理コストが爆発的に増加します。社員数が100人になった場合、必要な鍵の数は 100×99/2=4950100 \times 99 / 2 = 4950 個にも達します。これでは現実的な運用が不可能です。

この問題を解決するために、公開鍵暗号方式が用いられます。公開鍵暗号方式であれば、自分専用の鍵ペア(公開鍵と秘密鍵)を持つだけでよく、鍵の数は参加人数分に抑えられます。ITパスポート試験においてこの問題が出題される意図は、単なる計算練習ではなく、暗号方式の特徴と、それが実社会のネットワーク規模にどのような影響を与えるかを理解させることにあります。

参考リンク

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

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