ハードコア述語

概要

ハードコア述語(hardcore predicate)とは、一方向関数 $f$ に対して「$f(x)$ からは効率的に推測できないが、$x$ を知っていれば容易に計算できる」1ビットを出力する関数 $b(x)$ のことである。一方向関数 $f$ が与えられたとき、そのハードコア述語を明示的に構成できることが、暗号における擬似ランダムビットの生成や安全な暗号化の基礎となる。