電子署名について
電子証明書を使った電子署名では、公開鍵暗号方式に加えて、「ハッシュ」と呼ばれている技術が使われています。
ハッシュ
ハッシュとは、ある関数(ハッシュ関数)にデータを入力して圧縮し、そのデータ特有の固定長データを作ることです。
作成した固定長データをハッシュ値と呼びます。
ハッシュ値を元に戻すことはできません。
異なるデータから作り出したハッシュ値が偶然同じになる可能性は無視できるくらい小さくなります。
そのため、元のデータと検証対象のデータのハッシュ値を比較することで、改ざんを検出できます。
電子署名による改ざん検出の流れ
Aさんは、
- ①元のデータ
- ③暗号化されたハッシュ値
- ④電子証明書(Aさんの公開鍵)
をBさんに送ります。
Bさんは、
- ④Aさんの公開鍵で
- ③暗号化されたハッシュ値の復号を試みます。
成功すれば、①元のデータへの署名者はAさんと特定できます(Aさんの秘密鍵で暗号化されたデータを復号できるのはAさんの公開鍵だけだからです)。
また、Bさんは、
- ①元のデータから
- ②'ハッシュ値を生成します。
生成したハッシュ値②'と復号したハッシュ値②を比較して一致すれば、①元のデータは改ざんされていません。