English 中文(简体)
可计算正态数生成的伪随机数生成器
原标题:
  • 时间:2009-03-06 01:37:11
  •  标签:

这不是很容易地可能以这种方式构建PRNG吗?为什么不这样做?

据我所知,我们可以简单地拥有一个以种子n为参数的伪随机数生成器。每当您请求一个随机位时,它将取计算能力正常数的二进制展开中的第n个数字,并递增n。

我的第一反应是可能我们没有找到可计算的普通数,但是我们已经找到了。剩下的想法是,可能有充分的理由不这样做——要么是我不熟悉的PRNG的某种属性,这种方法没有,要么是出于某种原因不切实际,或者被其他方法超越了。

最佳回答

那将使预测输出变得非常简单。

举例说,你产生一个整数0x54a30b7f。如果你有4GiB的圆周率(或随机噪声或真实的普通数字),那么那个特定的整数可能只有一个(或者可能只有几个)出现的机会,我就可以合理地预测所有未来的数字。这在密码学强PRNGs的情况下是一个严重的问题。如果你不使用简单的顺序扫描,而是使用一些函数,我只需要跟随这个函数,如果跟随起来足够困难,它就变成了自己的PRNG。

如果您不关心生成器的加密强度,那么有更紧凑的方式生成随机数。例如,梅森旋转算法拥有更大的周期而无需4GiB查找表。

问题回答

暂无回答




相关问题
热门标签