違いシリーズ一覧に戻る
テクノロジ系

共通鍵暗号と公開鍵暗号の違い

共通鍵暗号(対称暗号)と公開鍵暗号(非対称暗号)は現代暗号の二大方式。共通鍵は暗号化と復号に同じ鍵を使い高速ですが鍵配送が課題、公開鍵は公開鍵で暗号化・秘密鍵で復号する仕組みで鍵配送問題を解決します。実運用ではSSL/TLSのように両者を併用するハイブリッド方式が一般的です。

比較表で見る違い

観点共通鍵暗号公開鍵暗号
使用する鍵同一の鍵(共通鍵)公開鍵と秘密鍵のペア
処理速度高速低速(共通鍵の数百〜千倍遅い)
鍵配送問題あり(事前に安全な経路で鍵共有が必要)なし(公開鍵は公開してよい)
必要な鍵の数n人で n(n-1)/2 個n人で 2n 個
代表的アルゴリズムAES、DES、3DES、ChaCha20RSA、ECC、ElGamal
主な用途大量データの暗号化、ファイル暗号化鍵交換、デジタル署名、認証
鍵長の目安128〜256ビット(AES)2048〜4096ビット(RSA)

それぞれの詳しい解説

A共通鍵暗号

暗号化と復号に同じ鍵を使用する方式で、対称鍵暗号とも呼ばれます。処理が高速で大量データの暗号化に向く一方、送信者と受信者が事前に同じ鍵を安全に共有する「鍵配送問題」があります。利用者がn人いる場合 n(n-1)/2 個の鍵管理が必要になりスケールしにくい欠点があります。代表例にAES・DES・3DESがあります。

  • 暗号化・復号に同じ鍵を使う

  • 処理が高速で大量データ向き

  • 鍵配送問題があり鍵管理が課題

  • AES・DES・3DESが代表例

B公開鍵暗号

公開鍵と秘密鍵のペアを使い、公開鍵で暗号化したものは対応する秘密鍵でしか復号できない方式です。公開鍵は誰に渡してもよいため鍵配送問題が解決します。一方で処理は共通鍵より大幅に遅いため、実運用ではセッション鍵(共通鍵)の交換やデジタル署名に使い、本体データは共通鍵で暗号化するハイブリッド方式が標準です。

  • 公開鍵で暗号化・秘密鍵で復号

  • 鍵配送問題を解決

  • 処理は共通鍵より大幅に遅い

  • RSA・楕円曲線暗号(ECC)が代表例

試験対策のポイント

「共通鍵=同一鍵・高速・鍵配送難、公開鍵=鍵ペア・低速・鍵配送容易」で整理。実運用は両者併用のハイブリッド方式。

理解度チェック(2問)

Q1. 公開鍵暗号方式の特徴として、適切なものはどれか。

  1. 1暗号化と復号に同じ鍵を使う
  2. 2共通鍵暗号より処理が高速である
  3. 3鍵配送問題が発生しない
  4. 4代表的アルゴリズムはAESである
解答・解説を見る

正解:3. 鍵配送問題が発生しない

公開鍵暗号は公開鍵を誰にでも渡せるため鍵配送問題が発生しない。同一鍵を使うのは共通鍵暗号、AESは共通鍵暗号の代表例。処理速度は共通鍵より大幅に遅い。

Q2. 利用者が10人いるとき、相互通信に必要な共通鍵の数はいくつか。

  1. 110個
  2. 220個
  3. 345個
  4. 4100個
解答・解説を見る

正解:3. 45個

共通鍵暗号でn人が相互通信するには n(n-1)/2 個の鍵が必要。10×9÷2=45個。公開鍵暗号なら2n=20個で済むためスケーラビリティに優れる。

同じ分野の「違い」記事

応用情報 記憶定着問題で演習する