ハイブリッド暗号とは
ハイブリッド暗号とは、データの処理速度が速い「共通鍵暗号方式」と、鍵を安全に受け渡せる「公開鍵暗号方式」のそれぞれのメリットを組み合わせた暗号方式です。インターネット上のWebサイトと安全に通信を行う際(HTTPS通信など)に広く使われています。仕組みとしては、まず実際のデータ自体は処理の速い「共通鍵」で暗号化します。そして、その共通鍵自体を、相手の「公開鍵」を使って暗号化して送信します。受け取った側は自分の「秘密鍵」で共通鍵を取り出し、その共通鍵でデータを復号します。これにより安全かつ高速な通信が可能になります。
具体例
容量が大きく重いデータを「共通の鍵」で箱に入れて施錠し、その鍵自体を相手が公開している「南京錠」でロックして郵便で送る方法です。相手は自分しか持っていない鍵で南京錠を外し、中から出てきた鍵を使って大きなデータ箱を開けます。
1. データ自体を「共通鍵」で暗号化
2. その「共通鍵」自体を相手の「公開鍵」で暗号化して送信
3. 受信者は自分の「秘密鍵」で「共通鍵」を復号し、その「共通鍵」でデータを復号
もう少し詳しく
ハイブリッド暗号は、実際のWebサイトとの安全な通信(HTTPS/SSL・TLS通信)で標準的に使われている方式です。通信を開始する最初の段階(ハンドシェイク)で公開鍵暗号方式を使い、その通信だけで使う一時的な共通鍵(セッション鍵)を安全に交換します。以降の実際のデータのやり取りは、処理の速い共通鍵暗号方式に切り替えて行われます。これにより、公開鍵暗号方式の「安全に鍵を配送できる」という長所と、共通鍵暗号方式の「処理が高速」という長所の両方を活かすことができます。
試験でのポイント
「なぜ公開鍵暗号方式だけ、または共通鍵暗号方式だけを使わないのか」という理由を説明できるかが問われます。公開鍵暗号方式のみでは処理が遅く大容量データの暗号化に不向きであり、共通鍵暗号方式のみでは鍵の配送方法に問題が残るため、両者を組み合わせる必然性を理解しておく必要があります。SSL/TLS通信の仕組みを説明する問題では、このハイブリッド暗号の流れが前提知識として問われることが多くあります。
関連する用語
処理が高速な「共通鍵暗号方式」、鍵の安全な配送を担う「公開鍵暗号方式」、ハイブリッド暗号を実際に利用している「SSL/TLS」があります。