ホーム > 情報処理安全確保支援士試験 > 2023年 春期
情報処理安全確保支援士試験 2023年 春期 午前2 問04
ハッシュ関数の性質の一つである衝突発見困難性に関する記述のうち,適切なものはどれか。
ア:SHA-256の衝突発見困難性を示す,ハッシュ値が一致する二つの元のメッセージの発見に要する最大の計算量は,256の2乗である。
イ:SHA-256の衝突発見困難性を示す,ハッシュ値の元のメッセージの発見に要する最大の計算量は,2の256乗である。
ウ:衝突発見困難性とは,ハッシュ値が与えられたときに,元のメッセージの発見に要する計算量が大きいことによる,発見の困難性のことである。
エ:衝突発見困難性とは,ハッシュ値が一致する二つの元のメッセージの発見に要する計算量が大きいことによる,発見の困難性のことである。(正解)
解説
ハッシュ関数は、任意の長さの入力データ(メッセージ)に対して固定長のハッシュ値(ダイジェスト)を生成する関数です。情報処理技術者試験における「衝突発見困難性」とは、同じハッシュ値を持つ異なる元メッセージ(衝突)が見つけにくい性質を指します。
衝突発見困難性とは何か?
- ハッシュ関数は多くの異なる入力から固定長の出力を生成するため、理論的には異なる入力であっても同じハッシュ値になることがあります。これを「衝突」と呼びます。
- 衝突発見困難性とは、この「衝突する異なるメッセージのペア」を見つけることが非常に難しい(計算量が大きい)ことを意味します。
- つまり、攻撃者が容易に異なるメッセージ同士で同じハッシュ値を作ることができないことが、ハッシュ関数の安全性を支えています。
選択肢の検討
- アの「最大計算量は 256 の 2乗」は間違いです。SHA-256のハッシュ値は256ビットですが、衝突発見は計算量が程度かかるとされており、単純に256の2乗ではありません。
- イの「元のメッセージの発見に要する計算量」は「衝突発見困難性」ではなく、「元メッセージ発見(事前画像困難性)」の話であり内容が異なります。
- ウの説明は「元のメッセージの発見」に関するものであり、「衝突発見困難性」を説明したものではありません。
- エは「衝突発見困難性」について正しく説明しており、「同じハッシュ値を持つ異なるメッセージを見つけるのに大きな計算量が必要」と正確に述べています。
計算量の目安
- SHA-256の場合、
- 衝突発見困難性の計算量はおよそ回のハッシュ計算が必要とされています(誕生日攻撃の理論による)。
- **元メッセージの発見(事前画像困難性)**は約回が必要です。
まとめ
衝突発見困難性は、ハッシュ関数の安全性を測る重要な指標の一つです。具体的には、同じハッシュ値になる異なるメッセージのペアを見つけることが難しいという性質であり、このための計算コストが非常に大きいことが要件となっています。選択肢エはこの性質を正確に述べているため、正解となります。