ハッシュ関数の出力と復元にはどんな特徴がある?
ITパスポート試験 令和元年度秋期 問93 / セキュリティ › 情報セキュリティ対策・実装技術
過去問にチャレンジ
ディジタル署名やブロックチェーンなどで利用されているハッシュ関数の特徴に関する,次の記述中のa,bに入れる字句の適切な組合せはどれか。 ハッシュ関数によって,同じデータは,[a]ハッシュ値に変換され,変換後のハッシュ値から元のデータを復元することが[b]。

- ア
a:都度異なる、b:できない
- イ
a:都度異なる、b:できる
- ウ
a:常に同じ、b:できない
- エ
a:常に同じ、b:できる
会話形式の解説
講師この問題では、ハッシュ関数の出力が毎回同じかどうかと、元のデータに戻せるかを分けて考えます。
受験者変換するたびに値が変わるようにも思えます。同じデータなら、結果も同じですか。
講師同じハッシュ関数に同じデータを入力すれば、ハッシュ値、つまり変換後の値は毎回同じです。まず「常に同じ」に絞れます。
受験者では、残る違いは、その値から元のデータを復元できるかどうかですね。
講師はい。ハッシュ値から元のデータを実用的に復元することは困難です。したがって、「常に同じ」と「できない」の組合せが正解です。
受験者「都度異なる」と「できない」の組合せは、復元については合っていますが、値の変わり方が違うのですね。
講師そのとおりです。「都度異なる」と「できる」の組合せは、両方とも誤りです。
受験者「常に同じ」と「できる」なら、前半だけが合っていますか。
講師はい。ハッシュ値から実用的に元のデータを復元できる、という後半が誤りです。
受験者同じ入力なら同じ値になり、その値から元のデータを復元するのは困難、と覚えます。
講師なお、復元が困難でも、候補のデータをハッシュ化して値を照合することはできます。
まとめ
同じハッシュ関数に同じデータを入力すると、ハッシュ値は毎回同じになります。ハッシュ値から元のデータを実用的に復元することは困難です。したがって、正解は「常に同じ」と「できない」を組み合わせたウです。候補のデータをハッシュ化して値を照合することはできます。
解答・解説
正解はウです
この問題のテーマ
ハッシュ関数の二つの特徴を問う問題です。同じデータから得られる値と、その値から元のデータを復元できるかを判断します。
解き方の考え方
まず、同じハッシュ関数に同じデータを入力すれば、計算するたびに同じハッシュ値になると考え、aを「常に同じ」に絞ります。次に、ハッシュ値から元のデータを実用的に復元することは困難なので、bは「できない」を選びます。この組合せはウです。
選択肢ごとの解説
- ×ア a:都度異なる、b:できない「都度異なる」が誤りです。同じハッシュ関数に同じデータを入力すれば、ハッシュ値は毎回同じになります。bの「できない」は適切です。
- ×イ a:都度異なる、b:できる「都度異なる」が誤りです。また、ハッシュ値から元のデータを実用的に復元することは困難なので、「できる」も誤りです。
- ○ウ a:常に同じ、b:できない同じハッシュ関数に同じデータを入力すると、ハッシュ値は「常に同じ」です。そのハッシュ値から元のデータを実用的に復元することは困難なので、「できない」も適切です。
- ×エ a:常に同じ、b:できるaの「常に同じ」は適切です。しかし、ハッシュ値から元のデータを実用的に復元することは困難なので、bの「できる」は誤りです。
補足
「復元できない」は、ハッシュ値が元データを探す手掛かりにもならないという意味ではありません。候補のデータをハッシュ化し、値を照合することはできます。
POINT
- 同じハッシュ関数に同じデータを入力すると、同じハッシュ値が得られます。
- ハッシュ値から元データを実用的に復元することは困難です。
- 組合せ問題では、まず確実に判断できる欄から選択肢を絞ります。
