情報セキュリティマネジメント令和元年秋期 午前問12

午前問12

セキュアハッシュ関数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の内容は同じである。

分類

テクノロジ系 » セキュリティ » 情報セキュリティ

正解

解説

本問で登場する「SHA-256」は入力値から256ビットの文字列を生成するハッシュ関数です。16進数1文字が4ビットなので、256ビットだと設問のハッシュ値のように16進数64文字になります。

ハッシュ関数は、任意の長さのデータを入力すると固定長のビット列(ハッシュ値,メッセージダイジェスト)を返す関数で、次のような特徴を持っています。
  • 入力データが同じであれば、常に同じメッセージダイジェストが生成される。
  • 入力データが少しでも異なっていれば生成されるメッセージダイジェストは大きく異なったものになる。
  • メッセージダイジェストから元の入力データを再現することが困難である。
  • 異なる入力データから同じメッセージダイジェストが生成される可能性が非常に低い。
このような特徴を利用して、ハッシュ関数は通信経路での改ざんの検知やユーザ認証、ディジタル署名などの場面で活用されています。
  • 入力値と使用するハッシュ関数が同じであれば、生成されるハッシュ値は常に同じです。
  • SHA-256は、256ビットのハッシュ値を出力するハッシュ関数です。1バイトは8ビットなので、データ量は「256÷8=32バイト」です。
  • ハッシュ関数は入力値の長さにかかわらず同じ長さのハッシュ値を出力します。ファイルCは、ファイルAとファイルBを連結させたものであるためデータ量が多くなりますが、出力されるハッシュ値の長さには関係ありません。したがって、出力されるハッシュ値は「256ビット=64文字」です。
  • 正しい。入力値が同じであれば同じハッシュ関数が出力される、異なる入力データから同じハッシュ値が生成される可能性が非常に低い、という2つの特性を踏まえると、ファイルAとファイルBの内容が同じものであると判断できます。
data-full-width-responsive="true">
© 2015-2019 情報セキュリティマネジメント試験ドットコム All Rights Reserved.

Pagetop