一种伪随机数生成器制造技术

技术编号:8562829 阅读:267 留言:0更新日期:2013-04-11 04:27
本发明专利技术公开了一种伪随机数生成器,包括:晶振模块,PROM模块、FPGA模块和DAC模块。该晶振模块用于产生时钟频率;PROM模块用于控制和调用FPGA模块内部的逻辑门电路,以向FPGA模块下发指令;该FPGA模块用于以晶振时钟作为输入;并接收PROM模块下发的指令,根据预设的m序列的本原多项式,生成该m序列所对应的数字信号;该DAC模块用于将FPGA模块输出的数字信号转化为模拟信号并输出,以作为随机数源。本发明专利技术的生成器通过硬件来构建伪随机数生成器,其优点是产生的随机序列稳定性好,均匀性强,且基本不受外界影响,抗干扰能力强,且信号产生速率较快且可控,能随时改变随机数的随机性,控制输出形式,在信息安全领域具有很高的实用性。

【技术实现步骤摘要】

本专利技术涉及随机数密码学,且特别涉及一种基于m序列的伪随机数生成器
技术介绍
随机数在密码学和安全信息系统中有着广泛的应用,随机数生成器有真随机和伪随机之分。实际上,伪随机数生成器产生的随机数并不是真的随机,且具有周期性,也就是说,其产生的随机数序列总会产生重复,不过如果产生器的周期足够长(至少要远远大于可能采集的随机数的长度),那么这个随机数生成器产生的局部的随机序列也就和真随机序列看起来没有什么区别了。由于伪随机序列具有预见的可确定性、可重复产生和易于设计等特点,在数据传输的误码测试中被广泛采用。伪随机序列的良好统计特性体现在序列中两种元素“O”和“I”的个数几乎相等,若把η个同种元素连续出现叫一个长度为η的游程,则序列中长度为η的游程比长度为η+1的游程多一倍,同时伪随机序列具有类似白噪声的自相关函数。所以用伪随机序列作为通讯的测试信号测得的结果能正确反映传输质量水平。m序列又叫做伪随机序列、伪噪声码或伪随机码。可以预先确定并且可以重复实现的序列称为确定序列;既不能预先确定又不能重复实现的序列称随机序列;不能预先确定但可以重复产生的序列称伪随机序列。它是目前广泛应用的一种伪随机序列,其在通信领域有着广泛的应用,如扩频通信,卫星通信的码分多址,数字数据中的加密、加扰、同步、误码率测量等领域。 随着计算机技术和半导体 集成技术的日益发展,利用硬件来构建真随机数生成器已经逐渐成为新的发展方向。目前世界上已经有一些真随机数产生器。这种利用电路热噪声的随机噪声一般是规定一个 鉴别阈值,对物理噪声源进行米样,若米样信号大于阈值,则输出I (或0),反之输出O (或I)。这种方法的缺陷是由于物理噪声源会时刻受到外界环境的影响而变化,使其产生的随机序列稳定性和均匀性不好控制,而且真随机数产生器通常是要求条件苛刻,造价昂贵,不易普及。
技术实现思路
为了解决现有技术中的上述问题,本专利技术提供了一种基于m序列的伪随机数生成器,用于提高随机数生成的效率和稳定性。本专利技术提供了一种伪随机数生成器,包括晶振模块(1),可编程存储器(2)、可编程门阵列模块(3)和数模转换器模块(4);该晶振模块(I)用于产生预设频率的时钟;该可编程存储器模块(2)用于控制和调用可编程门阵列模块(3)内部的逻辑门电路,以向该可编程门阵列模块(3)下发指令;该可编程门阵列模块(3)用于以晶振模块(I)产生的时钟作为输入;并接收该可编程存储器模块(2)下发的指令,根据预设的m序列的本原多项式,生成该m序列所对应的数字信号;该数模转换器模块(4)用于将可编程门阵列模块(3)输出的数字信号转化为模拟信号并输出,以作为随机数源。 该可编程门阵列模块包括12个m序列等几率随机单元(31)及一个高斯生成单元(32);每个m序列等几率随机单元(31)产生该m序列的对应的数字信号,且各m序列等几率随机单元(31)产生的m序列的初值不同;各该m序列等几率随机单元(31)输出至该高斯生成单元(32),由该高斯生成单元(32)对各该m序列等几率随机单元(31)进行随机源的高斯统计分布。该可编程门阵列模块(3)采用串行或十六位并行输出的方式输出数字信号。该数模转换器模块(4)用于将可编程门阵列模块3输出的每12位的串行数字信号转换成模拟信号,且该12位数字信号由该12个m序列等几率随机单元(31)分别输出的一位所构成。该数模转换器模块(4)的输出端还与示波器连接,以通过该示波器进行调试和演/Jn ο该数模转换器模块(4)的输出端还与多道分析仪连接,以通过该多道分析仪对数模转换器模块(4)的输出信号的幅度进行统计,以得到等几率分布图和高斯分布图。本专利技术的生成器通过硬件来构建伪随机数生成器,其优点是产生的随机序列稳定性好,均匀性强,且基本不受外界影响,抗干扰能力强,且信号产生速率较快且可控,能随时改变随机数的随机性,控制输出形式,在信息安全领域具有很高的实用性。附图说明图1为本专利技术的伪随机数生成器的结构示意图。图2所示为本专利技术的m序列的生成框图。图3所示为m序列等几率随机单元31和高斯生成单元32的结构示意图。具体实施例方式体现本专利技术特征与优点的典型实施例将在以下的说明中详细叙述。应理解的是本专利技术能够在不同的实施例上具有各种的变化,其皆不脱离本专利技术的范围,且其中的说明及所附附图在本质上是当作说明之用,而非用以限制本专利技术。为了解决现有技术中的上述问题,本专利技术提供了一种基于m序列的伪随机数生成器,用于提高随机数生成的效率和稳定性。本专利技术生成器通过VHDL硬件语言描述m序列,提出一种可以快速生成伪随机数序列,且生成的伪随机数序列具有等几率和高斯分布。参见图1所示为本专利技术的生成器的结构示意图,该生成器包括晶振模块1,PROM (programmable read-only memory,可编程序的只读存储器)模块 2、FPGA (Field —Programmable Gate Array),即现场可编程门阵列)模块 3 和 DAC (digital to analogconversion,数模转换器)模块4。其中,该晶振模块I用于产生时钟频率,如可以为IOMHz的频率,也可以为其他的频率。晶振模块I产生IOMHz频率的时钟给FPGA模块3做输入,根据实际的需要,用不同频率时钟的晶振模块做输入就可以直接调节随机数的输出速率。FPGA模块3用于以晶振时钟作为输入,基于m序列理论,用VHDL硬件语言描述,以产生串行或十六位并行输出的二进制数字信号的方波信号。FPGA模块3具体包括m序列等几率随机单元31,高斯生成单元32,输出信号类型转化单元33。参见图3所示为高斯生成单元32和m序列等几率随机单元31的连接示意图,本专利技术中的FPGA模块3包括12个m序列等几率随机单元31,这些m序列等几率随机单元31基于该m序列产生对应的数字信号,将生成的m序列等几率随机源数字信号汇总到高斯生成单元32进行随机源的高斯统计分布,需要说明的是,这些m序列等几率随机单元31所产生的m序列的初值都不相同,以使得12个m序列等几率随机单元31产生的12个m序列的分布更符合高斯分布。高斯分布是一种重要的概率分布,一般来说,如果一个量是由许多微小的独立随机因素影响的结果,那么就可以认为这个量具有正态分布。从理论上看,正态分布具有很多良好的性质,许多概率分布可以用它来近似;还有一些常用的概率分布是由它直接导出的,例如对数正态分布、t分布、F分布等。根据中心极限定理有N个均匀分布的相互独立随机变量,当N很大时,其总和的分布接近高斯分布。试验表明,当N大于等于12时,结果就会比较理想了。所以本专利技术的m序列等几率随机单元31选取的个数为12,即在FPGA模块3中用VHDL语言描述12个不同初值的随机源相加。以此得到高斯统计分布,高斯生成单元32和m序列等几率随机单元31的输出信号输出至输出信号类型转化单元33进行转化后,输出至DAC模块4,经DAC模块4进行数模转换后,利用多道分析仪采集得到能谱,从而通过硬件得以实现和验证。PROM模块2用于控制和调用FPGA模块3内部的逻辑门电路,由此实现在无电脑连接的情况下也可以给FPGA模块3下发指令;通过该PROM模块2下发指令可以采用人为调试的方式,或者也可以由在本文档来自技高网
...

