デジタル署名の作成と検証の具体的なメカニズムは以下の通りです。 【署名の作成手順(送信者側)】 1. 送信者は、送信する電子文書を「ハッシュ関数」に入力し、文書特有の固定長データである「ハッシュ値」を算出します。 2. 送信者は、自分だけが持っている「秘密鍵」を使って、算出したハッシュ値を暗号化します。この暗号化されたハッシュ値が「デジタル署名」となります。 3. 電子文書本体に、このデジタル署名を添付して相手に送信します。 【署名の検証手順(受信者側)】 1. 受信者は、受け取った文書本体を同じハッシュ関数に入力し、ハッシュ値(A)を算出します。 2. 同時に、受け取ったデジタル署名を送信者の「公開鍵」を使って復号し、元のハッシュ値(B)を得ます。 3. (A)と(B)の値を比較します。両者が完全に一致すれば、「送信者の秘密鍵で作成された署名であること(本人の確認)」および「送信後にデータが1文字も改ざんされていないこと(完全性の確認)」が同時に証明されます。 ただし、送信者の公開鍵自体が偽物である可能性に対処するため、「認証局(CA)」が発行する「デジタル証明書(公開鍵証明書)」を利用して公開鍵の正当性を保証する仕組み(PKI: 公開鍵基盤)が併せて使われます。