平成24年春期試験問題 午前問38
問38解説へ
デジタル署名などに用いるハッシュ関数の特徴はどれか。
- 同じメッセージダイジェストを出力する異なる二つのメッセージが,容易に求められる。
- メッセージが異なっていても,メッセージダイジェストは同じである。
- メッセージダイジェストからメッセージを復元することは困難である。
- メッセージダイジェストの長さはメッセージの長さによって異なる。
広告
解説
ハッシュ関数は、任意の長さのデータを入力すると固定長のビット列(ハッシュ値、メッセージダイジェスト)を返す関数です。次のような特徴をもちます。
主なハッシュ関数にはMD4(128ビット)、MD5(128ビット)、SHA1(160ビット)、SHA2(224~512ビット)などがあります。しかし、この中でMD4、MD5、SHA1は安全性が低くなってしまったため、現在ではより強度のあるSHA2の使用が推奨されています。
- 決定性
- 入力データが同じであれば、常に同じハッシュ値が生成される
- 雪崩効果
- 入力データが少しでも異なっていれば生成されるハッシュ値は大きく異なったものになる
- 一方向性(原像計算困難性)
- ハッシュ値から元の入力データを割り出すことが計算量的に難しい
- 衝突耐性
- 異なる入力データから同じハッシュ値が生成される可能性が極めて低い
主なハッシュ関数にはMD4(128ビット)、MD5(128ビット)、SHA1(160ビット)、SHA2(224~512ビット)などがあります。しかし、この中でMD4、MD5、SHA1は安全性が低くなってしまったため、現在ではより強度のあるSHA2の使用が推奨されています。
- 同一のハッシュ値が生成される可能性は非常に低く、ハッシュ値から入力データへの逆算も難しいため求めることは困難です。
- メッセージが少しでも異なっていれば生成されるメッセージダイジェストは大きく異なったものになります。
- 正しい。ハッシュ関数は一方向性のアルゴリズムであるため結果から入力元を復元することは容易ではありません。
- 使用するハッシュ関数が同じであれば生成されるメッセージダイジェストの長さは常に一定です。
広告