摘要
单纯的数学算法只能产生伪随机数,要产生真随机数,必须要有物理随机源的参与。文章给出了一种根据双重随机化思想,对物理随机源—计算机芯片产生的真随机源种子再用AES-256算法进行变换,从而得到真随机数的方法。介绍了芯片产生随机源种子的原理并给出了用AES-256算法对种子进行变换的C++语言伪代码。最后通过编程实验,对产生的随机数进行了检验,结果符合相关检测标准。
Pure mathematical algorithms can only produce pseudorandom numbers. To produce real random numbers, physical random source must take part in. A scheme based on the idea of double randomizing, which transforms the physical random source, that is real random source seed generated by computer chips, by using AES-256 algorithm to acquire real random numbers, is presented. The principle of generating random source seed by the chips is introduced and the C++ language pseudocodes about transforming the seeds by using AES-256 are given. Finally, the generated random numbers are tested through programming experiments and the result passed relevant testing standards.
出处
《计算机时代》
2009年第9期60-61,76,共3页
Computer Era
基金
湖南省教育厅科学研究项目(08C715)
关键词
随机数发生器
双重随机化
高级加密标准
伪随机数
数字签名
random number generator
double randomizing
advanced encryption standard
pseudorandom number
digital signature