一种产生真随机数的方法技术

技术编号:11190686 阅读:136 留言:0更新日期:2015-03-25 19:21
本发明专利技术提供了一种产生真随机数的方法,基于FPGA实现,首先利用振荡器产生高频、大抖动的类时钟信号,再使用低频、纯净时钟对所产生的类时钟信号进行采样,对采样后的比特流进行修正、压缩等后处理,然后将经过后处理的比特流复制为两路比特流,分别进行随机性检测和位拼接处理。本发明专利技术还增加了控制高频、大抖动类时钟信号产生环路的闭合与断开的开关信号,且类时钟信号的中心振荡频率控制在1.5GHz至3GHz的范围内。本发明专利技术的优点在于:保证了生成随机数的质量,解决了FPGA内部生成随机数速率低、功耗大、随机性能不好的问题。

【技术实现步骤摘要】

本专利技术涉及真随机数领域,特别是一种基于FPGA的产生真随机数的方法
技术介绍
在真随机数产生的技术方案中,基于现场可编程门阵列(FPGA)的真随机数产生方案主要是用几个独立高频自由振荡器在频域上的演算作为采样数据的输入,采样后经过线性反馈移位寄存器的偏移纠正,再进入真随机数的实现。 其中,传统方案在真随机数产生的过程中没有加入实时检测,不能确保产生的随机数的真随机性。且目前基于FPGA的随机数发生器一般会产生较大的功耗,随机数产生速率较低。 因此,对本领域技术人员而言,真随机数产生过程中FPGA内部在工作时存在功耗大、生成随机数速率低以及随机性能不好的问题。
技术实现思路
本专利技术提出了,该方法可以解决在FPGA内部生成随机数速率低、功耗大、随机性能不好的问题。 本专利技术采用以下技术方案解决上述技术问题: ,基于FPGA实现,包括以下步骤: 步骤1:利用振荡器产生高频、大抖动的类时钟信号; 步骤2:使用低频、纯净时钟对所产生的类时钟信号进行采样; 步骤3:对采样后的比特流进行修正、压缩等后处理; 步骤4:将经过后处理的比特流复制为两路比特流,分别进行随机性检测和位拼接处理。 进一步地,所述的随机性检测为把能反映一个序列随机性的几项标准在FPGA内部实现,对经后处理输出的比特流进行在线实时检测,当随机性不满足要求时,则对步骤3中所涉及的后处理算法进行实时调整和适应;所述的位拼接处理为将多路I比特真随机数流进行位拼接、缓存等。 进一步地,所述的高频、大抖动的类时钟信号的中心振荡频率在1.5GHz至3GHz的范围内。 进一步地,所述的高频、大抖动的类时钟信号是基于奇数个非门构成的环路产生的,为了有效控制功耗,增加了控制环路闭合、断开的开关信号。 本专利技术的有益效果包括: 1、能进行随机性能实时检测,保证生成随机数的质量。 2、如果高频、大抖动类时钟信号的中心振荡频率过低,会导致生成随机数的速率降低或是生成随机数的随机性不能满足要求;如果过高,则会使FPGA底层基本器件开关速度大幅度提高,导致局部动态功耗增大,局部温度过高,极有可能使FPGA底层基本器件损坏。因此,高频、大抖动类时钟信号的中心振荡频率在1.5GHz至3GHz的范围内,既能满足速度的要求,也不至于使FPGA受到较大的损坏。 3、增加了控制环路闭合与断开的开关信号,可以有效控制功耗。 【具体实施方式】 本实施例采用的产生真随机数的方法是基于FPGA实现的,包括以下步骤: 步骤1:利用振荡器产生高频、大抖动的类时钟信号; 步骤2:使用低频、纯净时钟对所产生的类时钟信号进行采样; 步骤3:对采样后的比特流进行修正、压缩等后处理; 步骤4:将经过后处理的比特流复制为两路比特流,分别进行随机性检测和位拼接处理。 所述的随机性检测为把能反映一个序列随机性的几项标准在FPGA内部实现,对经后处理输出的比特流进行在线实时检测,当随机性不满足要求时,则对步骤3中所涉及的后处理算法进行实时调整和适应。 所述的位拼接处理为将多路I比特真随机数流进行位拼接、缓存等。 所述的高频、大抖动类时钟信号的中心振荡频率尤为关键。如果过低,可能导致生成随机数的速率降低或是生成随机数的随机性不能满足要求;而过高,则会使FPGA底层基本器件开关速度大幅度提高,进而导致局部动态功耗增大,局部温度过高,极有可能使FPGA底层基本器件损坏。综上,本专利技术所述的高频、大抖动类时钟信号的中心振荡频率控制在1.5GHz至3GHz的范围内,既能满足速率要求,也不至于使FPGA受到较大的损坏。 由于产生真随机数的动态功耗的变化范围主要由高频、大抖动类时钟信号决定,因此所述的高频、大抖动类时钟信号的产生是基于奇数个非门构成的环路。其中,为了控制动态功耗,增加了控制环路闭合与断开的开关信号。 以上所述仅为本专利技术创造的较佳实施例而已,并不用以限制本专利技术创造,凡在本专利技术创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术创造的保护范围之内。本文档来自技高网...

【技术保护点】
一种产生真随机数的方法,基于FPGA实现,包括以下步骤:步骤1:利用振荡器产生高频、大抖动的类时钟信号;步骤2:使用低频、纯净时钟对所产生的类时钟信号进行采样;步骤3:对采样后的比特流进行修正、压缩等后处理;步骤4:将经过后处理的比特流复制为两路比特流,分别进行随机性检测和位拼接处理。

【技术特征摘要】
1.一种产生真随机数的方法,基于??以实现,包括以下步骤: 步骤1:利用振荡器产生高频、大抖动的类时钟信号; 步骤2:使用低频、纯净时钟对所产生的类时钟信号进行采样; 步骤3:对采样后的比特流进行修正、压缩等后处理; 步骤4:将经过后处理的比特流复制为两路比特流,分别进行随机性检测和位拼接处理。2.如权利要求1所述的一种产生真随机数的方法,其特征在于:所述的随机性检测为把能反映一个序列随机性的几项标准在内部...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:安徽量子通信技术有限公司
类型:发明
国别省市:安徽;34

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

1