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

共通鍵暗号とは

共通鍵暗号とは、暗号用と復号用に同じ鍵を用いる方式です。鍵つきの扉や机に用いる鍵と同じです。ファイル暗号などによく使われる方式で、処理が早いのが特徴です。

共通鍵暗号では、暗号化されたデータを復号化する前に鍵を渡す必要があります。相手方へ鍵を届けるために、安全な受け渡しを実施しなければなりません。

また、同じ鍵を複数のユーザーで使用すると、暗号化したデータを他のユーザーが復号する危険性があるため、ユーザー別に鍵を生成する必要があります。

公開鍵暗号とは

公開鍵暗号とは、暗号用の鍵と復号用の鍵が異なる方式です。暗号に使用するのは公開鍵で、復号に使用するのは秘密鍵です。公開鍵は持ち運んで箱に鍵をかけられる南京錠、秘密鍵は南京錠を開ける鍵とイメージしてください。

公開鍵暗号は、複数のユーザーが個々にデータを暗号化する場合でも、ユーザー別の鍵を生成する必要がありません。暗号化したデータを復号できるのは秘密鍵を所有している者だけで公開鍵では復号できないので、同じ鍵を使用しても安全性が保たれています。したがって、公開鍵は全てのユーザーで同一の鍵を使用するのが一般的です。

公開鍵は共通鍵と比べて処理が遅いのがデメリットですが、公開鍵の受け渡しが容易で、暗号化が必要なデータを処理する前に鍵を配布・取得することが可能となっています。

SSL/TLS通信で使用している暗号方式

SSL/TLS通信は主に共通鍵暗号で通信を行います。共通鍵暗号は暗号側と復号側で同じ鍵を所有していなければデータを復号化することができないので、通信を行う前に鍵を渡さなければなりません。暗号通信を行う前は通信が暗号化されていない状態ですので、そのまま鍵を渡すと第三者に通信を傍受された場合に安全性を保つことができなくなります。そこで、共通鍵の受け渡し手段として公開鍵暗号が使用されています。

SSLの仕組み

ページの先頭に戻る

  1. ホーム
  2. 基礎から学ぶSSL入門ガイド
  3. 共通鍵暗号と公開鍵暗号の違い