randomness is a hard thing, getting a computer to generate it in a way that allows data to be reused in a secure fashion is even harder. here's my own vain attempt at the bugger. the code is in python. Code (Text): v = *3 v = 0x96696996 v = seed v = 0xa5a5bdbd def rot(x,k): return ((x<<k)|(x>>(32-k))&4294967295 def rng(): v,v,v = rot(v,8), v^(~v&v), rot(v,17) return v i've run several randomness tests on it from the diehard sweet, as far as i can tell it is indeed "random" data. currently the cycle length isn't very long however, i suspect the average to be about 2^31, no where near enough for cryptographic purposes. though, it wouldn't be hard to extend it to a much longer cycle length, if that is your desire.