科目A問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 の内容は同じである。 |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- エ
解説
SHA-256は、任意の長さの入力データから256ビット(=32バイト)の固定長ハッシュ値を生成する暗号学的ハッシュ関数です。
同一のハッシュ値が得られた場合、通常はファイル内容が同一であると判断します。
異なる内容で同じハッシュとなる「衝突」は理論上存在しますが、現実的には極めて稀です。
同一のハッシュ値が得られた場合、通常はファイル内容が同一であると判断します。
異なる内容で同じハッシュとなる「衝突」は理論上存在しますが、現実的には極めて稀です。
| ア. | ファイル A とファイル B の各内容を変更せずに再度ハッシュ値を算出すると,ファイル A とファイル B のハッシュ値が異なる。 |
| 誤り。ハッシュ関数は決定的に同じ入力から同じ出力を生成するため、再計算しても結果は変わりません。 | |
| イ. | ファイル A とファイル B のハッシュ値 n のデータ量は 64 バイトである。 |
| 誤り。SHA-256の出力は32バイト(256ビット)であり、64バイトではありません。 | |
| ウ. | ファイル A とファイル B を連結させたファイル C のハッシュ値の桁数は 16 進数で示すと 128 桁である。 |
| 誤り。SHA-256のハッシュ値は16進数64桁で表されます。128桁にはなりません。 | |
| エ. | ファイル A の内容とファイル B の内容は同じである。 |
| 正しい。同一のハッシュ値であれば、実質的にファイル内容が一致していると判断するのが妥当です。 |