暗号学的ハッシュ関数
暗号学的ハッシュ関数には、一般的なハッシュ関数に望まれる性質や、決定的であることの他、次のような暗号学的な性質が要求される。
ハッシュ値から、そのようなハッシュ値となるメッセージを得ることが(事実上)不可能であること(原像計算困難性、弱衝突耐性)。
同じハッシュ値となる、異なる2つのメッセージのペアを求めることが(事実上)不可能であること(強衝突耐性)。
メッセージをほんの少し変えたとき、ハッシュ値は大幅に変わり、元のメッセージのハッシュ値とは相関がないように見えること。
暗号学的ハッシュ関数は情報セキュリティ分野で様々に利用されている。たとえば、デジタル署名、メッセージ認証符号 (MAC)、その他の認証技術などである。目的によって要求される性質はそれぞれ異なる。
一般に通常のハッシュ関数と比べ、長い(最低でも100ビット程度)ハッシュ値が必要であり必要な計算も多いが、メッセージのチェックなどの目的に使われることからそういった用途では高速に計算できるほうが望ましい。一方、パスワードハッシュなどの用途では、ハッシュ値を求める計算が重い(遅い)ことが必要である。