Cryptographic hash function (暗号学的ハッシュ関数)

暗号学的ハッシュ関数は、ダイジェスト関数とも呼ばれますが、任意のサイズのメッセージをダイジェストと呼ばれる固定サイズのメッセージに変換する暗号学的プリミティブです。暗号学的ハッシュ関数は、認証、デジタル署名、およびメッセージ認証コードに使用されます。

暗号学に使用するためには、ハッシュ関数は以下の性質を持っていなければなりません。

  • 計算が速い (頻繁に生成されるため)
  • 可逆ではない (各ダイジェストは非常に多数のメッセージに由来する可能性があり、所与のダイジェストにつながるメッセージを生成できるのは総当たりのみである)
  • 改ざん防止 (メッセージの変更によって異なるダイジェストがもたらされる)
  • 衝突耐性 (同じダイジェストを生成する 2 つの異なるメッセージを見つけることは不可能であるべきです)

MD5 や SHA-1 などの暗号化ハッシュ関数は、衝突耐性を大幅に低下させる攻撃が見つかったため、破損しているとみなされています。