令和5年試験問題 [科目A]問5
問5解説へ
セキュアハッシュ関数SHA-256を用いてファイルA及びファイルBのハッシュ値を算出すると,どちらも全く同じ次に示すハッシュ値n(16進数で示すと64桁)となった。この結果から考えられることとして,適切なものはどれか。
ハッシュ値n:86620f2f 152524d7 dbed4bcb b8119bb6 d493f734 0b4e7661 88565353 9e6d2074
ハッシュ値n:86620f2f 152524d7 dbed4bcb b8119bb6 d493f734 0b4e7661 88565353 9e6d2074
- ファイルAとファイルBの各内容を変更せずに再度ハッシュ値を算出すると,ファイルAとファイルBのハッシュ値が異なる。
- ファイルAとファイルBのハッシュ値nのデータ量は64バイトである。
- ファイルAとファイルBを連結させたファイルCのハッシュ値の桁数は16進数で示すと128桁である。
- ファイルAの内容とファイルBの内容は同じである。
正解 エ問題へ
分野:テクノロジ系
中分類:セキュリティ
小分類:情報セキュリティ
中分類:セキュリティ
小分類:情報セキュリティ
広告
解説
ハッシュ関数は、任意の長さのデータを入力すると固定長のビット列(ハッシュ値・メッセージダイジェスト)を返す関数で、次のような特徴を持っています。
本問で登場するSHA-256は、入力された値から256ビットの文字列を生成するハッシュ関数です。16進数1文字(0~f)を表すのに4ビットが必要なので、256ビットのハッシュ値を16進数で表すと「256÷4=64文字」になります。
- 入力データが同じであれば、常に同じメッセージダイジェストが生成される。
- 入力データが少しでも異なっていれば生成されるメッセージダイジェストは大きく異なったものになる。
- メッセージダイジェストから元の入力データを再現することが困難である。
- 異なる入力データから同じメッセージダイジェストが生成される可能性が非常に低い。
本問で登場するSHA-256は、入力された値から256ビットの文字列を生成するハッシュ関数です。16進数1文字(0~f)を表すのに4ビットが必要なので、256ビットのハッシュ値を16進数で表すと「256÷4=64文字」になります。
- 入力値と使用するハッシュ関数が同じであれば、生成されるハッシュ値は常に同一です。
- SHA-256は、256ビットのハッシュ値を出力するハッシュ関数です。1バイトは8ビットなので、データ量は「256÷8=32バイト」です。
- ハッシュ関数は、入力値の長さに関係なく同じ長さのハッシュ値を生成します。したがって、ファイルCから生成されるハッシュ値も「256ビット=64文字」です。
- 正しい。①入力値が同じであれば同じハッシュ関数が出力される、②異なる入力データから同じハッシュ値が生成される可能性が非常に低い、という2つの特性を踏まえると、ファイルAとファイルBの内容が同じものであると判断できます。
広告