科目A問91
デジタル署名やブロックチェーンで用いられるハッシュ関数には,SHA-256,SHA-512などがある。このようなハッシュ関数に関する記述として,適切なものはどれか。
| あるハッシュ関数を用いて得たハッシュ値を,そのハッシュ関数に入力することによって,元のデータを復元することができる。 | |
| 同じデータを異なるハッシュ関数にそれぞれ入力したとき,得られるハッシュ値は全て同じになる。 | |
| 同じハッシュ関数を用いる場合,入力したデータが同じであれば,得られるハッシュ値は常に同じになる。 | |
| どのハッシュ関数にもそれぞれの逆関数が存在し,ハッシュ値から元のデータを復元することができる。 |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- ウ
解説
ハッシュ関数は、長さに制限のないデータを入力すると、一定長のビット列(ハッシュ値/メッセージダイジェスト)を返す関数です。主な性質は次のとおりです。
- 決定性:同じ入力なら必ず同じハッシュ値になります。
- 雪崩効果:入力がほんの少し違うだけでも、出力は大きく変わります。
- 一方向性(原像計算困難性):ハッシュ値だけから元のデータを求めるのは計算的に極めて困難です。
- 衝突耐性:異なる入力で同一のハッシュ値を見つけることが非常に難しいです。
このため、ハッシュ値から元データを復元することはできず、ハッシュ値を再び同じ関数に入れても逆変換にはならず、ただ別のハッシュ値が得られるだけです。また、ハッシュ値の計算方法は関数ごとに異なるため、同じ入力でも関数が違えば出力は一致しません。例えば、SHA-256は256ビット、SHA-512は512ビットのハッシュ値を出力します。以上より、正しい記述はウです。
- 決定性:同じ入力なら必ず同じハッシュ値になります。
- 雪崩効果:入力がほんの少し違うだけでも、出力は大きく変わります。
- 一方向性(原像計算困難性):ハッシュ値だけから元のデータを求めるのは計算的に極めて困難です。
- 衝突耐性:異なる入力で同一のハッシュ値を見つけることが非常に難しいです。
このため、ハッシュ値から元データを復元することはできず、ハッシュ値を再び同じ関数に入れても逆変換にはならず、ただ別のハッシュ値が得られるだけです。また、ハッシュ値の計算方法は関数ごとに異なるため、同じ入力でも関数が違えば出力は一致しません。例えば、SHA-256は256ビット、SHA-512は512ビットのハッシュ値を出力します。以上より、正しい記述はウです。
| ア. | あるハッシュ関数を用いて得たハッシュ値を,そのハッシュ関数に入力することによって,元のデータを復元することができる。 |
| 誤りです。一方向性のため、ハッシュ値を同じハッシュ関数に入力しても元のデータには戻らず、単に再度ハッシュ化されるだけです。 | |
| イ. | 同じデータを異なるハッシュ関数にそれぞれ入力したとき,得られるハッシュ値は全て同じになる。 |
| 誤りです。ハッシュ関数ごとにアルゴリズムが異なるため、同じ入力でも関数が異なれば得られるハッシュ値は同一にはなりません。 | |
| ウ. | 同じハッシュ関数を用いる場合,入力したデータが同じであれば,得られるハッシュ値は常に同じになる。 |
| 正しいです。決定性により、同一のハッシュ関数に同一データを与えれば、出力されるハッシュ値は常に同じです。 | |
| エ. | どのハッシュ関数にもそれぞれの逆関数が存在し,ハッシュ値から元のデータを復元することができる。 |
| 誤りです。ハッシュ関数には逆関数はありません。暗号化の復号のように、ハッシュ値から元データを復元することはできません。 |