I'm working my way through Stallings's book Cryptography and Network Security. I'm self-taught on crypto, never took a class but I've implemented some crypto accelerator functions in hardware at work and am interested in learning more.
Chapter 8 covers random bit generation. The discussion of true random number generators talks about bias and how to remove it with conditioning algorithms. One such option is to feed the true rng output into a block cipher such as AES. What?
I understand how this would produce data that appears random and passes tests of randomness. But if the input is known to be biased a certain way, brute force could be used to try to reproduce the random bit stream. Taken to an extreme, what if the true rng supplied only 1s very rarely. An attacker could try a small number of one-hot, two-hot, etc. keys in the block cipher and something will match.
Surely I'm missing something...