共通鍵暗号の鍵の総数
100 人の利用者のうち任意の 2 人が,他の利用者に内容を知られることなく暗号通信を行う。共通鍵暗号方式を用い,2 人の組ごとに異なる鍵を用意する場合,必要な鍵の総数はどれか。
- ア100
- イ200
- ウ4950
- エ9900
正解と解説を見る
正解 ウ
この問題の基礎知識
- 共通鍵暗号方式は暗号化と復号に同じ鍵を使うので,通信する 2 人の組ごとに秘密の鍵を共有する必要がある。n 人の場合の鍵の数は,n 人から 2 人を選ぶ組合せの数 n(n−1)÷2 となる。
- 公開鍵暗号方式では,各利用者が公開鍵と秘密鍵の鍵ペアを 1 組ずつもつので,n 人で 2n 個の鍵で済む。
- 共通鍵暗号方式は処理が高速だが鍵の配送と管理が課題となり,公開鍵暗号方式は鍵の配送が容易だが処理が遅い。このため両者を組み合わせたハイブリッド暗号方式が広く使われる。
ア100
利用者 1 人に 1 個の鍵としたときの数である。共通鍵暗号方式では通信する 2 人で同じ鍵を共有するので,鍵は利用者ごとではなく 2 人の組ごとに必要になる。
イ200
公開鍵暗号方式で各利用者が公開鍵と秘密鍵の鍵ペアを 1 組ずつもつ場合の鍵の総数(2×100)である。共通鍵暗号方式では組合せの数だけ鍵が必要になる。
ウ4950正解
2 人の組合せの数だけ鍵が必要なので,100 人から 2 人を選ぶ組合せ 100×99÷2=4950 個となる。利用者が増えると鍵の数が急増することが共通鍵暗号方式の鍵管理上の課題である。
エ9900
100×99 で,A から B と B から A を別々に数えた順列の数である。共通鍵は通信する 2 人で共有する 1 個の鍵を双方向に使うので,2 で割る必要がある。
検証用の出典出典照合済み
IPA 応用情報技術者試験(レベル 4)シラバス / NIST SP 800-57 Part 1 Rev. 5 Recommendation for Key Management照合の根拠(1 件)
- ウ(正解): 共通鍵は暗号化と復号に同じ鍵を使うので,通信する 2 人で 1 個の鍵を共有する
The key is “symmetric” because the same key is used for a cryptographic operation and its inverse (e.g., for both encryption and decryption).
NIST SP 800-57 Part 1 Rev. 5 · Section 4.2(新しいタブで開きます)
検算: 100 人から 2 人を選ぶ組合せ 100×99÷2=4950。100 は利用者数,200 は公開鍵方式の鍵ペア数(2×100),9900 は順列 100×99。組合せは一般的な数学なので出典不要。