一种高速并行真随机数发生器的制造方法

文档序号:10511871阅读:461来源:国知局
一种高速并行真随机数发生器的制造方法
【专利摘要】本发明公开了一种高速并行真随机数发生器,包括随机源、采集器和数据处理部分;其特征在于:所述随机源使用FPGA内部产生的震荡环抖动,所述采集器采集抖动随机信号;所述数据处理部分对采集后的随机信号处理,生成高速、并行的真随机数;该方法基于FPGA系统,利用FPGA内部震荡环采集系统时钟抖动作为原始随机数信号,经过校正、并行处理得到随机性良好的高速并行随机数,具有良好的随机性和可靠性。
【专利说明】
一种高速并行真随机数发生器
技术领域
[0001]本发明涉及一种真随机产生器以及发生方法,特别涉及一种高速并行真随机数发生器以及产生方法。
【背景技术】
[0002]随着科学技术的日新月异,随机数发生器(RNG)在许多方面有着广泛的应用,如通信安全、娱乐、音乐、图像多媒体、模拟和测试、数学、电子商务电子政务等等。本项目正是应用于图像处理的随机数发生器的一种实现。由于硬件真随机数发生器(TRNG)在随机性上有着软件伪随机数发生器(PRNG)不可逾越的优势。本设计基于FPGA生成高速并行随机数,速度稳定,符合随机数要求。

【发明内容】

