ホーム › コラム › 【図解で比較】共通鍵暗号 vs 公開鍵暗号 — 暗号化の2大方式を徹底解説 Mar 4, 2026 最終更新: Mar 4, 2026 【図解で比較】共通鍵暗号 vs 公開鍵暗号 — 暗号化の2大方式を徹底解説 セキュリティ暗号ネットワーク図解で比較encryption 共通鍵暗号 vs 公開鍵暗号 共通鍵暗号(AES) 送信者 鍵A 暗号化 暗号文を送信 復号 受信者 鍵A 同じ鍵を共有(鍵配送問題) 高速 公開鍵暗号(RSA/ECC) 送信者 公開鍵 暗号化 暗号文を送信 復号 受信者 秘密鍵 鍵ペアで安全に配送 低速(安全性重視) 共通鍵暗号と公開鍵暗号の仕組みの違い ひよこ 暗号化って「鍵」を使うんだよね?共通鍵暗号と公開鍵暗号ってなにが違うの? ペンギン先生 いい質問だね。共通鍵暗号は「送る人」と「受け取る人」が同じ鍵を使う方式だよ。家の鍵を合鍵にして2人で持つイメージ。代表的なのはAESで、処理がとても速いのが特徴だね。 ひよこ じゃあ公開鍵暗号は? ペンギン先生 公開鍵暗号は「公開鍵」と「秘密鍵」の2つをペアで使う方式だよ。公開鍵は誰にでも渡せる"南京錠"で、秘密鍵はそれを開ける"鍵"のイメージ。RSAやECCが有名だね。ただし共通鍵暗号に比べると処理速度は遅いんだ。 ひよこ なんで遅いのにわざわざ2つの鍵を使うの? ペンギン先生 それは「鍵配送問題」を解決するためだよ。共通鍵暗号は同じ鍵を相手に安全に届けなきゃいけないけど、その受け渡し自体が盗聴されたらアウト。公開鍵暗号なら、公開鍵は誰に見られても大丈夫だから安全に暗号通信を始められるんだ。 ひよこ でも公開鍵暗号は遅いんだよね?実際のHTTPS通信はどうしてるの? ペンギン先生 実はTLSでは両方を組み合わせた「ハイブリッド暗号」を使っているよ。最初に公開鍵暗号(もしくは鍵交換アルゴリズム)で共通鍵を安全に共有して、そのあとの大量データ通信には高速な共通鍵暗号を使う。いいとこ取りだね。 ひよこ なるほど!ところで「デジタル署名」にも公開鍵暗号が使われるって聞いたけど、暗号化とは違うの? ペンギン先生 デジタル署名は暗号化の逆方向で、秘密鍵で署名して公開鍵で検証するんだ。「この文書は確かに本人が作った」と証明できる仕組みだよ。SSHの鍵認証やメールの暗号化(S/MIMEやPGP)でも同じ原理が使われているね。 ひよこ 公開鍵暗号のRSAとECCってどう違うの? ペンギン先生 RSAは大きな数の素因数分解が難しいことを利用していて、鍵長が2048ビット以上と長い。一方ECCは楕円曲線の数学的性質を利用していて、256ビット程度でRSA 3072ビット相当の強度が得られるんだ。鍵が短い分、処理も速くてモバイルやIoTで重宝されているよ。 ひよこ 量子コンピュータが実用化されたら暗号が破られるって本当? ペンギン先生 RSAもECCも量子コンピュータのショアのアルゴリズムで理論上は破られる可能性があるよ。だから今「耐量子暗号」の標準化が進んでいて、NISTが2024年にKyberやDilithiumといったアルゴリズムを正式に承認したんだ。TLSへの組み込みも始まっているよ。 ひよこ Diffie-Hellman鍵交換っていうのも聞いたことがあるけど、公開鍵暗号とは別物なの? ペンギン先生 Diffie-Hellmanは「お互いの秘密を明かさずに共通の鍵を作る」仕組みで、厳密には暗号化そのものではなく鍵共有プロトコルだよ。TLSでは前方秘匿性を確保するためにECDHE(楕円曲線Diffie-Hellman)がよく使われている。仮にサーバーの秘密鍵が漏れても過去の通信は解読されない、という強力な特性があるんだ。 ひよこ 共通鍵と公開鍵、結局どっちが大事なの? ペンギン先生 どちらか一方では成り立たないのが現代の暗号技術だよ。公開鍵暗号で安全に鍵を渡し、共通鍵暗号で高速にデータを守る。この2つの組み合わせがHTTPSやVPN、SSHなどあらゆるセキュア通信の土台になっているんだ。「速さの共通鍵、信頼の公開鍵」と覚えておくといいね。