We have used the Math.Random number generator in class several times and we all know the basics: that this method returns a random number between zero and one. But how does this method work? What kind of algorithm is used to generate these random numbers? As we have seen so far in our class random number generation is very important to coding. We have used Math.Random in many of our problem sets and in-class examples. Indeed there are many more interesting uses of random number generation that we haven't covered. From Cryptography to creating whole planets in a video game, random numbers are a very important part of computer science.