進捗ネタ

暇なんです

公開鍵暗号ってよくわかんないよね?

おはようございます。

さて、突然ですが大学の講義で???ってなったところを書きます。

 

ディジタル署名の所をやっているときでした。仕組み自体はそこまで難しくなく、ハッシュ関数を使いメッセージをハッシュ値にし、それを秘密鍵で暗号化。相手はハッシュ値を公開鍵を使い復号し、送られてきたメッセージをハッシュしたものと同じか確かめるというもの。

https://www.ipa.go.jp/security/pki/024.html

ここで、疑問が、、。

あれ?秘密鍵で暗号化出来るの??公開鍵で復号できるの?

ディジタル署名ではなく、ただのメッセージや共通鍵を暗号化する場合

送信者は受信者の公開鍵で暗号化

受信者は自分の持っている秘密鍵で復号

こうやって、役割を分けることで安全に通信できるよねということだった気がしてた(私の思い込み)

 

秘密鍵で暗号化した文書は公開鍵でないと元に戻せない、 逆に公開鍵で暗号化することもできるけれどもそれは秘密鍵でないと元に戻せない、

http://www.infonet.co.jp/ueyama/ip/glossary/public_key.html

 

秘密鍵で暗号化→公開鍵で復号できる

公開鍵で暗号化→秘密鍵で復号できる

 

いや、、公開鍵で復号できるのなら意味なくないですか?って思ったんだけどそもそも用途が違うってことに気付いた。

ハッシュしてるんだから、そもそもハッシュ値は内容はばれても問題ない。そこから元のメッセージが分かるわけがないのだから。あるとしたらハッシュ関数に問題がある。(そもそも、メッセージは平文で送ってますし)そして、1番の勘違いが、鍵を渡すためにやっている行為なのだから

公開鍵で暗号化→秘密鍵で復号

という行為が出来るわけがない、むしろこれをするためデジタル署名をしてる。ハッシュ値を復号できる、そして元のメッセージをハッシュしたのと一致しているこれで、鍵が本物だって分かる。

つまり、通信が盗聴されても問題ない通信である、、

ということでした、、ばれちゃいけないのかと勘違いしてました。

 

この通信のために、秘密鍵で暗号化して、公開鍵で復号できるようにしたのですかね。

考えた人はほんと頭がいい。