摘要
目的构建基于特定Intel芯片组中random number generator(RNG)单元的真随机数生成器。方法在Intel 815E 芯片组的个人电脑上安装Intel Security Driver(ISD)后,使用Microsoft Visual C++ 6编程,通过寄存器读取的方式获取RNG中的随机数。结果生成的500个随机数通过的NIST FIPS 140-1和χ2拟合优度检验(α=0.05 ),表明本方法所生成的随机数满足独立性和分布均匀性的要求。生成7500个随机数经域值变换后与随机数表中的同等数目的随机数进行了统计学比较,结果显示前者的均值偏移、SD, SE和CV均小于后者。结论基于Intel RNG的真随机数生成器可以生成满足独立性和分布均匀性的真随机数,生成的随机数效果与随机数表中的随机数没有显著性区别。但是基于Intel RNG的真随机数生成器能解决使用随机数表获取随机数中可能存在的问题,具有较好的普遍性和实用性。
Objective To establish a true random number generator on the basis of certain Intel chips. Methods The random numbers were acquired by programming using Microsoft Visual C++ 6.0 via register reading from the random number generator (RNG) unit of an Intel 815 chipset-based computer with Intel Security Driver (ISD). Result We tested the generator with 500 random numbers in NIST FIPS 140-1 and χ2 R-Squared test, and the result showed that the random number it generated satisfied the demand of independence and uniform distribution. We also compared the random numbers generated by Intel RNG-based true random number generator and those from the random number table statistically, by using the same amount of 7500 random numbers in the same value domain, which showed that the SD, SE and CV of Intel RNG-based random number generator were less than those of the random number table. The result of u test of two CVs revealed no significant difference between the two methods. Conclusion Intel RNG-based random number generator can produce high-quality random numbers with good independence and uniform distribution, and solves some problems with random number table in acquisition of the random numbers.
出处
《第一军医大学学报》
CSCD
北大核心
2004年第9期1091-1095,共5页
Journal of First Military Medical University