分布式系统随机数发生器

时间:2014-04-14 21:04:40

标签: random soa distributed

这可能不仅仅是一个统计/数学问题,特别是考虑到它的一般性质。如果需要,我会移动它,但非常感谢反馈。

我很好奇在SOA设计中对随机数生成器的潜在影响。为了论证,让我们假设一个良好的种子和设计生成器,没有问题和完美的随机生成能力。

在这个生成器创建的全套数字中,我们看到完美的随机性。 但是,当分发消费应用程序并且多个远程主机请求随机数时会发生什么?它仍然是主机随机的吗?

似乎随机性的可变性至少有可能减少,因为每个主机将采用随机生成的数字的子集。因此,它可能会偶然/巧合地创建一个或多或少的结构化模式。该模式只能在主机的基础上存在,而整个系统似乎仍然会产生完全随机的结果。

1 个答案:

答案 0 :(得分:0)

假设您确实生成了随机数,那么这些数字的任何子集仍然是随机的。

既然那是不可能的,如果你拿出用于加密等安全目的的随机数生成器会发生什么(因为那些算法比简单的生成器更复杂)?我看到两种情况:

  1. 您的客户将以相同的顺序与服务器通信。因此,10个客户端意味着您获得每10个生成的数字。人们可以尝试获取这些数字并找出随机数生成器的配置。但是当他们看到所有数字时,他们也能做到。如果这些生成器的任何子集都是可预测的,那么它对于加密就不再有用了,所以在这里你可以说它们仍然希望任何子集都是随机的。

  2. 您的客户将完全独立行事,并以随机顺序访问服务器。在这里,您实际上获得了真正的随机性(例如,如果它基于用户输入),因此即使设计糟糕的伪随机生成器也可以在每个客户端上为您提供更好的随机分布。因为那些人​​不知道他们是否正在获得下一个发电机号码或者是100号。