暗号化とは何か

暗号化とは、読み手だけが理解できるように、データ(平文)を別の形式(暗号文)へ変換することです。第三者が通信や保存されたデータを見ても、そのまま内容を読み取れない状態を作ります。

ここで重要なのは「暗号化だけで何でも解決する」わけではなく、暗号文に戻すための手段が必要だという点です。その手段が暗号鍵(鍵)で、暗号化と復号の両方に関わります。

どうやって機能するのか(基本モデル)

一般的な流れは次のとおりです。

  1. 送信側で平文を暗号化し、暗号文にします。
  2. 暗号文を相手に送ります(ネットワーク上であっても、保存される場合でも考え方は同様です)。
  3. 受信側は、暗号鍵を使って暗号文を復号し、平文を取り出します。

暗号方式(アルゴリズム)は「平文を暗号文へ変える計算方法」と「暗号文を平文へ戻す計算方法」を定めます。一方で鍵は、その計算を成立させるための情報です。暗号文を見られても、鍵がないと元の内容へ戻せないように設計されます。

暗号化の種類と使い分け(考え方)

暗号化は大きく分けて、鍵の扱い方が異なる方式がよく使われます。

  • 共通鍵暗号:暗号化と復号に同じ(または実質的に同じ)鍵を使う考え方です。鍵を安全に共有できるかが重要になります。
  • 公開鍵暗号:片方を公開し、もう片方を秘密にして運用する考え方です。鍵の入手経路や真正性(本物かどうか)の確認が重要になります。

なお、暗号化は単体で完結することもあれば、「鍵の交換」や「通信の保護」など別の目的と組み合わさることもあります。どの方式が使われているかは、実装や設定に依存するため、必ず確認して判断してください。

暗号化の限界と、気をつける例外

暗号化は「内容が読まれにくくなる」ことに強みがありますが、次のような点は注意が必要です。