|
发表于 2006-6-19 22:50:44
|
显示全部楼层
伪随机数按用途可以分两种:一种是统计学意义上的,主要用在仿真之类的应用上;一种是密码学意义上的,主要用在密码协议上面。
统计学意义上的伪随机数质量如果要求不高,可以用线性同余之类的来产生。如果质量要求的高,我个人观点,目前比较好的算法是MT19973(M. Matsumoto and T. Nishimura, Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator, ACM Transactions on Modeling and Computer Simulation, 8(1):3--30, 1998)。
密码学意义上的随机数目前没有一般的定论,实践中使用的方法也是五花八门。两个标准ANSI X9.17和FIPS 186中分别基于DES和SHA-1构造了一个推荐使用的算法,可以参考使用。
Post by Lolita
目前常见的伪随机数产生方法有许多种,如线性同余法、多重递归法、裴波纳契法、 位移寄存法、 反转同余法和复合线性同余法等。 其中最常见的是线性同余法中的加同余和乘同余法。 |
|