令和5年度 問5|ハッシュ関数とデジタル署名(改ざん検知)
セキュアハッシュ関数 SHA-256 を用いてファイル A 及びファイル B のハッシュ値を算出すると,どちらも全く同じ次に示すハッシュ値 n(16 進数で示すと 64 桁)となった。この結果から考えられることとして,適切なものはどれか。
ハッシュ値 n:86620f2f 152524d7 dbed4bcb b8119bb6 d493f734 0b4e7661 88565353 9e6d2074
正解:エ ファイル A の内容とファイル B の内容は同じである。
ポイント
同じハッシュ値から言えることと、ハッシュ値の長さを問う問題です。
考え方と解き方
ハッシュ関数は、同じデータから同じ値を、どんなデータからでも決まった長さの値を作ります。値の長さと、そこから言えることを分けて考えます。
- SHA-256 では、異なる内容から同じ値が出る衝突は実用上見つかっていません。同じハッシュ値なら、内容は同じと考えます。
- 他の選択肢は、ハッシュ値の性質や長さに合いません。したがって、最も適切なのは エ です。
ほかの選択肢
- ア 内容を変えずに再計算すれば、同じハッシュ値になります。値が異なることはありません。
- イ 16 進で 64 桁は 256 ビットで、32 バイトです。64 バイトではありません。
- ウ ハッシュ値は入力の大きさに関わらず固定長です。連結したファイルでも、16 進で 64 桁です。
覚えておくこと
- ハッシュ関数:データから固定長のハッシュ値を求める。元のデータには戻せない
- 同じデータからは同じハッシュ値。わずかに違えば値は大きく変わる
- SHA-2(SHA-256 など):SHA-256 は 256 ビット(16 進で 64 桁)の値を出す
(テーマ・覚えること)
出典:令和5年度 情報セキュリティマネジメント試験 公開問題 科目A 問5