令和8年度試験問題 問91
問91解説へ
デジタル署名やブロックチェーンで用いられるハッシュ関数には,SHA-256,SHA-512などがある。このようなハッシュ関数に関する記述として,適切なものはどれか。
- あるハッシュ関数を用いて得たハッシュ値を,そのハッシュ関数に入力することによって,元のデータを復元することができる。
- 同じデータを異なるハッシュ関数にそれぞれ入力したとき,得られるハッシュ値は全て同じになる。
- 同じハッシュ関数を用いる場合,入力したデータが同じであれば,得られるハッシュ値は常に同じになる。
- どのハッシュ関数にもそれぞれの逆関数が存在し,ハッシュ値から元のデータを復元することができる。
正解 ウ問題へ
広告
解説
ハッシュ関数は、任意の長さのデータを入力すると固定長のビット列(ハッシュ値、メッセージダイジェスト)を返す関数です。次のような特徴を持ちます。
- 決定性
- 入力データが同じであれば、常に同じハッシュ値が生成される
- 雪崩効果
- 入力データが少しでも異なっていれば生成されるハッシュ値は大きく異なったものになる
- 一方向性(原像計算困難性)
- ハッシュ値から元の入力データを割り出すことが計算量的に難しい
- 衝突耐性
- 異なる入力データから同じハッシュ値が生成される可能性が極めて低い
- ハッシュ関数には一方向性があるため、ハッシュ値から元のデータを復元することは困難です(不可逆)。ハッシュ値をもう一度ハッシュ関数に入力しても、元のデータに戻るわけではなく、そのハッシュ値がさらにハッシュ化されるだけです。
- ハッシュ値の計算方法はハッシュ関数ごとに異なります。したがって、入力データが同じであっても、使用するハッシュ関数が異なれば、得られるハッシュ値も変わります。例えば、SHA-256では256ビット、SHA-512では512ビットのハッシュ値が出力されます。
- 正しい。入力データとハッシュ関数が同じであれば、得られるハッシュ値は常に同じとなります。
- ハッシュ関数は、暗号化とは異なり、一方向の変換(入力値→ハッシュ値)を前提としているため、逆向きの変換(ハッシュ値→入力値)を行う関数は存在しません。
広告