メインコンテンツへスキップ

用語比較

対称鍵暗号と公開鍵暗号の違い

対称鍵暗号は同じ鍵で暗号化と復号を行い高速、公開鍵暗号は秘密鍵と公開鍵のペアで鍵共有と署名を担う。実際には組み合わせて使う。

難易度
初級
想定読者
開発者・情報処理試験受験者・初心者
所要時間
約7分
対称鍵暗号と公開鍵暗号の違いを実務で比較する判断ボードの図

対称鍵暗号とは

送信者と受信者が同じ鍵を共有する方式。AES, ChaCha20 などが代表例。

公開鍵暗号とは

公開鍵と秘密鍵のペアを使う方式。鍵交換、署名に強い。RSA, ECDSA, EdDSA などが代表例。

違いの比較表

比較軸 対称鍵暗号 公開鍵暗号
鍵の数 1つ(共有) 2つ(公開鍵・秘密鍵)
速度 高速、データ本体に向く 低速、鍵交換と署名に向く
鍵配布 安全に共有する仕組みが必要 公開鍵は自由に配布できる
主用途 データの暗号化 鍵交換、署名、認証

使い分け

  • TLSではハンドシェイクで公開鍵暗号、本体は対称鍵 (AES等) で暗号化
  • JWT署名やコード署名には公開鍵暗号を使う
  • ストレージ暗号化やDBレコード暗号化は対称鍵を使う

よくある誤解

  • 公開鍵暗号の方が必ず安全、というのは誤り
  • AESよりRSAの方が強い、とは限らない(用途が違う)
  • 対称鍵だけで鍵交換を安全に行うのは難しい

よくある質問

対称鍵暗号と公開鍵暗号の違いは?

対称鍵暗号は同じ鍵で暗号化と復号を行い高速、公開鍵暗号は秘密鍵と公開鍵のペアで鍵共有と署名を担う。実際には組み合わせて使う。

対称鍵暗号とは?

送信者と受信者が同じ鍵を共有する方式。AES, ChaCha20 などが代表例。

公開鍵暗号とは?

公開鍵と秘密鍵のペアを使う方式。鍵交換、署名に強い。RSA, ECDSA, EdDSA などが代表例。

対称鍵暗号と公開鍵暗号はどう使い分ける?

TLSではハンドシェイクで公開鍵暗号、本体は対称鍵 (AES等) で暗号化 JWT署名やコード署名には公開鍵暗号を使う ストレージ暗号化やDBレコード暗号化は対称鍵を使う

対称鍵暗号と公開鍵暗号でよくある誤解は?

公開鍵暗号の方が必ず安全、というのは誤り AESよりRSAの方が強い、とは限らない(用途が違う) 対称鍵だけで鍵交換を安全に行うのは難しい

関連用語・次に読むページ

ESC