7

通过编程,它永远不是“随机的”。甚至随机生成器也使用一种算法来预测随机数。但是,如果知道生成方法,是否有可能预测接下来将生成的 5 个数字?

4

3 回答 3

10

是的,可以预测随机数生成器接下来会产生什么数字。我见过这被称为破解破坏攻击RNG。搜索任何这些术语以及“随机数生成器”应该会出现很多结果。

阅读我们如何在在线扑克中学会作弊:软件安全研究,以获得关于如何攻击随机数生成器的出色第一手资料。总而言之,作者根据在线扑克网站使用的错误洗牌算法找出了正在使用的 RNG。然后,他们通过对发牌的手牌进行抽样来计算出 RNG 种子。一旦他们有了算法和种子,他们就清楚地知道在后来的洗牌后甲板将如何排列。

于 2013-06-28T19:19:55.687 回答
4

假设一个确定性算法。创建两个相同的随机数生成器。问第一个第二个接下来会产生什么——5次。

于 2013-06-28T19:13:56.540 回答
1

绝大多数“随机数生成器”实际上是“伪随机数生成器”,这意味着,给定相同的起点(种子),它们将重现相同的序列。理论上,通过观察一段时间内的数字序列(并了解特定的算法),人们可以预测下一个数字,就像“破解”加密一样。

当然,执行此操作所需的时间/精力会因特定算法而有很大差异。“加密”的 RNG 将比您的普通 RNG 更难预测。但是对于大多数随机数的使用来说,这种可预测性并不是问题。

于 2013-06-28T19:27:59.620 回答