>>906
ディジタル署名ね。
暗号化との違いは、「改ざん検知」と「なりすまし検知」を行う点な。

(1)ハッシュ関数
 (a)算出されるハッシュは固定長
 (b)元データが異なると、ハッシュも異なる
(2)公開鍵暗号方式
 (c)秘密鍵は送信者のみ保有している
 (d)秘密鍵で暗号化したものは、それと対になる公開鍵でしか「正しく」複号できない

の特徴を応用して検知するんだよ。

@送信者は、ハッシュ関数(SHAなど)で送信データからハッシュを算出する。

Aハッシュを「送信者の秘密鍵」で暗号化する。(暗号化ハッシュの作成) ここでの暗号化は、Cで(d)の特徴を用いて、なりすましを検知するため。

B送信データに暗号化ハッシュを付けて送信する。

C受信者は、受信データから暗号化ハッシュを取り出して「送信者の公開鍵」で復号する。(正しく復号できれば、@と同一のハッシュを得る)

D受信者は、受信データに「@と同じハッシュ関数」を使ってハッシュを算出する。

E受信者はCとDのハッシュを比較して、同一データであることにより、「改ざん」「なりすまし」が行われていないことを判断する。

途中でデータが改ざんされた場合は(b)の特徴で、なりすましの場合は(c)(d)で検知できる。
ハッシュの比較も(a)の特徴によって容易にできる。