情報セキュリティマネジメント令和元年秋期 午前問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文字(0~f)を表すのに4ビットが必要なので、256ビットのハッシュ値を16進数で表すと「256÷4=64文字」になります。
  • 入力値と使用するハッシュ関数が同じであれば、生成されるハッシュ値は常に同一です。
  • SHA-256は、256ビットのハッシュ値を出力するハッシュ関数です。1バイトは8ビットなので、データ量は「256÷8=32バイト」です。
  • ハッシュ関数は、入力値の長さに関係なく同じ長さのハッシュ値を生成します。したがって、ファイルCから生成されるハッシュ値も「256ビット=64文字」です。
  • 正しい。①入力値が同じであれば同じハッシュ関数が出力される、②異なる入力データから同じハッシュ値が生成される可能性が非常に低い、という2つの特性を踏まえると、ファイルAとファイルBの内容は同じであると判断できます。
© 2015-2024 情報セキュリティマネジメント試験ドットコム All Rights Reserved.

Pagetop