Extracting only the entropy (I cleaned up the question a bit, It was previously titled "extracting entropy without hashing" .. thus some of the comments / answers)

I'd like to extract the entropy of data without injecting "pseudo" entropy. For example, let's say I have a series of bytes, but only the low bit is changing (or something is changing that I'm not aware of beforehand) - how can I just output that low bit?

Is there a known way to extract the random part of the data without doing custom programming for each different type of data series?

edit:  To clarify, I'm looking to extract only the random part.  Eg, assuming F is the magical function, I want:

Length (F(X)) = # of bits of min-entropy in X.

As has been pointed out elsewhere, this is probably impossible to do automagically with any reasonably assured level of confidence in its real accuracy.
The best answer is almost certainly to use a cryptographic hash. 

Your reason for avoiding a cryptographic hash makes no sense to me.  Your problem does not explain the motivation for your question, but I suspect you've fallen prey to the XY problem (see also here).

You haven't told us what you're ultimately trying to accomplish, but I suspect the right answer in practice is ultimately going to be:


Use /dev/urandom to generate cryptographic-quality pseudorandom numbers.
If you have a source of entropy, feed it into /dev/urandom (e.g., cat somekindarandombits &gt; /dev/urandom), then see step 1 above.


Internally, this effectively uses a hash.

I also recommend you read the following:


https://security.stackexchange.com/q/89/971
https://security.stackexchange.com/q/3936/971
https://security.stackexchange.com/q/14292/971