SkillStack
テクノロジ系5 / 15問

情報セキュリティマネジメント試験 令和5年度 公開問題 問5

セキュアハッシュ関数SHA-256 を用いてファイルA 及びファイルB のハッシュ値を算出すると、どちらも全く同じ次に示すハッシュ値n(16 進数で示すと64 桁)となった。この結果から考えられることとして、適切なものはどれか。

ハッシュ値n:86620f2f 152524d7 dbed4bcb b8119bb6 d493f734 0b4e7661 88565353 9e6d2074

選択肢を押すと答え合わせができます。

正解と解説を見る

【正解】エ

SHA-256は、入力データの長さにかかわらず、256ビットの固定長ハッシュ値を出力するセキュアハッシュ関数です。同じ内容を入力すれば必ず同じハッシュ値が得られ、内容が少しでも変われば通常は異なる値になります。二つのファイルから全く同じ値が得られた場合、両ファイルの内容が同じであることが考えられるので、エが適切です。ただし、異なる入力から同じ値が出る「衝突」は理論上存在します。SHA-256では衝突を意図的に見つけることが極めて困難であるため、実務ではファイルの同一性や改ざんの有無の確認に利用されます。

アの再計算すると異なる値になるという説明は誤りです。ハッシュ関数は同じ入力に対して常に同じ出力を返す決定的な処理です。内容も使用する方式も同じなら、再計算しても両方とも同じ値nになります。実行時刻やファイル名が自動的に計算へ入るわけではありません。

イのデータ量が64バイトという説明は誤りです。16進数1桁は4ビットなので、64桁×4ビット=256ビットです。1バイトは8ビットであるため、256ビット÷8=32バイトとなります。64はバイト数ではなく、16進数で表したときの桁数です。

ウの連結すると128桁になるという説明は誤りです。SHA-256の出力長は入力データの大きさに依存せず固定です。ファイルAとファイルBを連結して入力を長くしても、ハッシュ値は256ビット、すなわち16進数で64桁のままです。

【ポイント】 SHA-256の「256」は出力のビット数を表し、16進表記では64桁、データ量では32バイトです。 ハッシュ値はデータの要約値であり、改ざん検知やファイルの同一性確認に利用されます。 同じハッシュ値でも理論上は衝突の可能性がある点も押さえましょう。

出典:令和5年度 情報セキュリティマネジメント試験 公開問題 問5
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。

この回の15問を、アプリで通しで解く

  • 本番と同じ問題数・制限時間で通し演習(模試モード)
  • 間違えた問題は自動で「復習すべき問題」に回る
  • 解説で分からない点はAIに質問できる
SkillStackで無料で始める