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

公開鍵暗号 とは?

最終更新:
💡 「鍵の受け渡し問題」を解決した革命的な暗号方式
📌 このページのポイント
送信者 公開鍵で暗号化 (誰でも使える) X3$#kP9@ !mQ2&Rz7 vN%8^wL1 暗号化済み 秘密鍵で復号 (本人だけ持つ) 受信者 こんにちは 本文内容 読めた! 復号完了 公開鍵暗号方式 公開鍵は誰でも入手可能。秘密鍵を持つ受信者だけが復号できる
公開鍵で暗号化し、秘密鍵だけが復号できる
ひよこ ひよこ
なんで鍵が2つあるの?
ペンギン先生 ペンギン先生
共通鍵(1つの鍵を使い回す)の問題は「鍵をどうやって安全に渡すか」という「鍵配送問題」があること。公開鍵暗号は公開鍵を誰でも知れるようにして暗号化、復号は自分だけが持つ秘密鍵でするから、事前の安全な鍵交換が不要になる。
ひよこ ひよこ
具体的にどう使うの?
ペンギン先生 ペンギン先生
例えばHTTPS通信。サーバは公開鍵を証明書に入れて公開する。クライアントはそれで共通鍵を暗号化して送り、サーバが秘密鍵で復号して共通鍵を取得。その後は共通鍵で高速な暗号通信をする。
ひよこ ひよこ
電子署名との関係は?
ペンギン先生 ペンギン先生
公開鍵暗号を逆に使う。秘密鍵で署名して(「私が作ったことの証明」)、公開鍵で検証する。誰でも公開鍵で「本当にこの秘密鍵の持ち主が署名したか」を確認できるから改ざん検出に使える。
ひよこ ひよこ
SSH接続で公開鍵認証を使うのも同じ仕組みなの?
ペンギン先生 ペンギン先生
そうだよ。ssh-keygenで鍵ペアを作り、公開鍵をサーバに登録、秘密鍵は手元に保持する。接続時にサーバが秘密鍵の持ち主かを検証して認証する。パスワード認証よりはるかに安全だから、サーバ管理ではSSH公開鍵認証が必須とされているよ。
ひよこ ひよこ
量子コンピュータが実用化されたら公開鍵暗号は破られるの?
ペンギン先生 ペンギン先生
現在の主流であるRSAや楕円曲線暗号は、理論上は量子コンピュータショアのアルゴリズムで解読可能だよ。だからNISTが量子耐性のある「ポスト量子暗号」の標準化を進めていて、2024年に最初の標準が正式決定された。まだ実用的な量子コンピュータは存在しないけど、「今暗号化したデータを将来解読される」リスクに備えて、金融機関などは既に移行を始めているよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
公開鍵暗号って出てきたら「2つのペアの鍵を使う暗号方式、公開鍵で暗号化して秘密鍵でのみ復号できる」と思えばOK!
📖 おまけ:英語の意味
「Public Key Cryptography」 = 公開鍵暗号方式
💬 1976年にWhitfield DiffieとMartin Hellmanが提唱した革命的な暗号理論。それ以前は通信前に共通鍵を安全に共有する問題(鍵配送問題)が解決されていなかった
← 用語集にもどる