ハイブリッド暗号

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

ハイブリッド暗号方式(ハイブリッドあんごうほうしき)は、公開鍵暗号方式共通鍵暗号方式を組み合わせた暗号方式である。公開鍵暗号方式共通鍵暗号方式の欠点を補い合い、2つの暗号方式の利点をどちらも同時に利用することができる暗号方式である。TLSなどで利用されており、例えばWikipediaとの通信はHTTPS(TLSを使用)によりハイブリッド暗号方式で暗号化されている[1]

概要[編集]

ハイブリッド暗号方式は、公開鍵暗号方式共通鍵暗号方式を組み合わせた暗号方式である。「公開鍵暗号方式を用いて共通鍵暗号方式での通信の暗号化に必要な共通鍵を安全に共有」し、以降の通信は「(公開鍵暗号方式を用いて安全に共有された)共有鍵を用いて共通鍵暗号方式で行う」暗号方式である。これにより2つの暗号方式の「事前に鍵を共有していなくても安全に通信を暗号化できる」、「公開鍵暗号方式に比べて暗号化・復号の処理が非常に高速である」という利点をどちらも同時に利用することができる[2]

詳細[編集]

公開鍵暗号方式と共通鍵暗号方式にはそれぞれ以下のような利点と欠点がある。

公開鍵暗号方式と共通鍵暗号方式の利点と欠点を示す表
公開鍵暗号方式 共通鍵暗号方式
利点
  • 事前に鍵を共有していなくても安全に通信を暗号化できる
  • 公開鍵暗号方式に比べて暗号化・復号の処理が非常に高速である
欠点
  • 共通鍵暗号方式に比べて暗号化・復号の処理が非常に低速である
  • 事前に安全な方法で共通鍵を共有していないと安全に通信を暗号化できない

上記の表を見るとまず共通鍵暗号方式のみを用いて遠隔での通信を安全に暗号化することが現実的でないことがわかる。共通鍵暗号方式は公開鍵暗号方式に比べて非常に処理が高速だが、例えばあなたが直接会うことのできる知り合いとの通信を共通鍵暗号方式のみを用いて暗号化したい場合は、直接会うことで安全に共通鍵を共有できるかもしれないが、これでは、遠方の知り合いやそもそも知り合いでない人物との通信を暗号化することは非常に困難となる。これは、「通信先が世界中のあちらこちらに存在し」かつ「秒単位で安全な通信を確立することを求められる」インターネット上で用いる暗号形式としては非常に致命的な欠点である

次に、公開鍵暗号方式のみを用いて通信を暗号化した場合、共通鍵暗号方式と比べて処理が非常に遅いことがわかる(公開鍵暗号方式の暗号化・復号の処理にかかる時間は共通鍵暗号方式の数百から数千倍ともされ、公開鍵暗号方式のみで通信を暗号化することは非常に非効率的である)。公開鍵暗号方式は共通鍵暗号方式と異なり直接会うことができない人物(共通鍵を安全に共有できない人物)との通信も安全に暗号化できるが、共通鍵暗号方式と比較して同じ量のデータを転送しようとした場合に必要となる処理の量が尋常でなく多く、非常に非効率的となる

そこで、この2つの暗号方式の双方の利点をできる限り活用するために考えられたのがハイブリッド暗号方式である。具体的には「公開鍵暗号方式を用いて共通鍵暗号方式での通信の暗号化に必要な共通鍵を安全に共有」し、以降の通信は「(公開鍵暗号方式を用いて安全に共有された)共有鍵を用いて共通鍵暗号方式で行う」というものである。以下にハイブリッド暗号方式の利点と欠点を示す。以下に示す通り、ハイブリッド暗号方式は公開鍵暗号方式共通鍵暗号方式の利点をどちらも同時に利用できる優れた暗号方式である。

ハイブリッド暗号方式の利点と欠点を示す表
ハイブリッド暗号方式
利点
  • 事前に鍵を共有していなくても安全に通信を暗号化できる
  • 公開鍵暗号方式に比べて暗号化・復号の処理が非常に高速である
欠点
  • 大きな欠点はない

簡単な手順[編集]

  1. AとBは通信を暗号化したいと考えている
  2. Aが生成した共通鍵を、Bへ公開鍵暗号方式を用いて安全に送信する
  3. AとBは安全に共有された共通鍵を用いて共通鍵暗号方式を用いて通信を暗号化する

関連項目[編集]

脚注[編集]

  1. ^ ハイブリッド暗号とは - IT用語辞典” (日本語). IT用語辞典 e-Words. 2020年4月26日閲覧。 “Webの暗号化などで広く普及しているSSL/TLSなどで用いられている。”
  2. ^ 日経クロステック(xTECH). “ハイブリッド暗号方式---共通鍵暗号と公開鍵暗号を組み合わせる” (日本語). 日経クロステック(xTECH). 2020年4月26日閲覧。