公開鍵暗号を素人に説明する場合どのように説明したら良いでしょうか?

情報の送信元(Aとします)と受け取り側(Bとします)でお互いに公開鍵を交換し、AはBに情報を送信する際に、Aの秘密鍵で署名を、Bの公開鍵でデータの暗号化をするとします。
このとき、
1. 公開鍵は漏洩しても問題ないこと
2. 暗号がBの秘密鍵で複合化できること
3. Aの公開鍵で署名の検証ができること(確かにAから送られたデータであることの証明)
ができることを説明したいです。たとえ話など、実際の実装とは違っても問題ありません。わかりやすい説明を知りたいです。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/01/28 21:49:39
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:hidetoz No.4

回答回数88ベストアンサー獲得回数8

ポイント50pt

Aさんがサインした収納箱に、Bさんから借りた南京錠で鍵を閉め、その収納箱をAさんからBさんに渡す、と言う説明はどうでしょう?

1. 南京錠自体は誰が持っていても構いません

2. 鍵を開けられるのはBさんだけです。

3. Aさんのサインは独特で一目見れば彼のモノだと分かるのですが、書くのが難しく他人は真似できません。

id:mitani1207

シンプルでわかりやすくて良いです!

2009/01/28 21:42:09

その他の回答4件)

id:nori_zkt No.1

回答回数49ベストアンサー獲得回数5

ポイント20pt

私も大学で少し学んだ程度の素人ですが、こちらのサイトの南京錠の例えが分かりやすいと感じました。


3に関しては、こちらのサイトの「4. その公開鍵は本物か?」の項目が分かりやすいと思います。

id:mitani1207

なるほど、南京錠の例えはいいですね。

2009/01/28 20:55:53
id:hanadan No.2

回答回数61ベストアンサー獲得回数0

id:mitani1207

なるべく、公開鍵や秘密鍵といった言葉は使わないで説明したいです。

2009/01/28 20:58:29
id:lionfan No.3

回答回数109ベストアンサー獲得回数20

ポイント15pt

普通の金庫は、右に回して閉めたら、同じ鍵で左に回して開ける必要がある。

つまり、閉める鍵と開ける鍵が同じだから、鍵を盗まれたらおしまいだ。


でもここに、新しい鍵ができたとしよう。


鍵Aで、右にひねると鍵が閉まる・・・というのは、いままでと同じ。

ところが開けるときは、別の鍵Bで、さらにもう一段、右にカチッとひねらなきゃいけないんだ。


さて、この鍵Aで鍵をかけておいて、鍵Aをばらまいて、金庫をみんなの前に置いても問題ないだろ?

鍵Aは金庫の鍵を閉めることにしか使えない。開ける鍵Bを手に入れない限り、金庫は開けられないから。


ところで今の金庫は、

「みんなにばらまいている鍵」で閉め、「金庫の持ち主しか持ってない鍵」で開けた。

だから、金庫に鍵をかけることは誰にでもできるけど、開けることは持ち主にしかできなかった。

これとは逆の金庫を作ることもできる。


つまり、鍵を閉めるときに「金庫の持ち主しか持ってない鍵」で閉め、

鍵を開けるときには「みんなにばらまいている鍵」で開くような金庫だ。

この金庫は、本人しか閉められないが、みんなが開けることができる。


そんな金庫が何の役に立つかって?


あなたの家のチャイムがなる・・・宅配便のお兄さんだ。

「チィーッス、しなもんさんからの宅配便です・・・小さな金庫と大きな金庫ですね。ご確認お願いしまーす」


さて、これら金庫が、ホントにしなもんさんから送られたものだと知るためにはどうすればいい?

後者のタイプの金庫(小さい金庫)が役に立つのは、まさにこんなとき。


届いた金庫のうち小さなほうは、後者のタイプで、しなもんさんしか閉められない。

だから自分の署名を書いた紙を入れられるのはしなもんさんだけだ。


しなもんさんがばらまいている鍵でその金庫を開けたら、

しなもんさんの署名が入っていたら、この金庫はたしかにしなもんさんから届いたものだ。

他にそんなことができる人はいないんだから。


小さな金庫を開けて納得したあなたはこう思う・・・ふうむ、たしかにしなもんさんだな。

ところでしなもんさんの自分宛の荷物って何?


宅配便のお兄さんは、もうひとつの大きな金庫を渡す。

その大きな金庫は、しなもんさんが、あなたのばらまいている鍵で閉めた金庫だ。


あなたは、宅配便のお兄さんを帰らせた後、自分が大切にしまっている鍵でそれを開ける。

そしてしなもんさんの秘密の贈り物を見るってわけさ。

id:mitani1207

素敵な物語ありがとうございます。

2009/01/28 21:40:15
id:hidetoz No.4

回答回数88ベストアンサー獲得回数8ここでベストアンサー

ポイント50pt

Aさんがサインした収納箱に、Bさんから借りた南京錠で鍵を閉め、その収納箱をAさんからBさんに渡す、と言う説明はどうでしょう?

1. 南京錠自体は誰が持っていても構いません

2. 鍵を開けられるのはBさんだけです。

3. Aさんのサインは独特で一目見れば彼のモノだと分かるのですが、書くのが難しく他人は真似できません。

id:mitani1207

シンプルでわかりやすくて良いです!

2009/01/28 21:42:09
id:masaruyokoi No.5

回答回数8ベストアンサー獲得回数0

ポイント15pt

前提として、このようなルールがある。

  • 締める鍵とあける鍵が別になっている。鍵Aで締めたものは鍵Bで開く。
  • 鍵Bで締めたものは鍵Aで開く。

使い方として、このようなケースを紹介する:

  • 封書して送ってもらうような場合、締める鍵Aを公開して、開ける鍵Bを公開しないようにすれば、他人が開くことができなくなる。
  • 逆に、締める鍵Bを非公開にして、開ける鍵Aを公開しておけば、締める鍵Bを持っている人が締めたと考えられる。

鍵の開け閉めを暗号・復号と置き換えてね。

と説明してみてはいかがですか?

  • id:JULY
    ちょっと微妙な表現があったのでコメント。

    「3. Aの公開鍵で署名の検証ができること」

    A の署名を検証するために A の公開鍵を用いる、というのは正しいと思うのですが、A の公開鍵だけで署名の検証ができる、というのは、公開鍵暗号で一般的に言えることではないようです。

    暗号方式として RSA を使った場合には、確かに、秘密鍵を使ってデータのハッシュ値を暗号化処理をすることで署名を行い、その暗号化されたデータを公開鍵で復号し、実際のハッシュ値と比較することで検証できるのですが、それは、RSA の特徴であって、どの公開鍵暗号でも言えることではないようです。

    http://takagi-hiromitsu.jp/diary/20080229.html
    http://www.vicus-oryzae.com/gorua/sign.html

    私も、きちんと理解できてない部分があるのですが、少なくとも公開鍵暗号方式全般について語るときに、「秘密鍵で暗号処理、公開鍵で復号化」という説明は正しくありません。

    「署名の検証に公開鍵を使わない」というケースがあるかどうかが分からないので、「3. Aの公開鍵で署名の検証ができること」が間違いとは言えないと思いますが、「公開鍵だけで検証できる」という誤解があると、誤りということになります。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません