令和元年度 秋期 午前 問12
暗号技術
SHA-256に関する問題
セキュアハッシュ関数SHA-256を用いてファイルA及びファイルBのハッシュ値を算出すると,どちらも全く同じ次に示すハッシュ値n(16進数で示すと64桁)となった。この結果から考えられることとして,適切なものはどれか。
ハッシュ値n:86620f2f 152524d7 dbed4bcb b8119bb6 d493f734 0b4e7661 88565353 9e6d2074
- アファイルAとファイルBの各内容を変更せずに再度ハッシュ値を算出すると,ファイルAとファイルBのハッシュ値が異なる。
- イファイルAとファイルBのハッシュ値nのデータ量は64バイトである。
- ウファイルAとファイルBを連結させたファイルCのハッシュ値の桁数は16進数で示すと128桁である。
- エファイルAの内容とファイルBの内容は同じである。
答えと解説を見る
✓ これが正解エファイルAの内容とファイルBの内容は同じである。
解説
ハッシュ値が完全に一致するので二つのファイルの内容は同じです。
ハッシュ関数は、入力データから決まった長さの値(ハッシュ値)を計算するもので、入力が少しでも違えば値も変わり、同じ入力からはいつも同じ値が出ます。SHA-256の場合、出力はどんな入力でも256ビット、16進数で表すと64桁(32バイト)の固定長です。ファイルAとファイルBのSHA-256が完全に同じ値になったということは、二つのファイルの内容が同じだと考えられます。これが適切な結論です。
ほかの選択肢はなぜ違うのか
- アファイルAとファイルBの各内容を変更せず…:同じ内容のファイルを変更せずに計算し直せば、ハッシュ値は何度計算しても同じ値になります。入力が同じなら出力も同じというのがハッシュ関数の性質なので、再計算すると異なるという記述は誤りです。
- イファイルAとファイルBのハッシュ値nのデ…:16進数64桁は、1桁が4ビットなので256ビット、バイトに直すと32バイトです。64バイトではありません。桁数とバイト数を取り違えているので、この記述は誤りです。
- ウファイルAとファイルBを連結させたファイ…:ハッシュ値の桁数は入力の大きさによらず一定です。SHA-256なら、ファイルを連結したファイルCでも出力は16進数で64桁のままで、128桁にはなりません。だからこの記述は誤りです。
この問題の用語
- SHA-256データから決まった長さの値を計算する関数。値が一致すれば内容も同じとみなせ、改ざんの検知に使われます。
- ハッシュ関数どんな長さのものからも決まった長さの値を作り出す計算。少しでも中身が変われば、できあがる値は大きく変わります。
- ハッシュ値データから計算した固定長の値のこと。同じデータなら必ず同じ値になるので、データの比較や検索を速くするのに使われます。
出典:令和元年度 秋期 情報セキュリティマネジメント試験 午前 問12
同じ内容が出た回
同じ用語が出る問題
- 科目A・B サンプル問題 科目A 問29:動的解析に該当するもの(ハッシュ値)
- 科目A・B サンプル問題 科目A 問10:ハッシュ値を利用する目的(ハッシュ関数)
- 平成31年度 春期 午前 問18:ペネトレーションテストの問題(ハッシュ値)
- 平成30年度 春期 午前 問16:ハッシュ関数に関する問題(SHA-256)
- 平成29年度 秋期 午前 問18:認証する方法(ハッシュ関数)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)