摘要
大随机数已经在当今社会的各个领域中都频繁使用,特别是在加密技术中已经成了不可缺少的一部分,像RSA,MD5中随机数成为加密技术的关键。
本设计主要为第3代移动通信系统(3G)提供符合要求的随机数(1024位),首先取得系统时间和RAND()函数所产生的随机数作为最初的随机初值,经过三重DES(两密钥通过MD5算法得来)和异或的变换,保证其随机数的足够随机,然后通过16次的循环得到一个组合起来的1024位随机数,设计还提供一个检验随机数是否随机的平台,采用了均匀性检测,即频率检测的方法检测随机数的随机性,通过检测发现,所产生的随机数能够达到我们所期望的随机性。设计还对常见的随机数的生成方法进行了检析,提供多种随机数的生成方法,并且也提供了多种随机数的检测方法供大家参考,希望对大家有所帮助。
关键字:随机数;RSA;MD5;加密技术;均匀性检测
目 录
论文总页数: 19页
1 引言 1
1.1随机数的概念 1
1.2课题背景 1
1.3 国内外研究现状 1
1.4 本课题研究的意义 1
1.5 本课题的研究方法 1
2常见随机数生成方法简析 2
2.1 迭代取中法 2
2.2 乘同余法 2
2.3 混同于法 2
2.4 反变换法 3
2.4.1 平均分布 : 3
2.4.2 指数分布 : 4
2.4.3 正态分布随机变量的生成 : 4
2.5 离散型随机变量 4
3 随机数的检验 5
4 大随机数产生的机理 6
4.1 流程图 6
4.2 DES算法简介 7
5 算法实现 8
6 检验随机数 13
7 系统测试 14
结 论 16
参考文献 17
致 谢 18
声 明 19
1 引言
1.1随机数的概念
在现今的计算机中所产生的随机数,都是伪随机数。即,可以通过一定手段和方法发现或破译其中的规律。真随机数,也有了一定的研究,比如:通过声音或原子衰变等所产生的随机数。伪随机数可以通过一定的数学算法,近似真随机数但仍然不是真随机数。