🔑

暗号化方式について

2023/11/04に公開

鍵を用いた暗号化の方式について簡単にまとめてみました。

共通鍵暗号方式

概要

共通鍵暗号方式(または対称暗号)は、暗号化と復号化に同じ鍵を使用する方法です。

平文 ---> [共通鍵で暗号化] ---> 暗号文 ---> [共通鍵で復号化] ---> 平文

メリット

  1. 速度が速い: 計算が単純なため、高速に暗号化・復号化できます。
  2. 簡単な実装: アルゴリズムがシンプルであるため、実装が簡単です。

デメリット

  1. 鍵の配送問題: 同じ鍵を両方のパーティが持っていなければならないので、鍵の安全な配送が必要です。
  2. 鍵管理が大変: 使用する鍵が多い場合、鍵の管理が複雑になります。

公開鍵暗号方式

概要

公開鍵暗号方式(または非対称暗号)は、暗号化には公開鍵を、復号化には秘密鍵を使用します。

平文 ---> [公開鍵で暗号化] ---> 暗号文 ---> [秘密鍵で復号化] ---> 平文

メリット

  1. 鍵の配送が不要: 公開鍵は公開しても安全なので、鍵の配送問題が解消されます。
  2. データの署名が可能: データの送信者の認証とデータの改ざん検知ができます。

デメリット

  1. 計算速度が遅い: 計算量が多いため、共通鍵暗号方式よりも遅いです。
  2. 実装が複雑: アルゴリズムが複雑であり、セキュリティに対する理解が必要です。

ハイブリット暗号方式

概要

ハイブリット暗号方式は、共通鍵暗号方式と公開鍵暗号方式を組み合わせて使用します。一般に、データ本体は共通鍵で暗号化し、その共通鍵自体を公開鍵で暗号化します。

平文 ---> [共通鍵で暗号化] ---> 暗号文(共通鍵で暗号化されたデータ + 公開鍵で暗号化された共通鍵)

メリット

  1. 速度とセキュリティのバランス: 共通鍵暗号の速度と公開鍵暗号のセキュリティメリットを両立します。

デメリット

  1. 実装の複雑性: 両方の暗号方式を適切に組み合わせる必要があり、実装が複雑になる可能性があります。

以上が暗号化方式についての基本的な解説です。
暗号化は普段あまり意識することがなく、仕組みを忘れてしまいがちなので、
そんな時に参考にしてもらえればと思います。

Discussion