一位随机数发生器的设计与制作论文(可编辑).doc
一位随机数发生器的设计与制作论文 11 论文题目:一位随机数发生器的设计与制作 专 业: 电子科学与技术 姓 名: 签名: 指导老师: 签名: 摘要 本篇论文主要介绍了由纯硬件设计构成的一位随机数发生器,可用做简单的电子摇 奖器。设计功能的实现主要可分为高频脉冲发生器,控制电路,计数、译码、显示电路, 以及工作状态指示灯电路四部分。其中:高频脉冲发生器主要是由 555定时器所构成的 多谐振荡器,可产生设计要求的频率为100KHZ的脉冲;控制电路部分由双D触发器CD4013 实现;计数、译码、显示部分主要是由集成电路芯片CD4510、CD4511、及共阴极的七段 数码显示管构成;工作状态指示灯主要是用来检测电路是否正常工作。 一位随机数发生器设计过程中,充分使用了大学四年学习的模拟电子技术、数字电 子技术及电路分析等知识,并使用Protues仿真软件对电路进行仿真测试, 通过对开关按钮和复位按钮的闭合打开,可实现从之间数字的随机显示,且其随机性完 全不可预测。非常适合当简单的电子摇奖器使用。 【关键词】 随机数发生器 高频脉冲发生器 555定时器 双D触发器 【论文类型】 应用型 1 1 22 Title:Designing andfabrication ofa randomnumber generator Major: Electronicscience andtechnology Signature: Signature: Name: SSiiggnnaattuurree: Signature: Signature: Supervisor: SSiiggnnaattuurree: ABSTRACT This thesis introduces a random number generator constituted by a pure hardware design, can be used as a simple electronic lottery. The design function can be divided into four parts,including:high-frequency pulse generator, the control circuit, counting, decoding, and display circuits, and working status indicator circuit . Among them: high-frequency pulse generator is posed by the 555 timer multivibrator, the frequency of designing is 100KHZ; control circuit is made up by the dual D flip-flop CD4013; counting,ecoding,and displaying section by the IC CD4510, CD4511, and common cathode seven-segment digital display tube form; workstatusindicatoris used todetectcircuit is working properly. The design process of a random number generator, full use of the four years of study by the University of analog electronics, digital electronics and circuit analysis, and knowledge, and use Protues simulation software simulation testing of the circuit.To open the closure of the switch button and reset button, numbers from 0 to 9 displayed randomly, and the randomness is completely unpredictable.Its suitable to useforasimple electronic lottery. Key words Key words Key wwoorrddss】 random number generator pulse generator 555 Timer dual D 【Key flip-flop Type ofThesis Type ofThesis 【TTyyppeeooffTThheessiiss】 Application 2 2 33 绪论 1随机数概述 随机向量(或随机变量)的样本即称为随机数,是专门的随机试验的结果。它 被广泛应用与系统仿真、测试、信息安全等领域。其产生方法的研究也有着悠久的 历史,至今仍有学者继续其产生理论及方法的研究。 产生随机数有很多种不同的方法,它们大致可分为手工方法,物理方法,数学 方法和随机数表方法四种。这些方法被统称为随机数发生器。随机数最重要的特性 是:后面产生的那个数与前面产生的数毫无关系。其中:物理方法,即使用物理现 象产生的是真正的随机数,比如掷钱币,骰子等。这样的随机数发生器又可称为物 理性随机数发生器,利用物理噪声作为随机源,因为其对技术要求较高,所以一般 适用在对安全性和速度要求都比较高的场合。随机数表是由统计工作者用计算机生 成的随机数组成,并保证表中每个位置上出现任何数字的概率是相等的,因此,利 用随机号码表来抽取样本可以保证各个体被抽取的概率相同。而数学方法则是利用 数学递推公式产生随机数,且因其所占系统内存少,应用快捷方便的特点成为目前 发展最快,应用最广的一类随机数产生方法。但与用物理方法产生的真随机数相比, 数学方法所产生的随机数被称为伪随机数。 在现实生活中,伪随机数应用远远多于真随机数。伪随机数列表面上看起来好 像是随机的,但实际上,他们是通过一个预先特定的,可无限重复的方法产生的, 且具有一定的周期性,如果种子相同,则会产生相同的随机序列。因此,攻击者若 具有很高的计算能力,往往可以很轻松的破解伪随机序列,从而获取一定的信息。 由于随机数发生器是一种完全不由人主观控制的数码发生器,可作为摇奖号码机来 使用。只有用真随机数发生器才能达到预期效果,产生真正的,不可预测的随机数,学 生可以利用所学的模拟电子技术和数字电子技术知识完成对此电路的设计与制作,从而 理解所学电路知识在实际生活中的应用。 2实现随机数发生器的设计方法 我们通常所能见到的随机数发生器实现方法有很多种:利用软件实现,比如:用FPGA, 3 3 44 Excel等方式实现随机数的发生,也可以通过数学的方法实现,比如: 蒙特卡洛法等。 还可以根据分布方法的不同来区分随机数发生器,比如:均匀分布,正态分布,指数分 布等等。 3 随机数发生器的国内外发展与研究现状 目前,随着科学技术以及人们生活水平的不断提高,统计学在生活中应用越来越广 泛,随机数发生器在军事,商业以及信息安全领域的应用性也越来越强。而随机数的出 现无疑是统计学有了更好的独立性,国内外对随机数发生器的研究也越来越重视,并广 泛被政府,各大金融机构及军事研究方向。 早在1985年Intel公司研究受控EEPROM芯片时曾使用过一个简单的随机数发生器, 后来又利用电阻上的热噪声设计了一种才用双振荡器结构的随机数发生器。 1997年,Georgia Institute of Technology在1.2M Bi-COMS工艺上开发了基于运 算放大器噪声的随机数发生器芯片。 2000年,C.S.Pstrie 和 J.A.Connelly通过结合采样震荡环噪声,发达后的噪声源 以及离散时间混沌映射这三个熵源,很好地解决了硬件实现随机序列时因受物理环境影 响而产生的相关性问题。 2002年,瑞士日内瓦大学提出量子效应随机数发生器的设计研究。与此同时,中国 科学院院士冯凯峰等人也积极投入量子随机数发生器的研究工作中。 2003年,中科院苏桂平等人利用电路内部噪声信号,依据小波分析理论建立物理噪 声源的随机模型。同年,M.Bucci等人构建时钟驱动DFF对稳定时钟快速采样,解决了因 抖动密度不够而造成的随机性能差,输出效率低的基于振荡环采样的随机源问题。 随着随机数发生器的在密码和信息安全领域的使用越来越频繁,真随机数发生器算 法及纯硬件设计的随机数发生器也不断地出现。在随机数的研究方面,国外水平总体领 先于国内。但总体来说,对随机数的了解和研究都还不够深入和透彻,都还不能够摆脱 掉伪随机数的影子。的确,目前来说,不论是技术支持方面,还是环境配置方面都制约 着我们,大多数时候,我们只能去研究伪随机数,只能做到尽可能的无限接近真随机数, 4 4 55 而不能达到真随机数。特别是在随机数的检测方面,虽然目前的检测方法很多,但都还 不够完善,没有一个很好很完善的方法产生,所以随机数发生器还有着很深的学问需要 我们去挖掘和研究。 随着Internet和无线网络通信的发展,对安全通信技术有了更高的要求。如果要产 生理论上不可破解的密码,则需要可以产生真随机数序列的装置,也就是能产生真正不 可预测的随机数序列,这是几乎大多数密码技术的核心。 另外,我们生活中经常见到的 福利彩票,体育彩票等等,都是电子摇奖器在生活中的应用,而他们的基本原理即是随 机数发生器。还有我们上网时候时不时会遇见的输入验证码信息,这些都是随机数应用 在我们日常生活中的完美体现。 目前,随机序列的生成很多都是采用纯软件的方法,也有一部分是采用软硬件结合 或者是纯硬件设计。纯软件设计的方法虽然比较方便,也可能有较好的统计特性,但是 必须面对这个事实:任何纯软件生成的序列都不可能是真正的随机序列。它的输出可准 确预测,因此输出的序列必然具有为随机性。而硬件设计就可以比较好的克服这个问题 的发生。因为如果随机数发生器的随机性能不够高,则有可能会因为随机数种子相同而 产生同样的随机序列,这种情况则直接导致随机数发生器在应用上的科学性和完美性, 并且如果在使用过程中出现这样的纰漏,一定会给人们生活生产带来不便。由此可见, 随机数发生器的应用前景及社会生产需求还是相当大的,特别是对于随机性能高,操作 简单方便的设备,需求更是迫切,而随之带来的经济效益也必然会很可观。 4 论文主要研究内容及结构安排 本文主要研究的是一位随机数发生器的设计与制作,通过纯硬件的真随机数发生器 设计,可以完美实现一位随机数09发生的不可预测性。本次设计要求熟练掌握电子系统 设计的全过程;要求所设计的随机数发生器电路由高频脉冲发生器、电子计数器与数码 显示器、工作状态指示灯以及控制电路来组合实现。其中:要求高频脉冲频率100KHz; 电子计数器与数码显示器分别由二-十进制计数器和一位数码管、数码译码与显示驱动器 组成,且在计数过程中数码管不显示,当按下按键后自动显示;控制电路部分则要求由 双D触发器和两个按钮组成,在接通电源时,D触发器的Q端为低电平,此信号控制数码 管不显示;当端为高电平时将控制门打开,使时钟信号能够进入计数器;按下按钮1后, 5 5 66 D触发器翻转,使计数器停止计数,Q使译码器解除消隐,并在数码管中显示计数器内的 信号。按下按钮2后,实现复位功能。 本论文主要内容共分为7章。 第1章是绪论部分,主要介绍的是随机数及随机数发生器的国内外发展现状和研究 意义; 第2章是对目前一些随机数发生器的性能特点等进行介绍; 第3、4章主要介绍的是对电路功能模块设计与实现以及各集成电路芯片; 第5章主要对Protues仿真软件进行介绍,并使用仿真软件对所设计电路进行仿真 测试; 第6章是硬件焊接调试部分,主要介绍了在仿真测试完成之后,在实际焊接电路过 程中所遇见的一些问题,并对电路进行调试,已达到理想状态,并且,对电路进行一些 功能上的扩展介绍; 第7章是总结部分,主要包括对本论文研究成果的总结与展望。 6 6 77 目录 目录 目目录录 1随机数发生器基本原理.7 1.1随机数发生器的分类及其各自特点.7 1.1.1随机数发生器的分类.7 1.1.2影响真随机数发生器性能的主要因素.7 1.1.3目前研究领域常用的一些真随机数发生器模型.7 1.2不同随机数发生器的应用领域.7 1.3本文研究的随机数发生器方案选定.7 2一位随机数发生器的结构设计.7 2.1 一位随机数发生器结构设计流程. 7 2.2电路各功能模块介绍.7 2.2.1开始/复位控制.7 2.2.2高频脉冲发生电路.7 2.2.3计数、译码及显示电路.7 2.2.4 工作状态指示灯电路.7 2.2.5电路模块图.7 3 硬件电路设计.7 3.1 控制电路.7 3.1.1 开关电路.7 3.1.2 复位电路.7 3.2高频脉冲发生电路. 7 3.2.1 555定时器的特点.7 3.2.2 555定时器的引脚图.7 3.2.3 555定时器的内部结构图.7 3.2.4 555定时器逻辑功能表.7 3.2.5 555定时器构成的多谐振荡器.7 3.2.6脉冲频率计算.7 7 7 88 3.3脉冲计数电路.7 3.4译码电路.7 3.4.1CD4511集成电路基本简介.7 3.4.2. CD4511的工作原理.7 3.5数码管显示.7 3.5.1数码管的结构及分类.7 3.6工作状态指示电路. 7 3.7小结.7 4 仿真调试.7 4.1protues仿真软件主要功能及特点. 7 4.1.1protues仿真软件功能概述.7 4.1.2protues功能特点介绍.7 4.1.3protues的四大功能模块.7 4.2仿真结果.7 4.2.1高频脉冲发生器仿真.7 4.2.2总电路仿真结果分析.7 5硬件调试.7 5.1硬件焊接.7 5.2硬件调试.7 5.3电路的总工作过程. 7 5.4电路功能扩展.7 6总结与展望.7 6.1总结.7 6.2电子电路设计展望. 7 致谢.7 参考文献.7 8 8 99 1随机数发生器基本原理 1.1随机数发生器的分类及其各自特点 1.1.1 随机数发生器的分类 由绪论部分我们可以了解到,随机数可分为真、伪随机数两种,因此, 随机数的生 成方法总的来说也可分为两种,即伪随机数发生器 Pseudo-Random Number Generator ,PRNG 和真随机数发生器 True Random Number Generator, TRNG 。 其中,伪随机数是通过数学的方法由计算机产生的。现代计算机算法已经可以产生 足够好的伪随机数,其周期性已经不再是关键问题,但是与真随机数相比最大的区别在于 可否对下次结果进行预测。很明显,伪随机数虽然快捷, 但是它产生的随机数是预先设定 的,对于同样的种子,产生的随机序列将会是相同的,所以在信息加密应用中, 如果攻击 者拥有足够的计算能力,则可以对伪随机数加密进行破解,为了解决这种即使攻击者有无 限的计算能力,在已知现有序列的情况下也无法成功预测下一位产生的随机数的问题, 就需要使用真随机数发生器。 真随机数发生器的研究还处于比较初步的阶段,其设计过程一般是先选取一个物理 世界的真随机源,然后通过特定的方法从中提取真随机数。物理真随机数发生器具有真正 的随机性和不可预知性, 其可进行采样的真实物理现象有多种,如: 放射性衰变, 电子 电路噪声, 大气噪声,电子振荡器的频率抖动等。 1.1.2 影响真随机数发生器性能的主要因素 影响真随机数发生器性能的主要有以下三个方面的因素: 熵源、采集手段、以及后 续处理。其中熵源,是随机源, 一种随机源所产生随机序列的效率也主要受到三方面因 素的影响: 最长自相关时间, 不同状态的可区分度和统计性质的稳定性. 最长相关时间 是指能够观测到自相关性的最大时间尺度, 对一个熵源的连续两次探测时间间隔必须超 过最大相关时间. 不同状态的可区分度指熵源不同状态之间的差别, 差别越明显越容易被区分, 产生 9 9 1010 随机序列时损失的信息也就越少. 当然, 这种可区分度是与探测方法紧密联系在一起 的. 统计性质的稳定性是指熵源的统计性质随时间变化的快慢. 统计性质越稳定的源产 生的随机序列的统计性质也越稳定, 所需的后处理就越简单, 产生随机序列的速率也越 高. 此外, 为了设计出方便使用的随机数发生器, 熵源的选择应该尽可能做到体积小, 低功耗, 环境适应性强等. 采集手段是指从熵源中提取出随机序列的具体方法. 提取方法有两点应特别注意. 第一, 探测设备的灵敏度须尽可能高, 这样才能尽可能完全地记录熵源的状态信息, 且 应该根据熵源的特点设计和使用探测设备. 第二, 需要确认探测和提取设备不会给最终 的随机序列引入相关, 这也就是要求提取方法自身的相关时间尽可能短. 进行后处理的 主要原因是消除实际产生的随机数序列的偏差 bias . 这是由于直接得到的随机序列 可能输出的不是0 和1 的等概率分布, 即序列的平均值不是0.5. 为了消除偏差, 通常有如下的几种方法: von Neumann 纠正方法,Peres 纠正方法和 与伪随机数序列进行异或的方法.这几种后处理方法中, von Neumann 纠正方法最简单方 便, 可以随记录原始数据的过程同时完成, 所以也最为常用. 具体而言, 即是为了平衡 0 与1 的出现次数, 重新定义01 序列为0, 而10 序列为1, 将00和11 序列舍去不用. 这样就可以方便快捷地消除偏差, 但是同时也会降低产生随机数序列的速率, 并使产生 速率出现不确定性. 由于产生的随机数序列只可能有相对的随机性,就好像测量中只有相对精确一样. 所以需要一系列的检验方法来判断一个随机数序列是否足够随机.常用的基本检验方法 有: 频数检验, 序列检验, 扑克检验, 游程检验和自相关检验