# Whitening and randomness extraction

The Von Neumann randomness extractor is explicitly mentioned in the randomness extractor page of Wikipedia, but strangely enough that page does not contain any reference to whitening the results of an entropy source.

Two intrinsically related questions:

1. Is this Von Neumann randomness extractor indeed a form of whitening?
2. Is whitening simply a part of randomness extractor, or is there another relation between whitening and randomness extraction?
• What definition of whitening would you like us to use? I have not heard the term "whitening" used in this particular context, so you'll probably need to define your terms (or provide some more context and more information about why you're asking and how you will use the answer) before I could answer this.
– D.W.
Jul 28, 2014 at 3:15
• @D.W. That's probably part of my problem. Up to now I had in mind that whitening is something that is a relatively simple method such as performing a XOR on the output of one or two RNG's, but I sometimes see it use as a more general method of (at least) creating a good distribution of values given by an RNG. Jul 28, 2014 at 7:42
• The title of this question made me think I was on dentists.stackexchange.com Aug 1, 2014 at 1:16
• @l19 Really? I would not want to have randomness extraction at a dentist :) Aug 1, 2014 at 1:30

For example, suppose you have a $b$-bit input $I$ with at least $e$ bits of entropy:
• A randomness extractor would map it to at most an $e$-bit output, for example the first $e$ bits of $H(I)$. (Better yet, an $\frac{e}{2}$-bit output, as NIST recommends in 800-90B.)
• A whitener could instead use encryption with a secret key $E_k(I)$. This gives a $b$-bit output that may only have $e$ bits of entropy, but still looks random as long as the key is secret.