この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ア

解説

暗号学的ハッシュ関数の3つの重要な性質を区別する問題です。①原像計算困難性(一方向性):あるハッシュ値hが与えられたとき、h=H(m)となるメッセージmを見つけることが計算量的に困難な性質。②第2原像計算困難性:あるメッセージm1が与えられたとき、H(m1)=H(m2)となる別のメッセージm2を見つけることが困難な性質。③衝突耐性(衝突困難性):H(m1)=H(m2)となる任意の2つの異なるメッセージm1,m2のペアを見つけることが困難な性質。問題が問うのは「原像計算困難性=一方向性」であり、「ハッシュ値から元のメッセージを求めることが困難」という選択肢aが正解です。

なぜ他の選択肢は違うのか

選択肢 イ
「可変長入力から固定長ハッシュ値を生成できる」はハッシュ関数の基本的な機能(圧縮性)の説明であり、セキュリティ性質である「原像計算困難性」ではありません。
選択肢 ウ
「ハッシュ値が一致する2つの異なるメッセージを見つけることが困難」は衝突耐性(Collision Resistance)の説明です。原像計算困難性(一方向性)とは区別が必要です。
選択肢 エ
「外部からの不正な観測や改変を防御できる」はタンパー耐性の説明です。ハッシュ関数のセキュリティ性質(一方向性・衝突耐性)とは異なる概念です。

解くときのポイント

ハッシュ関数の3性質を区別:①原像計算困難性=「h→m困難(一方向)」②第2原像計算困難性=「m1からm2困難」③衝突耐性=「任意のm1,m2ペア困難」。強さの関係:衝突耐性→第2原像計算困難性→原像計算困難性。試験頻出なので3つを確実に区別。