問題
テクノロジ系
問91 デジタル署名やブロックチェーンで用いられるハッシュ関数には,SHA-256,SHA-512 などがある。このようなハッシュ関数に関する記述として,適切なものはどれか。
選択肢
- アあるハッシュ関数を用いて得たハッシュ値を,そのハッシュ関数に入力することによって,元のデータを復元することができる。
- イ同じデータを異なるハッシュ関数にそれぞれ入力したとき,得られるハッシュ値は全て同じになる。
- ウ同じハッシュ関数を用いる場合,入力したデータが同じであれば,得られるハッシュ値は常に同じになる。
- エどのハッシュ関数にもそれぞれの逆関数が存在し,ハッシュ値から元のデータを復元することができる。
解説
正解:ウ
概要
この問題は,ハッシュ関数の性質として適切なものを問うものです。ハッシュ関数の一方向性と決定性を正しく理解することがポイントです。
正解の理由
同じハッシュ関数に同じデータを入力した場合,常に同じハッシュ値が得られます。これはハッシュ関数の「決定性」と呼ばれる性質です。ウが正解です。
各選択肢の解説
ア(×): ハッシュ関数は一方向性の関数であり,ハッシュ値から元のデータを復元することは計算上不可能です。ハッシュ値を再度ハッシュ関数に入力しても元のデータには戻りません。
イ(×): 同じデータを異なるハッシュ関数に入力すると,異なるハッシュ値が得られます。SHA-256とSHA-512では同じ入力でも異なるハッシュ値が出力されます。
ウ(〇): 同じハッシュ関数に同じデータを入力すると,常に同じハッシュ値が得られます。
エ(×): ハッシュ関数に逆関数は存在しません。ハッシュ値から元のデータを復元することは原理的にできません(一方向性)。
ポイント
ハッシュ関数の重要な性質として,①一方向性(元データに戻せない),②衝突困難性(異なるデータから同じハッシュ値が生成されにくい),③決定性(同じ入力に対して常に同じ出力)があります。デジタル署名やブロックチェーンで活用されています。