1. A random number generator, comprising: one or more pseudorandom data sources that generate first data; random state storage that receives and stores a random number; and a one-way hash element, whose output is coupled to the input of the random state storage, that hashes first data from the one or more pseudorandom data sources with a current random value from the random state storage, wherein the hashed result from the one-way hash element is loaded into the random state storage as a new random value, and wherein the one-way hash element is a first one-way hash element, the random number generator further comprising a second one-way hash element that receives the current random value from the random state storage and hashes the current random value with a separate value, the output of the second one-way hash element being designated as the random number that is provided as an output by the random number generator.