A
randomness extractor, often simply called an "extractor", is a function, which being applied to output from a weakly random
entropy source, together with a short, uniformly random seed, generates a highly
random output that appears
independent from the source and
uniformly distributed. Examples of weakly random sources include
radioactive decay or
thermal noise; the only restriction on possible sources is that there is no way they can be fully controlled, calculated or predicted, and that a lower bound on their entropy rate can be established. For a given source, a randomness extractor can even be considered to be a true random number generator (
TRNG); but there is no single extractor that has been proven to produce truly random output from any type of weakly random source.