I'm completely ignorant in computer science, but even I know that it's tough to get true random numbers. The problem is that any software-based algorithm generates "pseudo-random" numbers, that is there is still some regularity in a row of those, and the sequence will repeat itself after a while.
People are used to get the real randomness from the outside, like picking up the thermal noise of the sound card, the displacements of mouse (that are supposed to be random), or even monitoring the atmosphere. But, there is at least one challenging method to get true random numbers out of the software part.
Let's take a block of English text (say, a .pdf of a paper), written by a native Russian speaker. What is to do, is to analyze the articles "a" and "the" over there. If the correct article is used, we have "1", if not – "0". In such a way, we get a truly random sequence of 1's and 0's, and we can generate true random base-10 numbers out of it.
Is there anyone who wants to give it a try? )