要求される性質
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/03 00:38 UTC 版)
「暗号学的ハッシュ関数」の記事における「要求される性質」の解説
暗号学的ハッシュ関数には、一般的なハッシュ関数に望まれる性質や、決定的であることの他、次のような暗号学的な性質が要求される。 ハッシュ値から、そのようなハッシュ値となるメッセージを得ることが(事実上)不可能であること(原像計算困難性、弱衝突耐性)。 同じハッシュ値となる、異なる2つのメッセージのペアを求めることが(事実上)不可能であること(強衝突耐性)。 メッセージをほんの少し変えたとき、ハッシュ値は大幅に変わり、元のメッセージのハッシュ値とは相関がないように見えること。 暗号学的ハッシュ関数は情報セキュリティ分野で様々に利用されている。たとえば、デジタル署名、メッセージ認証符号 (MAC)、その他の認証技術などである。目的によって要求される性質はそれぞれ異なる。 一般に通常のハッシュ関数と比べ、長い(最低でも100ビット程度)ハッシュ値が必要であり必要な計算も多いが、メッセージのチェックなどの目的に使われることから高速に計算できるほうが望ましい。一方、ログインパスワードなどの用途では、ハッシュ値を求める計算が重い(遅い)ことが必要である。この場合には、ハッシュ値のハッシュ値を何度も求める「ストレッチング」などの技法を用いるか、そういった目的に適するように設計された特別な暗号学的ハッシュ関数を用いる。通常のハッシュ関数として、ハッシュテーブルのインデックス、フィンガープリント、重複データの検出、ファイルの一意な識別、データの誤りを検出するチェックサムなどにも利用できるが、通常のハッシュ関数と比べて計算が重い点で、必ずしも適していない。 なお「(事実上)」とは、探索しなければならない対象が数え上げ可能なために総当たり攻撃ができるため、実際には探索の計算に必要な時間が現実的に十分に長いかどうか、という意味だからである。理想的には一方向性関数であれば良いのだが、一方向性であるという保証のある(一方向性であると証明された)ハッシュ関数はまだ得られておらず、そもそも数理的にそれが存在するか否かもわかっていない。現状では、構成法が広く暗号研究者に知られていて攻撃法が研究されており、かつ、効果的・効率的な攻撃法が発見されていないハッシュ関数であれば安全であろう、とみなされて運用されている。もし理想的なハッシュ関数があったとしたなら、暗号学的には、総当たり攻撃(および誕生日攻撃)以外には攻撃法が無いということになる。
※この「要求される性質」の解説は、「暗号学的ハッシュ関数」の解説の一部です。
「要求される性質」を含む「暗号学的ハッシュ関数」の記事については、「暗号学的ハッシュ関数」の概要を参照ください。
- 要求される性質のページへのリンク