ハッシュとは、データを一定の長さの値(ハッシュ値)に変換する仕組みです。
この変換には、ハッシュ関数と呼ばれる特別な計算方法が使われます。
○ハッシュの特徴
①元のデータに戻せない
データをハッシュ値に変換することはできますが、ハッシュ値を元のデータに戻すことはできない。
②少しの変化で大きく変わる
元のデータが1文字、1ビット変わるだけで、ハッシュ値は大きく異なってくる。
③同じデータなら、同じ結果になる
ハッシュ関数にランダム性はなく、同じデータであれば、ハッシュ値も同じ値になる。
○ハッシュによる改ざんの検知
①【送信者】送信するメッセージのハッシュ値を求める。このハッシュ値を「メッセージダイジェスト」という。
②【送信者】メッセージを送信する。
③【送信者】メッセージダイジェストを送信する。
④【受信者】受け取ったメッセージのハッシュ値を求め、「メッセージダイジェスト」を作成する。
⑤【受信者】受け取ったメッセージダイジェストと比較をして、一致していたら改ざんが行われていない。