FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説:ハッシュ関数の特徴として適切なものはどれか。
問題
ハッシュ関数の特徴として適切なものはどれか。
- ア 任意の長さのデータから固定長のハッシュ値を生成し、元データの復元は困難である(正解)
- イ データを暗号化し、鍵を使って復号できる
- ウ データを圧縮して元に戻せる
- エ データの冗長性を付加して誤り訂正を可能にする
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:任意の長さのデータから固定長のハッシュ値を生成し、元データの復元は困難である
正解はア:ハッシュ関数は、任意の長さの入力データから、固定長のハッシュ値を生成する一方向関数です。重要なのは、同じ入力からは同じハッシュ値が得られる一方、ハッシュ値から元データを復元することは計算上困難という点です。
どこで使うか:この性質により、ファイルの改ざん検知、パスワードの保存、デジタル署名の前処理などに利用されます。例えば、配布ファイルのハッシュ値を公開しておけば、ダウンロード後のファイルが改ざんされていないか確認できます。
ほかの選択肢:イは暗号化、ウは可逆圧縮、エは誤り訂正の説明であり、いずれもハッシュ関数とは目的が異なります。
つまずきポイント:入力が無限にあるのに出力は固定長なので、理論上は異なるデータが同じハッシュ値になる「衝突」が起こり得ます。良いハッシュ関数は衝突を意図的に見つけにくくする「衝突困難性」を備えており、改ざん検知の信頼性はこの性質に支えられています。
他の選択肢はなぜ違う?
- イ鍵で復号できるのは暗号化。ハッシュは一方向で元に戻せない。
- ウ元に戻せるのは可逆圧縮の話。
- エ誤り訂正は冗長符号の話で、ハッシュの性質ではない。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。