使用时间作为随机数生成的种子有什么问题?

pep*_*psi 7 security random simulation montecarlo prng

我知道时间是随机数生成的不安全种子,因为它有效地减小了种子空间的大小.

但是说我不关心安全问题.例如,假设我正在为纸牌游戏进行蒙特卡罗模拟.但是,我要关心尽可能接近真正的随机性.作为种子的时间会影响我的输出的随机性吗?在这种情况下,我认为PRNG的选择比种子更重要.

Cod*_*aos 5

为了安全起见,您显然需要高熵种子。仅靠时间是无法提供这一点的。

出于仿真目的,种子的质量并不重要,只要它是唯一的即可。如您所述,PRNG的质量在这里更为重要。
甚至游戏中的PRNG可能也需要安全。例如,在多人游戏中,玩家可能会发现PRN​​G的内部状态,并以此来预测未来的随机事件,猜测对手的牌,获得更好的战利品,...

使用时间播种PRNG的一个常见陷阱是时间不经常更改。例如,在Windows上,大多数与时间相关的函数仅每几毫秒更改一次其返回值。因此,以该间隔创建的所有PRNG都将返回相同的序列。