令和8年度 ITパスポート 問91(テクノロジ)
出典:令和8年度 ITパスポート試験 公開問題 問91(独立行政法人情報処理推進機構(IPA))
デジタル署名やブロックチェーンで用いられるハッシュ関数には,SHA-256,SHA-512などがある。このようなハッシュ関数に関する記述として,適切なものはどれか。
- アあるハッシュ関数を用いて得たハッシュ値を,そのハッシュ関数に入力することによって,元のデータを復元することができる。
- イ同じデータを異なるハッシュ関数にそれぞれ入力したとき,得られるハッシュ値は全て同じになる。
- ウ同じハッシュ関数を用いる場合,入力したデータが同じであれば,得られるハッシュ値は常に同じになる。
- エどのハッシュ関数にもそれぞれの逆関数が存在し,ハッシュ値から元のデータを復元することができる。
正解と解説を見る
正解:ウ
【ハッシュ関数の性質】
ハッシュ関数は、任意の長さのデータから、決まった長さの値(ハッシュ値)を計算する関数です。SHA(Secure Hash Algorithm)のうち、SHA-256は256ビット、SHA-512は512ビットの値を出します。暗号に使うハッシュ関数には、次の性質があります。
・同じデータからは、いつ計算しても同じハッシュ値が得られる
・データが少しでも違えば、まったく別のハッシュ値になると期待できる(元のデータが似ていても、ハッシュ値は似ない)
・ハッシュ値から元のデータを求めることは、事実上できない(一方向性)
・同じハッシュ値になる別のデータを見つけることは、事実上できない
ハッシュ値の長さは決まっているので、異なるデータが同じハッシュ値になる「衝突」は理論上必ず存在します。それでも、衝突を実際に見つけるのは非常に難しくなるように設計されているので、ハッシュ値を比べればデータが改ざんされていないかを確かめられます(デジタル署名、ブロックチェーンなど)。
【選択肢の検討】
ア:ハッシュ値を同じハッシュ関数に入れても、元のデータには戻りません。新しいハッシュ値が計算されるだけです。
イ:ハッシュ関数が違えば計算の方法が違うので、同じデータでも得られるハッシュ値は一般に異なり、全て同じになるとはいえません(SHA-256とSHA-512のように、長さが違うこともあります)。
ウ:同じハッシュ関数に同じデータを入れれば、ハッシュ値は常に同じです。正しい記述です。
エ:ハッシュ関数には一方向性があり、ハッシュ値から元のデータを復元することはできません。
よって、正解は選択肢ウです。