2009-03-06 70 views
0

以这种方式构建PRNG难吗?为什么没有完成?从一个可计算的正常数字伪随机数发生器

也就是说,据我所知,我们可以简单地有一个PRNG需要种子n。当你要求一个随机位时,它将采用可计算正常数的二进制扩展的第n位数,并增加n。

我的第一个想法是,也许我们没有找到一个可计算的正常数字,但我们have。剩下的想法是,有一个很好的理由不会 - 或者是我不熟悉PRNG的某些特性,即这种方法不具备,或者某种方式不切实际,或者其他方法超出其他方法。

+0

看看这篇论文:http://www.emis.de/journals/EM/expmath/volumes/11/11.4/pp527_546.pdf – dirkgently 2009-03-06 01:48:52

+0

什么是PSRG?你的意思是PRNG? – hop 2009-03-06 01:53:05

回答

3

这将使预测输出非常简单。

举个例子,你可以生成整数0x54a30b7f。如果你有4GiB的pi(或随机噪声或实际的正常数字),那么这个特定整数只有一个(或者可能是少数)出现,我可以以相当高的概率预测所有未来的数字。对于密码强的PRNG,这是一个严重的问题。如果不是简单的顺序扫描,而是使用某个函数,那么我只需要遵循这个函数,如果它足够难以遵循,就会变成一个PRNG。

如果你不关心你的生成器的密码强度,那么有更紧凑的方式来生成随机数。例如,Mersenne Twister具有更大的周期而不需要4GiB查找表。