衝突発見困難性

衝突発見困難性は、ハッシュ値に関する指標の一つです。

ハッシュ値とは、元のデータからある計算式によって得られる固定長の値のことです。この計算式のことをハッシュ関数といいます。

ハッシュ値の特徴として、ハッシュ値から元のデータを求めることはできないことが挙げられます。これを不可逆であるといいます。

この特徴のため、暗号や認証、改ざんされていないことの確認のために、元のデータとハッシュ値を送信してハッシュ値が同じかどうかで判断するなどで利用されています。

また、ハッシュ関数に求められる性質として、同じハッシュ値となる二つの異なる元データを見つけにくいということが挙げられます。

なぜなら、同じハッシュ値となる元データが発見されると、ハッシュ値を用いても、元のデータが改ざんされたものなのか判断できなくなるからです。

この指標として衝突発見困難性があり、ハッシュ値が一致する二つの元データの探索に要する計算量が大きいことによる探索の困難性のことをいいます。

衝突発見困難性が高いハッシュ関数ほど、セキュリティレベルが高いことになります。

f:id:aolaniengineer:20191028043107p:plain
情報処理安全確保支援士試験 平成29年度 秋期 午前Ⅱ問4

ア SHA-256の衝突発見困難性を示す、ハッシュ値が一致する二つのメッセージの探索に要する最大の計算量は、256の2乗である。

イ SHA-256の衝突発見困難性を示す、ハッシュ値の元のメッセージの探索に要する最大の計算量は、2の256乗である。

SHA-256はハッシュ値が256ビットです。ハッシュ値がnビットのときの計算量は2の(n/2)乗となりますので、SHA-256は2の128乗となります。

エ 衝突発見困難性とは、ハッシュ値が一致する二つのメッセージの探索に要する計算量が大きいことによる、探索の困難性のことである。

これが正解です。