ハッシュ関数

hash function

 ドキュメントや数字などの文字列の羅列から一定長のデータに要約するための関数・手順のことをハッシュ関数という。関数を通して出力される値は、「ハッシュ値」、または単に「ハッシュ」と呼ぶ。“SHA-1”と“MD5”というハッシュ関数が代表的で、いずれも1方向関数であるため、生成データから原文を推定することは不可能である。 

 通信回線を通じてデータを送受信する際に、経路の両端でデータのハッシュ値を求めて両者を比較すれば、データが通信途中で改ざんされていないか調べることができる。1方向関数による生成であるので、ハッシュ値を変更しないまま元データを改ざんすることはできないためだ。よって認証と完全性検査によく用いられる。

 あるハッシュ関数がh(“message”)のように表記されるとき、“message”が決まっていれば結果を求めるのは、ハッシュ値を生成するプロセスと同じであるから簡単なことだ。しかし、ハッシュ値から“message”という内容(引数)を推定する(逆算する)ことは、この場合、事実上不可能なことになっている。この逆算過程が確立されると、ハッシュ値を同じくして、まったく異なるデータを意図的に生成することが可能になり、盗聴・改ざんの検知が難しくなる。

関連記事

関連用語

MD5

リンク

Security&Trust フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

アイティメディアの提供サービス

TechTargetジャパン

キャリアアップ

@IT Sepcial
- PR -
@IT Sepcial
ソリューションFLASH