暗号化と復号
暗号化とは、通信データを第三者に見られないように、一定の計算手順に基いて元の状態が容易に推定できない形に変換すること、そして復号とは、暗号化したデータを元に戻すことです。
通信を行う際、何も加工しないそのままのデータを「平文」、そして「平文」を暗号化したデータを「暗号文」といいます。
上記図は暗号化と復号のイメージ図です。
「平文」のままインターネット上で通信を行うと、仮に通信内容が盗聴されていた場合、情報漏洩に繋がる危険性があります。そこで、第三者に見られても容易に解析できないような形に変換します。それが暗号化です。
ただし、暗号化した当事者や送りたい相手にまでその内容が分からなくなっては意味がありません。そのため、暗号化したデータは元に戻せるようになっています。
- 「平文」→ 鍵を使って暗号化 →「暗号文」
- 「暗号文」→ 鍵を使って復号 →「平文」
「平文」を「暗号文」にする暗号化、そして「暗号文」を「平文」に戻す復号をする際には"鍵"が必要です。
暗号化の種類には「共通鍵暗号」と「公開鍵暗号」があり、この"鍵"をどう扱うのか、暗号方式によって異なっています。
暗号方式の種類
共通鍵暗号
共通鍵暗号とは、「暗号化」と「復号」に同じ鍵を使う暗号方式です。
上記は共通鍵暗号方式のイメージ図です。
送信者と受信者は共通の「鍵」を保持しており、その「鍵」を使い送信側は「平文」を「暗号文」へ暗号化して送信、「暗号文」を受け取った受信側は「暗号文」を「平文」へ復号します。
共通鍵暗号方式の特徴は「暗号化」と「復号」に同じ鍵を使うため、鍵の配送を極秘に行わなければならないという短所、そして「公開鍵暗号方式」に比べると処理速度が速いという長所を持っています。
公開鍵暗号
公開鍵暗号とは「暗号化」と「復号」に別の鍵を使い、片方の鍵を公開できるようにした暗号方式です。
上記は公開鍵暗号方式のイメージ図です。
公開鍵暗号方式では「公開鍵」と「秘密鍵」のペアを生成します。「公開鍵」は公開できる鍵、「秘密鍵」は極秘に扱う必要のある鍵です。
送信者と受信者は違う「鍵」を保持しており、送信側は公開されている「公開鍵」で「平文」を「暗号文」へ暗号化して送信、「暗号文」を受け取った受信側は「秘密鍵」で「暗号文」を「平文」へ復号します。
公開鍵暗号方式の特徴は、暗号用の公開鍵は公開しているので、鍵の受け渡しが容易であるという長所があります。しかし「共通鍵暗号方式」に比べ処理速度が遅いという短所があります。