Entry № 276
暗号学的ハッシュ関数
暗号学的ハッシュ関数 とは何ですか?
暗号学的ハッシュ関数任意長の入力を固定長のダイジェストへ写す決定的な一方向関数で、衝突耐性・原像耐性・第二原像耐性を備える。
暗号学的ハッシュ関数は、任意長の入力を固定長の出力(ダイジェスト)に圧縮し、原像耐性(H(x) から x を求めにくい)、第二原像耐性(x が与えられたとき H(x') = H(x) となる x' ≠ x を見つけにくい)、衝突耐性(同じハッシュを持つ任意の x ≠ x' を見つけにくい)を満たします。決定的で高速、出力は擬似ランダムに見えます。デジタル署名、MAC(HMAC、KMAC)、Argon2 や scrypt などの KDF と組み合わせたパスワード保存、完全性チェック、マークル木、ブロックチェーン、コンテンツアドレッシングなどの基盤です。MD5 や SHA-1 は実用的な衝突が見つかっており破られているため、セキュリティ目的では使用できません。現代の推奨は SHA-256、SHA-3、BLAKE2/BLAKE3 などの系統です。
● 例
- 01
Git は SHA-1(SHA-256 への移行中)でコミットやオブジェクトを識別する。
- 02
TLS 証明書のフィンガープリントは通常 SHA-256 ハッシュ。
● よくある質問
暗号学的ハッシュ関数 とは何ですか?
任意長の入力を固定長のダイジェストへ写す決定的な一方向関数で、衝突耐性・原像耐性・第二原像耐性を備える。 サイバーセキュリティの 暗号 カテゴリに属します。
暗号学的ハッシュ関数 とはどういう意味ですか?
任意長の入力を固定長のダイジェストへ写す決定的な一方向関数で、衝突耐性・原像耐性・第二原像耐性を備える。
暗号学的ハッシュ関数 からどのように防御しますか?
暗号学的ハッシュ関数 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
暗号学的ハッシュ関数 の別名は何ですか?
一般的な別名: ハッシュ関数, メッセージダイジェスト。