【こうかいかぎあんごう】

公開鍵暗号 とは?

最終更新:
💡 公開してよい鍵と、手元に守る鍵を使い分ける

公開してよい公開鍵と、持ち主が守る秘密鍵のペアを使う暗号技術。データの暗号化、電子署名、通信に使う鍵の確立などに利用する。

📌 このページのポイント
暗号化して文書を送る例 送信者 受信者 元の文書 読める文書 暗号文 受信者の公開鍵で暗号化 受信者の秘密鍵で復号
公開鍵を送信者に渡し、秘密鍵は受信者の手元で守る。公開鍵が本物かの確認も必要。
ひよこ ひよこ
なんで鍵が2つあるの?
ペンギン先生 ペンギン先生
例えば秘密の文書を受け取るなら、公開鍵は相手に渡して暗号化してもらい、秘密鍵は自分の手元で復号に使うんだ。秘密鍵を相手に渡さずに済む。ただし公開鍵が本当に受信者のものかを確認する必要があるよ。
ひよこ ひよこ
具体的にどう使うの?
ペンギン先生 ペンギン先生
HTTPSで使うTLS 1.3の証明書認証では、電子署名で相手を確認し、通常は一時的なDiffie–Hellmanの鍵交換で共有の秘密を作るんだ。その後のデータは共通鍵で暗号化する。公開鍵で共通鍵を暗号化して送る、という古い方式をTLS 1.3の説明にそのまま使うことはできないよ。
ひよこ ひよこ
電子署名との関係は?
ペンギン先生 ペンギン先生
署名用の秘密鍵で署名を作り、公開鍵で検証するんだ。対応する秘密鍵で署名されたことや、データが変わっていないことを確認できる。暗号化を単に逆向きに行う操作ではなく、署名だけでは内容は秘密にならないよ。
ひよこ ひよこ
SSH接続で公開鍵認証を使うのも同じ仕組みなの?
ペンギン先生 ペンギン先生
SSHの公開鍵認証も署名を使うよ。公開鍵をサーバに登録し、接続時には手元の秘密鍵で作った署名を送る。サーバは登録した公開鍵と署名を検証するんだ。秘密鍵自体を送るわけではないから、手元の秘密鍵をしっかり守ろう。
ひよこ ひよこ
量子コンピューターへの備えも必要なの?
ペンギン先生 ペンギン先生
十分な能力のある量子コンピューターは、現在使われる公開鍵暗号の一部を破るおそれがあるんだ。これに備えるポスト量子暗号の最初の3標準をNISTが2024年に公開したよ。公開鍵暗号がすべて同じ弱点を持つわけではなく、どの方式を使うかが大切なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「公開鍵暗号」って出てきたら「公開鍵と秘密鍵を使い分ける暗号技術」と思えばだいたいOK!
📖 おまけ:英語の意味
「Public Key Cryptography」 = 公開鍵を使う暗号技術
💬 Public Keyは公開してよい鍵、Private Keyは持ち主が秘密にする鍵。両者をペアで使うことから、非対称暗号とも呼ばれるよ。

参考資料

← 用語集にもどる