【技术保护点】
一种伪随机数生成器,其特征在于,包括:晶振模块(1),可编程存储器(2)、可编程门阵列模块(3)和数模转换器模块(4);该晶振模块(1)用于产生预设频率的时钟;该可编程存储器模块(2)用于控制和调用可编程门阵列模块(3)内部的逻辑门电路,以向该可编程门阵列模块(3)下发指令;该可编程门阵列模块(3)用于以晶振模块(1)产生的时钟作为输入;并接收该可编程存储器模块(2)下发的指令,根据预设的m序列的本原多项式,生成该m序列所对应的数字信号;该数模转换器模块(4)用于将可编程门阵列模块(3)输出的数字信号转化为模拟信号并输出,以作为随机数源。

【技术特征摘要】
1.一种伪随机数生成器,其特征在于,包括晶振模块(1),可编程存储器(2)、可编程门阵列模块(3)和数模转换器模块(4); 该晶振模块(I)用于产生预设频率的时钟; 该可编程存储器模块(2)用于控制和调用可编程门阵列模块(3)内部的逻辑门电路,以向该可编程门阵列模块(3)下发指令; 该可编程门阵列模块(3)用于以晶振模块(I)产生的时钟作为输入;并接收该可编程存储器模块(2)下发的指令,根据预设的m序列的本原多项式,生成该m序列所对应的数字信号; 该数模转换器模块(4)用于将可编程门阵列模块(3)输出的数字信号转化为模拟信号并输出,以作为随机数源。2.根据权利要求1所述的伪随机数生成器,其特征在干,该可编程门阵列模块包括12个m序列等几率随机单元(31)及一个高斯生成単元(32 ); 每个m序列等几率随机单元(31)产生该m序列的对应的数字信号,且各m序列等几率随机单元(31)产生的m序列的初值不同...

【专利技术属性】
技术研发人员:周旭张飞
申请(专利权)人:中国科学院高能物理研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1