公開鍵暗号方式の意味が何となくわかったので、できるだけわかりやすく説明してみます。
公開鍵暗号方式とは、閉じる鍵と開ける鍵が別で、閉じる鍵だけ公開するという暗号化方式です。
受信者が公開した鍵を使い、送信者がデータを暗号化して送信します。
そして受信したデータを受信者が秘密鍵で復号化します。
次のような流れでやりとりすることと同じです。
受信者がロックしていない南京錠を送信者に渡しておいて、送信者が情報を中に入れたらロックして、受信者に送ります。
受信者だけが南京錠の鍵を持っているので、受け取ったら、鍵で開けて中身を見ることができます。
南京錠が公開鍵で、南京錠の鍵が秘密鍵です。
スポンサーリンク
公開鍵暗号方式を使う理由
公開鍵暗号方式の説明の前に必ずでてくるのが共通鍵暗号方式です。
共通鍵暗号方式は、データのやり取りをするときに送信者と受信者が同じ鍵を持っている状態でやり取りします。
なので、お互いに鍵をかけて送受信すれば、それぞれの持っている鍵で開けて中身を見ることができます。
この方式の場合、データのやり取りをする全ての人間の組み合わせの数だけ鍵が必要です。
また、そもそも共通鍵の送受信で鍵が漏洩してしまったら何の意味もありません。
ということで、公開鍵暗号方式を使えば良いのですが、公開鍵暗号方式は暗号化するための鍵と復号化するための鍵が違うというアルゴリズムなので、データの処理に時間がかかります。
なので、通常はハイブリッド暗号方式という方法を使ってデータをやり取りします。
ハイブリッド暗号方式とは
ハイブリッド暗号方式とは共通鍵暗号方式で盗聴によって漏洩してしまうリスクが高い共通鍵だけを、
公開鍵暗号方式で送信して、その後のやり取りを共通鍵暗号方式で行うという手法です。
このハイブリッド暗号方式はSSLプロトコルでも採用されています。
テジタル署名とは?
テジタル署名は公開鍵暗号方式の逆の流れでデータを送信することで、送信者の本人確認をするものです。
公開鍵暗号方式のときは、公開鍵で暗号化したデータを送信し、秘密鍵で復号化しました。
デジタル署名の場合、秘密鍵で暗号化したデータを送信し、公開鍵で復号化します。
南京錠の例では説明できません。
Aさんが公開している公開鍵で復号化できるデータを作ることができるのは、
Aさんの秘密鍵を知っているAさんだけです。
なので、Aさんと称する人から送られてきたデータをAさんの公開鍵で復号化できたら、
送信者はAさんだと証明できるという理屈です。