最終更新:
共通鍵暗号と公開鍵暗号の違いは?TLS・署名・鍵交換を整理
共通鍵暗号って何?
公開鍵暗号は鍵が2つあるの?
公開鍵なら誰から受け取ってもいい?
一般的にはそう説明しないほうが正確だね。署名は秘密鍵で署名値を作り、公開鍵で検証する仕組み。内容の改ざんと署名鍵との対応を確認するもので、内容を隠す暗号化とは別だよ。人の身元との結び付きには鍵の管理や証明書が必要なんだ。
HTTPSは両方の方式を使うの?
鍵交換って暗号化ではないの?
前方秘匿性があれば、ずっと安全?
適切に一時鍵を使って破棄する鍵共有では、長期の認証鍵が後から漏れても、記録された過去の通信の保護を狙えるよ。ただし通信中の端末侵害、実装の欠陥、将来の暗号解読能力などすべてを防ぐ保証ではないんだ。
耐量子暗号も同じ役割なの?
3つの役割を混同しない
| 役割 | 何をするか | 注意点 |
|---|---|---|
| 暗号化 | 内容を読めない形にする | 改ざん検知も必要。認証付き暗号を利用する |
| デジタル署名 | 署名鍵との対応・改ざんの有無を検証する | 署名だけでは内容は隠れない |
| 鍵共有・鍵カプセル化 | 通信を保護するための秘密を共有する | 相手の認証と組み合わせる |
「公開鍵暗号のほうが安全」とは限らない
方式名や鍵のビット数だけでは安全性を比較できません。アルゴリズム、パラメータ、乱数、鍵の保管、証明書の検証、実装をそろえて考えます。共通鍵暗号は大量データの保護、公開鍵技術は認証や鍵共有というように、目的に応じて組み合わせます。
TLS 1.3の通常の通信保護と、早期データを送る0-RTTも同じ保証ではありません。0-RTTにはリプレイなどの制約があるため、「TLSならどの送信方法でも安全」とは判断しないでください。
参考資料
確認日:2026年9月27日。製品の仕様・料金・対応環境は導入時にも確認してください。
- RFC 8446: TLS 1.3:認証・鍵共有・AEAD、RSA鍵配送の廃止、前方秘匿性と0-RTTの制約。
- NIST: First finalized post-quantum standards:ML-KEM・ML-DSA・SLH-DSAの用途。