跳转到内容

随机种子

维基百科,自由的百科全书

随机种子random seed,或称种子状态、简称种子)是用来初始化伪随机数产生器数字向量。伪随机数产生器输出的数列完全由种子决定:因此,如果以相同的种子重新初始化伪随机数产生器,它将产生相同的数列。

用于伪随机数产生器的种子不必是真正随机。由于数字产生演算法的性质,演算法在初始种子之后产生的值仍会以伪随机方式呈现机率分布。然而,非随机的种子在密码学上是不安全的,因为攻击者可能因此推测出所生成的伪随机数。

电脑安全领域,选择合适的随机种子至关重要。当加密金钥伪随机方式生成时,若种子被取得,就能推导出该金钥。因此选用高的随机种子资料很重要。[1]

随机种子的选取需要谨慎,以确保随机数生成的品质。如果种子无法提供真正随机的结果,伪随机数产生器(PRNG)输出的数值在需要随机性的应用中将无法正常运作。以散布图观察PRNG输出是检查种子是否有效的常用方法:若图形呈现杂讯,代表输出具随机性;若出现规律图案,则需更换或修正种子。[2][3]

如果刻意共享相同的随机种子,该种子即可作为密钥。两个或多个使用相同伪随机数演算法与相同种子的系统,能产生相同且不重复的数列,可用于同步远端系统,例如GPS卫星与接收器。[3]

随机种子通常由电脑系统状态(例如时间)、密码学安全伪乱数生成器硬体随机数产生器产生。

参见

[编辑]

参考资料

[编辑]
  1. ^ Ward, Mark. Web's random numbers are too weak, researchers warn. BBC News (BBC). 2015-08-09 [2025-02-08]. (原始内容存档于2025-03-23) (英国英语). 
  2. ^ Parker, Matthew. Humble Pi. London: Riverhead Books. 2021: 41–48. ISBN 9780593084694. 
  3. ^ 3.0 3.1 Seeding the Random Number Generator. help.perforce.com. [2025-02-08]. (原始内容存档于2025-03-23) (英语).