情報処理安全確保支援士試験 2014年 秋期 午前202


ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
SHA-256の衝突発見困難性を示す,ハッシュ値が一致する二つのメッセージの探索に要する最大の計算量は,256の2乗である。
SHA-256の衝突発見困難性を示す,ハッシュ値の元のメッセージの探索に要する最大の計算量は、2の256乗である。
ハッシュ値が与えられたときに、元のメッセージの探索に要する計算量の大きさによる,探索の困難性のことである。
ハッシュ値が一致する二つのメッセージの探索に要する計算量の大きさによる,探索の困難性のことである。(正解)

解説

ハッシュ関数の衝突発見困難性に関する問題【午前2 解説】

要点まとめ

  • 結論:衝突発見困難性とは、異なるメッセージが同じハッシュ値を持つ「衝突」を見つけることが非常に難しい性質です。
  • 根拠:SHA-256のような安全なハッシュ関数では、衝突を見つける計算量は理論上21282^{128}程度(ハッシュ長の半分の指数)とされており、実用的に困難です。
  • 差がつくポイント:衝突発見困難性は「同じハッシュ値を持つ異なるメッセージの探索」であり、元のメッセージを特定する「原像探索困難性」とは異なる点を理解することが重要です。

正解の理由

選択肢エは「ハッシュ値が一致する二つのメッセージの探索に要する計算量の大きさによる探索の困難性」と正しく衝突発見困難性の定義を述べています。
これは、衝突発見困難性が「異なる入力が同じハッシュ値を持つ事象(衝突)を見つける難しさ」を示すため、正確な説明です。

よくある誤解

衝突発見困難性と原像探索困難性を混同し、元のメッセージを探す難しさと衝突を探す難しさを同じ意味と捉える誤解が多いです。

解法ステップ

  1. 衝突発見困難性の定義を確認する。
  2. 衝突とは「異なるメッセージが同じハッシュ値を持つこと」であると理解する。
  3. 選択肢の説明が「衝突の探索」に関するものか、「原像探索」に関するものかを区別する。
  4. 計算量の概念(2n/22^{n/2}が衝突探索の目安)を踏まえ、正しい説明を選ぶ。
  5. 選択肢エが衝突探索の困難性を正しく表現しているため正解と判断する。

選択肢別の誤答解説

  • ア:計算量を「256の2乗」と誤記。正しくは21282^{128}程度であり、数値の表現が誤っている。
  • イ:元のメッセージ探索(原像探索困難性)に関する説明であり、衝突発見困難性とは異なる。
  • ウ:元のメッセージ探索に関する説明で、衝突発見困難性の定義としては不適切。
  • :衝突発見困難性の正しい定義を述べているため正解。

補足コラム

ハッシュ関数の安全性は主に「原像困難性」「第二原像困難性」「衝突困難性」の3つの性質で評価されます。
  • 原像困難性:ハッシュ値から元のメッセージを見つける困難さ。
  • 第二原像困難性:特定のメッセージに対し、同じハッシュ値を持つ別のメッセージを見つける困難さ。
  • 衝突困難性:任意の2つの異なるメッセージで同じハッシュ値を持つペアを見つける困難さ。
    SHA-256はこれらの性質を高いレベルで満たす設計となっています。

FAQ

Q: 衝突発見困難性と原像探索困難性はどう違いますか?
A: 衝突発見困難性は「異なるメッセージ同士で同じハッシュ値を見つける難しさ」、原像探索困難性は「ハッシュ値から元のメッセージを特定する難しさ」です。
Q: SHA-256の衝突発見困難性の計算量はどのくらいですか?
A: 理論上は21282^{128}回程度の計算が必要とされ、現実的には非常に困難です。

関連キーワード: ハッシュ関数, 衝突発見困難性, SHA-256, 原像探索困難性, 情報セキュリティ, 暗号学
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