ITパスポート過去問 令和8年度(2026年)問91
デジタル署名やブロックチェーンで用いられるハッシュ関数には,SHA-256,SHA-512などがある。このようなハッシュ関数に関する記述として,適切なものはどれか。
選択肢
- ア:あるハッシュ関数を用いて得たハッシュ値を,そのハッシュ関数に入力することによって,元のデータを復元することができる。
- イ:同じデータを異なるハッシュ関数にそれぞれ入力したとき,得られるハッシュ値は全て同じになる。
- ウ:同じハッシュ関数を用いる場合,入力したデータが同じであれば,得られるハッシュ値は常に同じになる。
- エ:どのハッシュ関数にもそれぞれの逆関数が存在し,ハッシュ値から元のデータを復元することができる。
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
ハッシュ関数は、任意の長さのデータを入力すると固定長のハッシュ値を出力する関数です。同じハッシュ関数に同じデータを入力した場合、得られるハッシュ値は常に同じになります。一方で、ハッシュ値から元のデータを復元することは原則としてできない性質(不可逆性)を持ちます。したがって、同一入力同一出力を述べた「ウ」が適切です。
Point
この問題は、ハッシュ関数の基本的な性質として、同じ入力は同じ出力になること(決定性)と、ハッシュ値から元のデータを復元できないこと(不可逆性)を理解しているかを確認しています。
解くために必要な知識
この問題を解くには、ハッシュ関数の定義と主な性質(固定長出力、決定性、不可逆性、衝突困難性)の理解が必要です。
用語の整理
| 用語名 | 意味 |
|---|---|
| ハッシュ関数 | 任意の長さのデータから、固定長のデータ(ハッシュ値)を生成する関数です。 |
| ハッシュ値 | ハッシュ関数の出力である固定長データです。メッセージダイジェストとも呼ばれます。 |
| デジタル署名 | 送信者の本人確認と、データが改ざんされていないことの確認に用いられる技術です。 |
| ブロックチェーン | 各データ(ブロック)を前のブロックのハッシュ値で連結し、改ざん検知を行う分散型台帳技術です。 |
| SHA-256 / SHA-512 | 代表的なハッシュ関数の規格で、SHA-256は256ビット、SHA-512は512ビットのハッシュ値を出力します。 |
ハッシュ関数の重要な性質
固定長出力
入力データの長さに関係なく、出力されるハッシュ値の長さは一定です。
決定性(同一入力同一出力)
同じハッシュ関数に同じ入力データを与えると、出力は毎回同じになります。
不可逆性
ハッシュ値から元の入力データを計算によって復元することは原則としてできません。
衝突困難性
異なる入力データで同じハッシュ値になること(衝突)を、現実的な計算時間で見つけることが難しいように設計されています。
他の選択肢に出てくる用語
| 用語名 | 意味 |
|---|---|
| 逆関数 | ある関数の出力から元の入力を求めるための関数です。ハッシュ関数は元データ復元ができないように設計されているため、実用上の逆関数はありません。 |
問題の解法手順
各選択肢の整理
| 選択肢 | 内容の正誤 | 理由 |
|---|---|---|
| ア | 誤り | ハッシュ値を入力しても元のデータは復元できません。ハッシュ関数は不可逆性を持ちます。 |
| イ | 誤り | ハッシュ関数が異なれば、同じ入力データでも出力されるハッシュ値は通常異なります。 |
| ウ | 正しい | 同じハッシュ関数に同じデータを入力すれば、ハッシュ値は常に同じになります。 |
| エ | 誤り | ハッシュ関数は原則として逆関数を使って元データを復元できません。 |
選択肢ごとの解説
- ア:不正解
ハッシュ関数は不可逆性を持つため、ハッシュ値から元のデータを復元することは原則としてできません。また、ハッシュ値を入力しても、元データではなく別の入力として処理された結果のハッシュ値が得られるだけです。
- イ:不正解
SHA-256とSHA-512のようにハッシュ関数が異なると、計算手順も出力長も異なります。同じデータを入力しても、得られるハッシュ値が全て同じになるとは限りません。
- ウ:正解
同じハッシュ関数に同じデータを入力すると、出力されるハッシュ値は常に同じになります。この性質により、データが変更されていないかをハッシュ値の比較で確認できます。
- エ:不正解
ハッシュ関数は元データを復元できないように設計されており、ハッシュ値から元のデータを復元するための逆関数がある、という説明は適切ではありません。
まとめ
ハッシュ関数は、任意の長さのデータを入力すると固定長のハッシュ値を出力する関数です。同じハッシュ関数に同じデータを入力した場合、得られるハッシュ値は常に同じになります。一方で、ハッシュ値から元のデータを復元することは原則としてできない性質(不可逆性)を持ちます。したがって、同一入力同一出力を述べた「ウ」が適切です。
理解すべき用語
テクノロジ系 > 技術要素 > セキュリティ
ハッシュ関数は不可逆性を持つため、ハッシュ値から元のデータを復元することは原則としてできません。また、ハッシュ値を入力しても、元データではなく別の入力として処理された結果のハッシュ値が得られるだけです。
SHA-256とSHA-512のようにハッシュ関数が異なると、計算手順も出力長も異なります。同じデータを入力しても、得られるハッシュ値が全て同じになるとは限りません。
同じハッシュ関数に同じデータを入力すると、出力されるハッシュ値は常に同じになります。この性質により、データが変更されていないかをハッシュ値の比較で確認できます。
ハッシュ関数は元データを復元できないように設計されており、ハッシュ値から元のデータを復元するための逆関数がある、という説明は適切ではありません。