暗号論的ハッシュ関数
ハッシュ関数のうち、暗号など情報セキュリティの用途に適する暗号数理的性質をもつもの。
任意の長さの入力を(通常は)固定長の出力に変換する。
ハッシュ関数が「任意の長さの入力を固定長の出力に変換する」関数のこと
要求される性質
暗号学的ハッシュ関数には、一般的なハッシュ関数に望まれる性質や、決定的であることの他、次のような暗号学的な性質が要求される。
ハッシュ値から、そのようなハッシュ値となるメッセージを得ることが (事実上) 不可能であること。
不可能: 決定的方法では多項式時間では不可能なことが期待される
ハッシュ値 $ h が与えられたとき、そこから $ h = {\rm hash}(m) となるような任意のメッセージ $ m を探すことが困難でなければならない。
入力$ m1が与えられたとき、$ h = {\rm hash}(m1) = {\rm hash}(m2)となる (すなわち、衝突する) ような別の入力$ m2($ m1とは異なる入力) を見つけることが困難でなければならない。
これを「弱衝突耐性」ともいう。この特性がない関数は、第2原像攻撃に対して脆弱である。(第 1) 原像攻撃と異なり、$ hを単純に固定するのではなく$ m1のハッシュ値となるように固定する。 同じハッシュ値となる、異なる2つのメッセージのペアを求めることが (事実上) 不可能であること。
名前不明
メッセージをほんの少し変えたとき、ハッシュ値は大幅に変わり、元のメッセージのハッシュ値とは相関がないように見えること。
無相関性とでも言おうか?