SSLがどのようにして通信の安全性を保っているのかを解説しています。
文章の暗号化ははるか昔から行なわれてきました。暗号化は復号化できなければ意味がありません。そこでお互いに、暗号化・複合化のルールを知っている必要があります。このルールのことを通称「鍵」といいます。送信者と受信者で同じ鍵を用いるため、共通鍵暗号と呼ばれます。共通鍵暗号は昔から使われてきましたが、大きな問題がありました。それは鍵が第三者の手に渡ってしまえば、暗号の意味が無くなるということです。鍵の受け渡しをどうするかが常に課題となりました。
共通鍵暗号の欠点を解消するため、公開鍵暗号方式が考え出されました。公開鍵暗号では公開鍵と秘密鍵の二つの鍵が作成されます。公開鍵で暗号化したものは秘密鍵で復号化できます。秘密鍵さえ知られなければ、公開鍵はいくら知られても構いません。そこで私に文章を送る際は、この公開鍵で暗号化して送ってください、とあらかじめ鍵を公開しておけばいいのです。これによりいかにして鍵を相手に渡すかという問題が解決しました。
公開鍵暗号を用いれば万事解決の様に思えますが、現実的にはそうはいきません。一つは、個人が使うには技術的に難しいことです。例として、ショップ側は公開鍵を作成して公開することができますが、個人でできる方がどれだけいるでしょうか。もう一つは、暗号化・復号化にとても時間がかかり、実務上使えないということです。そのためSSLでは、データの暗号化には共通鍵暗号を使っています。そして共通鍵を公開鍵で暗号化して鍵の受け渡しをするという、ハイブリッドな方法を用いています。