線性同餘方法

線性同餘方法(LCG)是個產生偽隨機數的方法。

它是根據以下的遞迴關係式

其中是產生器設定的常數。

LCG的週期最大為,但大部分情況都會少於M。要令LCG達到最大週期,應符合以下條件:

  1. 互質
  2. 的所有質因數都能整除
  3. 是4的倍數也是;
  4. 都比小;
  5. 是正整數。

随机性

因为通过线性同余方法构建的伪随机数生成器的内部状态可以轻易地由其输出演算得知,所以此种伪随机数生成器属于统计学伪随机数生成器。

设计密码学的应用必须至少使用密码学安全伪随机数生成器,故需要避免由线性同余方法获得的随机数在密码学中的应用。

參見

參考文獻

  • S.K. Park and K.W. Miller. . Communications of the ACM. 1988, 31 (10): 1192–1201. doi:10.1145/63039.63042.
  • D. E. Knuth. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition. Addison-Wesley, 1997. ISBN 0-201-89684-2. Section 3.2.1: The Linear Congruential Method, pp. 10–26.
  • P. L'Ecuyer. . Mathematics of Computation. 1999, 68 (225): 249–260 [2012-12-30]. doi:10.1090/S0025-5718-99-00996-5. (原始内容存档于2005-05-16).
  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP, , 3rd, New York: Cambridge University Press, 2007 [2012-12-30], ISBN 978-0-521-88068-8, (原始内容存档于2011-08-11)
  • Gentle, James E., (2003). Random Number Generation and Monte Carlo Methods, 2nd edition, Springer, ISBN 0-387-00178-6.
  • Joan Boyar. . Journal of the ACM. 1989, 36 (1): 129–141. doi:10.1145/58562.59305. (in this paper, efficient algorithms are given for inferring sequences produced by certain pseudo-random number generators).

外部連結

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.