No better ways to generate hard NP instances than picking uniformly at random
A hard-core predicate for all one-way functions