問題
ハッシュ関数の性質は何か。
選択肢
- 1任意長の入力を固定長の値に変換する一方向関数
- 2入力が同じでも出力は毎回異なる
- 3出力から入力を復元可能
- 4可逆変換
正解
1. 任意長の入力を固定長の値に変換する一方向関数
詳しい解説を見る解説を閉じる
解説
ハッシュ関数は、任意の長さの入力データから固定長のハッシュ値(メッセージダイジェスト)を生成する一方向関数である。同じ入力からは必ず同じ出力が得られる一方、出力から元の入力を復元することは計算量的に不可能(一方向性)であり、同じハッシュ値を持つ別の入力を見つけることも困難(衝突発見困難性)である。入力が1ビットでも変わるとハッシュ値は大きく変化するため、改ざん検出・ディジタル署名・パスワードの保存などに利用される。SHA-256が代表例である。「入力が同じでも出力は毎回異なる」は誤りで、同一入力なら同一出力となるからこそ検証に使える。「出力から入力を復元可能」「可逆変換」は一方向性に反するため誤り。基本情報技術者試験では一方向性・固定長出力・衝突発見困難性の3性質が頻出ポイントである。
一問一答
科目A 180問+科目B 60問