ハッシュとは
ハッシュ(Hash)は「寄せ集め」の意味。データを固定長のランダムに見えるハッシュ値に不可逆変換して置き換えること。配信されたメールのメッセージが改ざんされていないか、Webサイトからダウンロードしたファイルやメディアからコピーしたファイルのデータが破損していないかを確認するために使う。
ハッシュ値とは、「0」と「1」からなるデータを一定の法則で同じ長さに短縮した数値のこと。MD5(Message Digest 5)やSHA-1(Secure Hash Algorithm 1)などのハッシュ関数を使ってハッシュ値を求める。ハッシュ値の長さは一定(160ビット)なので、同じハッシュ値になるように改ざんするのは困難であり、改ざん検知やファイルの同一性確認に役立つ。
電子メールの改ざんを検知するには、送信する電子メールのハッシュ値と受信した電子メールのハッシュ値を比較する。送信者は事前に電子メールのハッシュ値を送付してからメールを送付する。受信者は受信した電子メールのハッシュ値を計算し、事前に送られてきたハッシュ値と合致すれば、電子メール本文の改ざんがないと判断する。
ファイルをダウンロードした場合、ダウンロードしたファイルから計算したハッシュ値と、ダウンロードサイトに掲載されているハッシュ値が一致すれば、ファイルは壊れていないと判断できる。