Preimage Resistance
原像計算困難性(preimage resistance)とは、ハッシュ値hが与えられても、H(x)=hとなる入力xを見つけるのが計算上不可能なハッシュ関数の性質である。一方向性とも呼ばれる。
目的
パスワード保存やコミットメント方式でハッシュ関数を安全に使えるようにする。ハッシュから入力を復元できない。
メカニズム
nビットのハッシュに対する最良の汎用攻撃は約2^n回の総当たりを要するため、256ビットのハッシュは原像に対して安全である。注意:衝突耐性 ≠ 原像計算困難性であり、MD5は衝突は破られても原像は依然として困難である。
ユースケース
- パスワードのハッシュ保存(一方向)
- ハッシュコミットメント方式
- HMACの安全性証明
- ブロックチェーンのPoW
例
- 入力
H(x)=targetOutput2^n trials needed to find xOne-wayness
よくあるエラー
- Confusing collision resistance with preimage resistance
- They are independent properties; assess each separately