使用不同的RNG移动实现时随机是多么随机?

时间:2011-08-26 05:25:13

标签: random

前言:我对RNG的实际运作方式并不十分清楚。

如果我编写一个简单的例程来随机选择一个介于0和1之间的数字,然后运行 n 次数,我会期望某个相对随机的数字分布应接近50 / 50,给出或采取一些方差 - 即 x 百分比的增量偏向某种方式。

通过观察这种差异,我是否能够在不同设备的群体中看到任何有意义的模式?

例如,如果我有大量的iPhone同时运行此例程,与在不同日期运行它们或与运行大量Android或WP7设备相比,它们是否会看到类似的差异?或者方差是否真的是随机的,无论设备或时间如何,或者是否会影响分布随机性的任何其他因素?

1 个答案:

答案 0 :(得分:1)

这完全取决于PRNG中的几个重要因素。 PRNG(伪随机数生成器)是一种算法,它只能模拟随机数,并用输入状态初始化。

PRNG以其周期性(多久直到它循环),它们的分布以及从先前值或已知种子导出下一个值的容易程度来衡量。所有这些属性对于用于加密目的的PRNG非常重要。

简而言之,它完全取决于任何这些设备使用的算法。如果输入状态和算法相同,则可以预期输出相同。

如果您想测试PRNG的质量,可以使用FIPS-140-2中的指南,或使用DieHarder测试套件。

另请参阅Wikipedia页面。

相关问题