情報セキュリティマネジメント試験 過去問解説
SHA-256とは?情報セキュリティマネジメント試験 令和元年度秋期 午前 問12を解説
情報セキュリティマネジメント試験 令和元年度秋期 午前 問12は、SHA-256に関する理解を問う問題です。検索から入っても、問題文、選択肢、正解、解説、各選択肢がなぜ違うかをこのページだけで確認できます。
問題文
セキュアハッシュ関数 SHA-256 を用いてファイル A 及びファイル B のハッシュ値を算出すると,どちらも全く同じ次に示すハッシュ値 n(16 進数で示すと 64 桁)となった。この結果から考えられることとして,適切なものはどれか。 ハッシュ値 n:86620f2f 152524d7 dbed4bcb b8119bb6 d493f734 0b4e7661 88565353 9e6d2074
この問題の出題ポイント
- SHA-256の定義だけでなく、問題文中の条件がどの選択肢に当てはまるかを確認する。
選択肢
- アファイル A とファイル B の各内容を変更せずに再度ハッシュ値を算出すると,ファイル A とファイル B のハッシュ値が異なる。
- イファイル A とファイル B のハッシュ値 n のデータ量は 64 バイトである。
- ウファイル A とファイル B を連結させたファイル C のハッシュ値の桁数は 16 進数で示すと 128 桁である。
- エファイル A の内容とファイル B の内容は同じである。正解
正解
エ: ファイル A の内容とファイル B の内容は同じである。
解説
ハッシュ関数は、同じ入力からは常に同じハッシュ値を生成し、SHA-256では入力長によらず出力は常に256ビット(16進64桁)で固定である。安全なハッシュ関数では衝突(異なる入力が同じ値になること)は事実上起こらないとみなせるため、ハッシュ値が一致した2ファイルは内容が同じと考えられる「エ」が正解となる。
なぜ他の選択肢が違うのか
ア
ハッシュ関数は同じ入力に対し常に同じ値を出力するため、内容を変えなければ再計算しても値は変わらず、異なるとする記述は誤りである。
イ
16進64桁は256ビット=32バイトであり、64バイトとするのは誤りである(16進2桁で1バイト)。
ウ
SHA-256の出力は入力長によらず常に256ビット(16進64桁)であり、連結したファイルでも128桁にはならず誤りである。
エ(正解)
安全なハッシュ関数では衝突は事実上起こらないため、ハッシュ値が一致する2ファイルは内容が同じと考えられ、正しい。
解き方の整理
SHA-256の問題では、選択肢のキーワードだけで判断せず、問題文が示す条件と正解選択肢の説明が一致しているかを見ます。誤答選択肢は、似た用語を混ぜる、主体を入れ替える、目的や範囲を広げすぎる、という形で作られることが多いため、選択肢別解説まで確認しておくと復習効率が上がります。
関連問題
前後の問題
復習を続ける
間違えた問題、苦手タグ、模試履歴を保存して復習する導線を用意しています。広告なしPro、弱点分析、復習リマインダーは段階的に提供予定です。