この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は エ

解説

ハッシュ関数の安全性には複数の性質があります。①原像計算困難性(Pre-image resistance):ハッシュ値hが与えられたとき、H(m)=hとなるメッセージmを見つけることが計算量的に困難であること(一方向性)②第2原像計算困難性(Second pre-image resistance):メッセージmが与えられたとき、H(m')=H(m)となる別のメッセージm'を見つけることが困難であること③衝突発見困難性(Collision resistance):H(m)=H(n)となる任意の2つの異なるメッセージm≠nのペアを見つけることが計算量的に困難であること。衝突発見困難性は「ハッシュ値が一致する2つのメッセージのペアを発見することの困難性」であり、選択肢dの記述が正確です。バースデー攻撃の困難度はSHA-256では2^128の計算量が必要とされます。

なぜ他の選択肢は違うのか

選択肢 ア
「SHA-256の衝突発見困難性を示す、ハッシュ値が一致する二つのメッセージの発見に要する最大の計算量は256の2乗(65536)である」は誤りです。「256の2乗」という値は実用上意味をなさない小さな数値であり、SHA-256の安全性の根拠にはなりません。正しくはバースデー攻撃の計算量は2^(n/2)で、SHA-256では2^128程度です。
選択肢 イ
「SHA-256の衝突発見困難性を示す、ハッシュ値の元のメッセージの発見に要する最大の計算量は2の256乗」は衝突発見困難性ではなく原像計算困難性(Pre-image resistance)の説明です。2^256の計算量は原像(元メッセージ)を見つける困難性を表し、衝突発見(2つのメッセージのペア)の困難性(2^128)とは異なります。
選択肢 ウ
「衝突発見困難性とは、ハッシュ値が与えられたときに、元のメッセージの発見に要する計算量が大きいことによる発見の困難性」は原像計算困難性(Pre-image resistance)の定義です。衝突発見困難性は「任意の2つのメッセージのペア」を見つける困難性であり、特定のハッシュ値から元のメッセージを見つける困難性(原像計算)とは異なります。

解くときのポイント

ハッシュ関数の3性質を整理:①原像計算困難性=「ハッシュ値→元データ逆算が困難」②第2原像計算困難性=「あるメッセージと同じハッシュ値を持つ別メッセージ発見が困難」③衝突発見困難性=「ハッシュ値が同じ任意2つのメッセージ発見が困難」。衝突発見は②より強い(任意のペアを探す)。