最終更新日:2026年8月7日
fe technology security cryptography
まず結論
ハイブリッド暗号方式とは、共通鍵暗号方式と公開鍵暗号方式を組み合わせ、処理速度と鍵配送の安全性を両立する方式です。
科目Aでは、次の役割分担を最優先で覚えます。
実際のデータ
→ 共通鍵暗号方式で暗号化
データの暗号化に使った共通鍵
→ 公開鍵暗号方式で保護
つまり、次の切り分けです。
大量データを高速に処理
→ 共通鍵暗号方式
共通鍵を安全に受信者へ届ける
→ 公開鍵暗号方式
ハイブリッド暗号方式は、両方式の長所を組み合わせたものです。
直感的な説明
ハイブリッド暗号方式は、荷物と、その荷物を開ける鍵を別々の方法で守るイメージです。
大きな荷物全体には、素早く施錠できる鍵を使います。
大きな荷物
→ 高速な共通鍵で施錠
ただし、その共通鍵をそのまま相手へ送ると、途中で盗まれるおそれがあります。
そこで、共通鍵だけを受信者専用の金庫に入れて送ります。
共通鍵
→ 受信者の公開鍵で暗号化
受信者だけが持つ秘密鍵で金庫を開け、共通鍵を取り出します。
暗号化された共通鍵
+ 受信者の秘密鍵
↓
元の共通鍵
このように、
大きなデータ
→ 高速な方式
小さな鍵
→ 安全に渡しやすい方式
と役割を分けています。
定義・仕組み
共通鍵暗号方式
共通鍵暗号方式は、暗号化と復号に同じ鍵を使う方式です。
平文
+ 共通鍵
↓
暗号文
暗号文
+ 同じ共通鍵
↓
平文
主な特徴は、処理が高速で、大量のデータを暗号化するのに向いていることです。
一方で、送信者と受信者が同じ鍵を持つ必要があるため、その鍵を安全に渡す方法が課題になります。
長所
→ 高速
短所
→ 共通鍵の配送が難しい
公開鍵暗号方式
公開鍵暗号方式は、公開鍵と秘密鍵という異なる二つの鍵を使う方式です。
機密性を守る暗号化では、次のように使います。
受信者の公開鍵で暗号化
↓
受信者の秘密鍵で復号
公開鍵は他人へ渡してもよい鍵です。
秘密鍵は、受信者だけが秘密に保管します。
公開鍵
→ 公開してよい
秘密鍵
→ 所有者だけが保持する
共通鍵を秘密の経路で事前に渡さなくてもよい一方、一般に共通鍵暗号方式より処理が重く、大量データの暗号化には向きません。
長所
→ 鍵配送の課題を解決しやすい
短所
→ 処理が重い
ハイブリッド暗号方式の流れ
基本情報技術者試験では、次の流れで整理すると判断しやすくなります。
1. 送信者が共通鍵を生成する
2. データを共通鍵で暗号化する
3. 共通鍵を受信者の公開鍵で暗号化する
4. 暗号化したデータと暗号化した共通鍵を送る
5. 受信者が自分の秘密鍵で共通鍵を取り出す
6. 取り出した共通鍵でデータを復号する
図式化すると、次のようになります。
送信者
データ ──共通鍵で暗号化──→ 暗号化データ
共通鍵 ──受信者の公開鍵で暗号化──→ 暗号化共通鍵
↓ 二つを送信
受信者
暗号化共通鍵 ──受信者の秘密鍵で復号──→ 共通鍵
暗号化データ ──取り出した共通鍵で復号──→ 元のデータ
なぜデータ全体を公開鍵暗号方式で処理しないのか
公開鍵暗号方式は、共通鍵暗号方式より計算量が多く、一般に処理時間がかかります。
そのため、大量データには高速な共通鍵暗号方式を使い、サイズの小さい共通鍵だけを公開鍵暗号方式で保護します。
データ本体
→ サイズが大きい
→ 共通鍵暗号方式
共通鍵
→ サイズが小さい
→ 公開鍵暗号方式
これにより、安全性と処理速度を両立できます。
どんな場面で使う?
インターネット上の暗号化通信
ハイブリッド暗号の考え方は、インターネット上で安全に通信する仕組みに利用されます。
試験では、次の組合せとして問われることがあります。
通信内容の暗号化
→ 共通鍵暗号方式
通信で使う鍵の共有・保護
→ 公開鍵暗号の仕組み
なお、実際のTLSではバージョンや暗号スイートによって鍵共有の方法が異なり、公開鍵で共通鍵そのものを直接暗号化するとは限りません。
ただし、基本情報技術者試験では、まず次の原則で整理します。
データは共通鍵
鍵共有には公開鍵の仕組み
電子メールの暗号化
暗号化メールでも、本文や添付ファイルなどのデータ本体を共通鍵暗号方式で暗号化し、その共通鍵を受信者の公開鍵で保護する考え方が使われます。
受信者は、自分の秘密鍵で共通鍵を取り出し、その共通鍵で本文を復号します。
多数の相手と安全に通信するとき
共通鍵暗号方式だけを使う場合、通信相手ごとに共通鍵を安全に共有する必要があります。
ハイブリッド暗号方式では、受信者の公開鍵を利用して共通鍵を保護できるため、共通鍵を平文のまま送らずに済みます。
共通鍵をそのまま送る
→ 危険
共通鍵を公開鍵暗号で保護して送る
→ 安全性を高められる
よくある誤解・混同
共通鍵暗号方式なら、多数の相手と同じ鍵を使っても安全
同じ共通鍵を多数の相手で共有すると、鍵が漏れる場所が増えます。
誰か一人から共通鍵が漏れれば、その鍵で保護している通信を読まれる可能性があります。
同じ共通鍵を多人数で共有
↓
漏えいする可能性が高まる
↓
安全性が下がる
共通鍵は、通信相手や通信単位に応じて適切に管理します。
公開鍵は秘密に配る
公開鍵暗号方式では、公開鍵は広く公開してかまいません。
公開鍵
→ 公開してよい
秘密鍵
→ 秘密にする
ただし、その公開鍵が本当に通信相手本人のものかを確認する必要があります。
第三者の偽の公開鍵を使ってしまうと、安全な通信になりません。
公開鍵暗号方式のほうが高速
高速なのは、一般に共通鍵暗号方式です。
共通鍵暗号方式
→ 高速
→ 大量データ向き
公開鍵暗号方式
→ 処理が重い
→ 鍵共有や電子署名向き
選択肢に「公開鍵暗号方式は高速」とあれば、誤りを疑います。
共通鍵を平文のまま送る
データを共通鍵で暗号化しても、その共通鍵を平文のまま送れば、盗聴者に共通鍵を知られる可能性があります。
そのため、共通鍵を公開鍵暗号方式で保護します。
データだけ暗号化
+ 共通鍵は平文
→ 不十分
電子署名との違い
公開鍵暗号方式では、目的によって鍵の使い方が変わります。
機密性を守る暗号化
受信者の公開鍵で暗号化
↓
受信者の秘密鍵で復号
目的は、受信者以外に内容を読ませないことです。
電子署名
送信者の秘密鍵で署名
↓
送信者の公開鍵で検証
目的は、送信者本人であることと、改ざんされていないことを確認することです。
科目Aでは、次のように切り分けます。
秘密に送りたい
→ 受信者の公開鍵を使う
送信者を確認したい
→ 送信者の秘密鍵で署名する
ハイブリッド暗号方式の順番を逆にしない
よくある誤りは、データを公開鍵暗号方式で処理し、共通鍵を共通鍵暗号方式で暗号化すると考えることです。
正しい役割分担は逆です。
データ
→ 共通鍵暗号方式
共通鍵
→ 公開鍵暗号方式
科目Aでの切り分け
選択肢のキーワードに注目します。
高速・大量データ
→ 共通鍵暗号方式
公開鍵と秘密鍵
→ 公開鍵暗号方式
両方を組み合わせる
→ ハイブリッド暗号方式
さらに、何を暗号化しているかを確認します。
通信データを共通鍵で暗号化
→ 正しい
共通鍵を受信者の公開鍵で暗号化
→ 正しい
公開鍵を秘密裏に配布
→ 誤り
公開鍵暗号方式のほうが高速
→ 誤り
まとめ(試験直前用)
- ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式を組み合わせる
- データ本体は、高速な共通鍵暗号方式で暗号化する
- データの暗号化に使った共通鍵は、受信者の公開鍵で保護する
- 受信者は、自分の秘密鍵で共通鍵を取り出す
- 共通鍵暗号方式は高速だが、鍵配送が課題
- 公開鍵暗号方式は鍵配送に向くが、処理が重い
- 電子署名では、送信者の秘密鍵で署名し、送信者の公開鍵で検証する
データ
→ 共通鍵で暗号化
共通鍵
→ 受信者の公開鍵で暗号化
受信者
→ 自分の秘密鍵で共通鍵を復号