目次
ハイブリッド暗号方式とは
ハイブリッド暗号方式とは、公開鍵暗号方式と共通鍵暗号方式を組み合わせた暗号方式で、Webの暗号で広く普及しているHTTPS(SSL/TLS)などで用いられています。
※HTTPSの場合は、サーバ証明書を使用します。詳しくは下記の記事をご覧ください。
詳細はこちら
公開鍵暗号方式で、共通鍵暗号方式の鍵を配送し、データのやり取りは共通鍵暗号方式で行います。
スポンサーリンク
共通鍵暗号方式
共通鍵暗号方式とは「暗号化」と「復号」に同じ鍵を使う暗号方式です。
共通鍵暗号方式の特徴は「暗号化」と「復号」に同じ鍵を使うため、鍵の配送を極秘に行わなければならないという短所、そして「公開鍵暗号方式」に比べると処理速度が速いという長所を持っています。
公開鍵暗号方式
公開鍵暗号方式とは「暗号化」と「復号」に別の鍵を使い、「暗号化」の鍵を公開できるようにした暗号方式です。
公開鍵暗号方式の特徴は、暗号用の公開鍵は公開しているので、鍵の受け渡しが容易であるという長所があります。しかし「共通鍵暗号方式」に比べ処理速度が遅いという短所があります。
暗号用の「公開鍵」と復号用の「秘密鍵」をペアとして生成します。そして、暗号用の公開鍵は公開しているのが特徴です。そのため、鍵の受け渡しが容易であり秘密に管理する必要があるのは、受信側で管理している「秘密鍵」だけです。
ハイブリッド暗号方式の仕組み
ハイブリッド暗号方式は、「共通鍵方式は鍵の共有が安全ではない」「公開鍵方式は処理時間がかかる」というお互いの短所を解消した暗号方式です。
公開鍵暗号方式で「共通の鍵」の受け渡しを行う
ハイブリッド暗号方式では、まず始めに公開鍵暗号方式を使い「共通の鍵」の受け渡しを行います。「共通の鍵」の受け渡しを行う手順は次の通りです。
1. 「公開鍵」と「秘密鍵」のペアを作成する
送信側から通信の依頼を受けた受信側では、公開鍵暗号方式で利用する鍵(公開鍵と秘密鍵のペア)を生成します。
2. 「公開鍵」を通信相手に連携する
受信側で生成した鍵のうち「公開鍵」を通信する相手に送ります。
3. 「共通の鍵」を生成する
「公開鍵」を受信した送信側では、共通暗号方式で利用する「共通の鍵」を生成します。
4. 「共通の鍵」を「公開鍵」で暗号化する
生成した「共通の鍵」を先ほど受け取った受信者の「公開鍵」で暗号化します。
5. 暗号化した「共通の鍵」を送る
暗号化した「共通の鍵」を受信側に送ります。
6. 「共通の鍵」を復号する
暗号化された「共通の鍵」を受信した受信側では、暗号化に利用した受信者の「公開鍵」とペアになっている受信者の「秘密鍵」で「共通の鍵」を復号し、「共通の鍵」を取り出します。
これで「共通の鍵」が送信側から受信側へと受け渡しが完了しました。
このようにハイブリッド暗号方式では、公開鍵暗号方式を使い「共通の鍵」の配送を行います。
共通鍵暗号方式でデータの送受信を行う
公開鍵暗号方式を使い「共通の鍵」の受け渡しが完了した後は、共通鍵暗号方式でデータの送受信を行います。
送信側では「平文」のデータを「共通の鍵」で暗号化して送信、受信側では「暗号文」を「共通の鍵」で復号して「平文」に戻します。
このようにハイブリッド暗号方式では、鍵の受け渡し方法に課題(鍵の配送を極秘に行わなければならない)がある共通鍵暗号方式の短所を、公開鍵暗号方式でカバー(安全に鍵の受け渡しを行う)、そして処理速度が遅い公開鍵暗号方式の短所を、共通鍵暗号方式でカバー(データの送受信は処理の速い共通鍵暗号方式で行う)しています。