ディジタル署名やブロックチェーンなどで利用されているハッシュ関数の特徴に関する,次の記述中のa,bに入れる字句の適切な組合せはどれか。 ハッシュ関数によって,同じデータは,[a]ハッシュ値に変換され,変換後のハッシュ値から元のデータを復元することが[b]。
| a | b | |
| ア | 都度異なる | できない |
| イ | 都度異なる | できる |
| ウ | 常に同じ | できない |
| エ | 常に同じ | できる |
- アa:都度異なる,b:できない
- イa:都度異なる,b:できる
- ウa:常に同じ,b:できない
- エa:常に同じ,b:できる
正解と解説を見る
正解
ウ a:常に同じ,b:できない
ハッシュ関数は,同じ入力データからは常に同じハッシュ値を生成する一方向性の関数であり,かつハッシュ値から元のデータを逆算して復元することはできないという特徴をもつ。したがって「a:常に同じ,b:できない」が正しい組合せである。「都度異なる」ハッシュ値になってしまうと,同じデータの改ざん検知や同一性確認に利用できず,ハッシュ関数の目的(データの同一性確認)を果たせないため誤り。また,ハッシュ値から元データを「復元できる」としてしまうと,一方向性という暗号学的に重要な性質に反するため,これも誤りである。