n人で秘密鍵暗号方式を使って相互に通信する場合
異なる鍵の数は全部でいくつか?
n(n−1)
―――――――
2
これ正解になりますね。
暗記している方も多いことと思います。
私みたいに暗記苦手な人は、
理屈を理解しないといけません。
秘密鍵暗号方式の場合、暗号化する鍵と、複号する鍵が、
同じ鍵になりますね、
ですから暗号用と、複号用で一組、
要するに同じ鍵が2本必要と言うことです。
問題に「異なる」とあるので、2本あっても1種類ですよ。
鍵を事前に交換していないとこの集合には入れません。
ですから閉ざされた集合になります。
公開鍵は開かれた集合ですね。
9月19日は、このことを書いていたわけです。
さてここから公式の理解です。
(n−1)
まずはここからいきます。
何度も書きますが秘密鍵は事前に相手と鍵交換でしたね。
自分と、自分で鍵交換は意味がありませんね。
やり取りするといっても、元々自分でデータ持っていますから。
ですから、全部で2人のとき鍵交換の相手は1人
3人のとき鍵交換の相手は2人
4人のとき鍵交換の相手は3人
もうわかりましたね、
全部の人数から鍵を交換する必要の無い自分を引くので
(n−1) ということです。
次は、
n(n−1) です。
なんでn倍するのでしょうn−1じゃないの?
これもわかりますね。
n人で鍵のやり取りをするからです。
私も含めて全員が他人と交換するために、
それぞれ、n−1個の鍵を持っています。
ですから全員の人数と同じ、n倍にするわけです。
いよいよ最後です。
÷2 です。
何で2で割るのでしょう、
答えすでに上に書いてますね。
問題は異なる鍵の数を聞いています。
あなたと私でそれぞれ1本ずつ鍵を持っています。
質問に異なる入ってなければ、÷必要ありません。
異なる入ると秘密鍵暗号方式は、
必ず同じ鍵が2つあなたと私で持っています。
だから2で割るのです。
これで公式暗記しなくても大丈夫ですね。
問題に異なる入って無いときは2で÷したらだめですよ。
図も作ってみました。
私のホームページって、
今のところブログ用の図が2つ載ってるだけです。
要するに全体の人数と同じ多角形を書いて、
引ける対角線の数が異なる鍵の数と一致します。
質問に異なる鍵の数の記述ない場合、
図で書く時は対角線の数を2倍すれば良い訳ですね。
試験の時、考え方忘れても、
時間に余裕があれば、線を引いても答えだせます。