[0003]本发明的目的是利用的FPGA固有特性,设计一种硬件实现简单,随机性好的高随并行随机数发生设备。
[0004]本发明解决技术问题采用如下技术方案:
一种用于高速并行真随机数发生器系统,包括随机源、数据采集器、数据处理器;其特征在于:所述随机源基于FPGA时钟源提供原始随机信号,所述的数据采集器是由多个震荡环以及异或门组成,所述多个震荡环分别采集原始随机信号,经过异或门处理后,得到随机性更好的连续的串行随机信号,连续的串行随机信号经过数据处理器的校正、串并转换后得到并行随机数信号,作为随机数种子;
所述随机源基于FPGA时钟源提供原始随机信号,所述的FPGA时钟源包括高速时钟源CLK0、低速时钟源CLKl;所述的数据采集器2是由3个震荡环以及异或门组成,所述的每个震荡环包括与门、缓冲链、反相器以及D触发器,高速时钟源CLKO接入与门的输入端,与门的输出端接入缓冲链,缓冲链的输出端接入反相器,反相器的输出端输出反馈分别与门输入端和D触发器输入端;同时,低速时钟源CLKl作为D触发器的时钟信号,采集反相器的输出结果,得到原始随机信号;
所述的缓冲链包括三个首尾依次相连的缓冲器,分别为缓冲器O、缓冲器1、缓冲器2。
[0005]所述数据处理部分包括冯.诺依曼校正器、FIF0、LSFR,所述的冯.诺依曼校正器前端连接异或门,所述异或门对所述多路随机信号进行异或处理,生成一位二进制数据;二进制数据经过冯.诺依曼校正器处理,形成随机性良好的随机位串;所述随机位串输入至FIFO中进行串并转化后FIFO输出速度稳定、高速、并行的随机数序列,所述随机数序列作为随机数种子输入所述LFSR中,用于后续处理。
[0006]本发明高速并行真随机数发生器产生高速并行真随机数的方法包括以下的步骤:
(1)所述高速时钟源CLKO作为所述随机源输入信号至所述震荡环中;
(2)所述震荡环输出随机信号,经过异或门处理后,生成O或I随机数,该随机数输入至所述冯.诺依曼校正器; (3)所述冯.诺依曼校正器对随机数进行校正,得到随机性良好但速度不稳需要进行串转并处理的位串;
(4)随机性良好但速度不稳需要进行串转并处理的位串输入至FIFO中进行串并转换;
(5)所述FIFO的输出并行随机数作为随机种子,利用LFSR算法处理后,供实际使用;
(6)所述LSFR对输入的随机种子进行处理,如果没有新的随机数种子输入,则所述LFSR用当前的输出反馈结果作为LSFR的输入,进行下一次随机数处理;如果有新的随机数种子输入,则处理新的随机数种子生成随机数序列;不断的改变LSFR的输入随机种子,得到随机性良好的高速、并行真随机数序列。
[0007]本发明对照现有技术的有益效果是:
1、硬件实现简单
利用FPGA时钟产生随机源,对随机源采样产生多组随机数,对随机数进行异或、校正等处理,产生高速稳定并行的随机数;
2、随机质量好
本方案,采集多路随机信号,对多路随机信号进行异或处理,利用冯.诺依曼校正器进行校正,确保产生的随机数与同类方案相比具有更好的随机特性。
[0008]3、并行,稳定
利用FIFO的固有特点,可以同时实现对串行数据的并行化处理以及稳定输出。
[0009]4、高速
不断的改变LSFR的输入种子,可以得到随机性良好的高速、并行真随机数序列。
【附图说明】
[0010]图1为本发明的系统整体框图;
图2为本发明的系统逻辑结构图;
图3为本发明的数据采集示意图;
图4为本发明的震荡环示意图;
图5为本发明的数据处理示意图。
【具体实施方式】
[0011]如图1-2所示,一种用于高速并行真随机数发生器系统,包括随机源、数据采集器、数据处理器;其特征在于:所述随机源基于FPGA时钟源提供原始随机信号,所述的数据采集器是由多个震荡环以及异或门组成,所述多个震荡环分别采集原始随机信号,经过异或门处理后,得到随机性更好的连续的串行随机信号,连续的串行随机信号经过数据处理器3的校正、串并转换后得到并行随机数信号,作为随机数种子;
如图3-5所示,所述随机源基于FPGA时钟源提供原始随机信号,所述的FPGA时钟源包括高速时钟源CLK0、低速时钟源CLKl;所述的数据采集器是由3个震荡环以及异或门组成,所述的每个震荡环包括与门、缓冲链、反相器以及D触发器,高速时钟源CLKO接入与门的输入端,与门的输出端接入缓冲链,缓冲链的输出端接入反相器,反相器的输出端输出反馈分别与门输入端和D触发器输入端;同时,低速时钟源CLKl作为D触发器的时钟信号,采集反相器的输出结果,得到原始随机信号; 所述的缓冲链包括三个首尾依次相连的缓冲器,分别为缓冲器O、缓冲器1、缓冲器2。
[0012]如图5所示,所述数据处理器包括冯.诺依曼校正器、FIF0、LSFR,所述冯.诺依曼校正器前端连接异或门,所述异或门对所述多路随机信号进行异或处理,生成一位二进制数据;二进制数据经过冯.诺依曼校正器处理,形成随机性良好的随机位串;所述随机位串输入至FIFO中进行串并转化后,FIFO输出速度稳定、高速、并行的随机数序列,所述随机数序列作为随机数种子输入所述LFSR中,用于后续处理。
[0013]所述冯.诺依曼校正器对二进制数据校正时输入与输出的组合如下:
(1)输入组合为“01”,输出为O;
(2)输入组合为“10”,输出为I;
(3)输入组合为“00”,无输出;
(4)输入组合为“11”,无输出;
经过所述冯.诺依曼校正器处理后,得到随机性更强的串行非匀速输出随机位串,将随机位串输入至FIFO中,得到稳定的32位并行随机数种子。
[0014]所述FIFO处理随机位串的过程如下:
(1)随机位串输入到FIFO中,并缓存在所述FIFO的RAM中;
(2)所述FIFO对外界有两个输入状态,EMPTY和FULL,当FIFO内部的RAM为空时,对外输出为uEMPTY=I,FULL=0”,当FIFO内部数据满后,对外输出为uEMPTY=O,FULL=1” ;
(3)所述FIFO不断接收连续的随机位串,输出稳定的32位并行随机数;
经过FIFO输出的并行随机数可以作为系统的随机数种子,输入到所述LSFR进行随机处理,进一步增强随机性;所述LSFR度随机数种子进行随机处理的处理过程如下:
(1)所述LSFR用软件实现,对于一个随机数种子,可以得到多组随机数输入序列;
(2)所述LSFR模块工作在高速状态,不停的向系统输入随机数组合;
(3)所述FIFO不停的向所述LSFR输入原始随机数种子;
(4)由于所述FIFO处理随机位串需要一定的时间,因而其输出速度低于所述LFSR的输出速度;
(5)所述LSFR对输入的并行随机数进行处理,如果没有新的随机数种子输入,则所述LFSR用当前的输出反馈结果作为LSFR的输入,进行下一次随机数处理;如果有新的随机数种子输入,则处理新的随机数种子生成随机数序列;
(6)不断的改变LSFR的输入种子,得到随机性良好的高速、并行真随机数序列。
【主权项】
1.一种高速并行真随机数发生器,包括随机源、数据采集器、数据处理器;其特征在于:所述随机源基于FPGA时钟源提供原始随机信号,所述的数据采集器是由多个震荡环以及异或门组成,所述多个震荡环分别采集原始随机信号,经过异或门处理后,得到随机性更好的连续的串行随机信号,连续的串行随机信号经过数据处理器的校正、串并转换后得到并行随机数信号,作为随机数种子; 所述随机源基于FPGA时钟源提供原始随机信号,所述的FPGA时钟源包括高速时钟源CLKO、低速时钟源CLKl; 所述的数据采集器是由3个震荡环以及异或门组成,所述的每个震荡环包括与门、缓冲链、反相器以及D触发器,高速时钟源CLKO接入与门的输入端,与门的输出端接入缓冲链,缓冲链的输出端接入反相器,反相器的输出端输出反馈分别与门输入端和D触发器输入端;同时,低速时钟源CLKl作为D触发器的时钟信号,采集反相器的输出结果,得到原始随机信号; 所述数据处理部分包括冯.诺依曼校正器、FIFO、LSFR,所述的冯.诺依曼校正器前端连接异或门,所述异或门对所述多路随机信号进行异或处理,生成一位二进制数据;二进制数据经过冯.诺依曼校正器处理,形成随机性良好的随机位串;所述随机位串输入至FIFO中进行串并转化后FIFO输出速度稳定、高速、并行的随机数序列,所述随机数序列作为随机数种子输入所述LFSR中,用于后续处理。2.根据权利要求1的高速并行真随机数发生器,其特征在于,产生高速并行真随机数的方法包括以下的步骤: (1)所述高速时钟源CLKO作为所述随机源输入信号至所述震荡环中; (2)所述震荡环输出随机信号,经过异或门处理后,生成O或I随机数,该随机数输入至所述冯.诺依曼校正器; (3)所述冯.诺依曼校正器对随机数进行校正,得到随机性良好但速度不稳需要进行串转并处理的位串; (4)随机性良好但速度不稳需要进行串转并处理的位串输入至FIFO中进行串并转换; (5)所述FIFO的输出并行随机数作为随机种子,利用LFSR算法处理后,供实际使用; (6)所述LSFR对输入的随机种子进行处理,如果没有新的随机数种子输入,则所述LFSR用当前的输出反馈结果作为LSFR的输入,进行下一次随机数处理;如果有新的随机数种子输入,则处理新的随机数种子生成随机数序列;不断的改变LSFR的输入随机种子,得到随机性良好的高速、并行真随机数序列。3.根据权利要求1-2任一项所述的高速并行真随机数发生器,其特征在于:所述的缓冲链包括三个首尾依次相连的缓冲器,分别为缓冲器0、缓冲器1、缓冲器2。4.根据权利要求1-2任一项所述的一种高速并行真随机数发生器,其特征在于:所述的并行真随机数序列宽度为32bit。
【文档编号】G06F7/58GK105867878SQ201610268917
【公开日】2016年8月17日
【申请日】2016年4月26日
【发明人】史久根, 邾伟, 贾坤荥, 徐颖, 许辉亮, 陆立鹏
【申请人】合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1