We introduce a new approach to construct extractors. Extractors are functions that transform a weakly random distribution into an almost uniform distribution. Explicit constructions of extractors have a variety of important applications, but tend to be very difficult to achieve.

Our main result is the following unsuspected connection: every pseudorandom generator based on a hard predicate (provided the proof of security uses a ``black box'' argument) IS an extractor. The Impagliazzo-Wigderson pseudorandom generator, once reinterpreted via our connection, is already an extractor that beats most known constructions and solves an important open question.

We also show that using the simpler Nisan-Wigderson generator and standard error-correcting codes one can build even better extractors with the additional advantage that both the construction and the analysis are extremely simple and admit a short self-contained treatment (without reference to results on pseudorandomness).