一种Gbps量级的高速、实时物理随机数产生方法及装置与流程

文档序号:19942720发布日期:2020-02-14 23:23阅读:623来源:国知局
技术简介:
本发明针对高速通信中物理随机数生成速率不足、器件体积大等问题,提出基于自治布尔网络和FPGA的集成化解决方案。通过构建66节点混沌网络生成熵源,结合D触发器提取和后处理电路消除偏差,最终利用吉比特收发器实现10Gbps高速随机数输出,满足保密通信对实时性和小型化的需求。
关键词:高速物理随机数,FPGA集成

本发明涉及集成电路、密码芯片领域,尤其是一种gbps量级的高速、实时物理随机数产生方法及装置,适用于保密通信领域。



背景技术:

物理随机数发生器广泛应用于科学计算、模拟仿真等领域,由于输出的不确定性和非周期性,其在保密通信领域的作用尤为突出,通常被用作机密密钥产生、向量初始化和随机填充值等诸多方面。

随着计算机以及通信技术的发展,通信数据的吞吐量已经达到gbps甚至tbps的水平。基于信息论鼻祖香农提出的“一次一密”理论,为保证如此高吞吐量数据的通信及安全,需要实时生成速率不低于通信速率的高质量物理随机数来对传输的数据进行加密和解密。

目前,生成实时物理随机数发生器的方法有很多种,如利用电阻热噪声和相位抖动等,此外还有利用光子集成和混沌激光的方法来产生物理随机数。基于上述方法实现的物理随机数发生器要么受限于熵源过低带宽而无法较高的速率,要么受限于庞大的体积而难以适应如今器件小型化、集成化发展趋势。

因此发明一种小型化、可集成的高速率实时物理随机数产生方法和装置具有重要的意义。



技术实现要素:

本发明克服现有技术存在的不足,提供一种gbps量级的高速、实时物理随机数产生方法及装置,速度可达10gbps,以适应不断提高的通信速率和器件小型化、集成化发展趋势。

本发明是通过如下技术方案实现的。

一种gbps量级的高速、实时物理随机数产生方法,具体包括以下步骤:

1)利用布尔逻辑器件构造66节点的自治布尔网络,该网络由一个异或非门和65个异或门相互级联;每个器件具有两个输入端和一个输出端,每个输出端都连接到相邻两个器件的一个输入端口上,电子在该网络中无规则运动,导致每一个器件的输出端都能够产生随机的熵源信号。

2)每一路采用一个d触发器在0-500mhz时钟频率下针对66路并行熵源信号进行熵提取,使该物理熵源能够产生66路随机的数字信号。

3)利用5个d触发器和3个异或门构造后处理电路对66路随机的数字信号进行单路的消偏和相邻链路间的去相关操作,每一路随机信号通过该后处理电路使每一个输出节点都能够产生无偏且独立于其他链路的物理随机信号。

4)通过一种吉比特收发器选择生成的66路中的64路物理随机信号,在0-500mhz用户发送时钟频率下串行化输出为高速实时物理随机数。

优选的,所述使用66个d触发器对自治布尔网络输出的混沌信号在156.25mhz时钟频率下进行有效熵提取,将物理熵源输出的混沌模拟信号量化为混沌数字信号输出。

优选的,吉比特收发器由一对156.25mhz的差分时钟输入,输出的时钟作为吉比特收发器的发送时钟及熵提取模块和后处理模块中d触发器的时钟源。

一种gbps量级的高速、实时物理随机数产生装置,包括熵源模块、熵提取模块、后处理电路模块和高速串行收发器模块,所述熵源模块为一个66节点自治布尔网络用以生成混沌信号;所述熵提取模块使用d触发器作为熵提取器将混沌模拟信号提取为混沌数字信号;所述高速串行收发器模块为吉比特收发器,所述吉比特收发器将经过后处理电路处理的66路物理随机信号中的64路串化输出为单路高速实时物理随机数,所述熵源模块、熵提取模块、后处理电路模块和高速串行收发器模块集成于一块fpga中。

进一步的,所述装置基于fpga平台实现。

本发明相对于现有技术所产生的有益效果为。

1)本发明方法能够实时产生10gbps的高速实时物理随机数,该随机数序列可通过nistsp-80022a统计测试。

2)系统采用数字器件,全部集成于一块xilinxfpga中,并且基于veriloghdl逻辑代码实现,代码可移值,平台容易构建。

3)实现了高速物理随机数的可集成化和小型化,适应了通信技术发展的技术需求。

附图说明

图1是本发明装置的电路结构框图。

其中,100为熵源模块;200为熵提取模块;300为后处理电路模块;400为高速串行收发器模块。

图2是本发明熵源模块内部电路结构图。

其中,101为二输入异或非门;102为二输入异或门。

图3是本发明熵提取模块电路图。

图4是本发明后处理模块电路图。

图5是本发明吉比特收发器原理图。

图6是本发明所述装置产生的时序图。

图7是本发明所述装置所产生的10gbps物理随机数的nist测试结果。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,结合实施例和附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合实施例和附图详细说明本发明的技术方案,但保护范围不被此限制。

本发明基于xilinxkintex-7xc7k325tfpga实现10gbps高速、实时物理随机数发生器。其结构框图如图1所示。主要由熵源模块100、熵提取模块200、后处理电路模块300和吉比特收发器(gtx)模块400组成。

所述熵源模块100如图2所示,该模块由一个异或非门101和65个异或门102相互级联实现复杂的物理系统。每个器件具有两个输入端和一个输出端,每个输出端t[i](0≤i≤65)都连接到相邻两个器件的一个输出入端口上。首先分析三种特殊情况,第一,对于异或非门1010的输出t[0]将连接到相邻器件1021的一个输入端口和10265的一个输入端口上。第二,对于异或门1021的输出t[1]将连接到相邻器件1010一个输出端口和器件1022的一个输出端口上。第三,对于异或门10265的输出t[65]将连接到器件1010另一个输出端口和器件1022的一个输出端口上。最后分析最普便的一种情况,对于器件102i的输出t[i]将连接到相邻器件102i-1的一个端接口和器件102i+1的一个端口上。电子在上述复杂网络中无规则运动,导致每一个器件的输出端都能够产生随机的熵源信号t[i](0≤i≤65)。

熵提取模块200如图3所示,由66个d触发器构成熵提取阵列,在156.25mhz时钟频率下,将100模块产生的66路熵源信号量化输出为66路随机数字信号s[i](0≤i≤65)。

后处理电路模块300如图4所示,该模块由5个d触发器301和1三个异或门302构成。将模块200产生的随机数字信号s[i](0≤i≤65),一路经过两个d触发器3010和3011后和s[i](0≤i≤65)通过异或门器件3020异或输出为r1[i](0≤i≤65);另一路首先和异或门器件3021的输出经两个d触发器3012和3013后的信号异或后经触发器3012和3013输出信号r2[i](0≤i≤65);新产生的两路信号r1[i](0≤i≤65)和r2[i](0≤i≤65)经异或门器件3022异或后,通过d触发器3014输出为物理随机信号q[i](0≤i≤65)。在该系统中共使用66个同样的后处理电路,可将模块200所产生的66路随机数字信号s[i](0≤i≤65)处理为单路无偏,相邻链路相互独立的物理随机信号q[i](0≤i≤65)。该模块中所有d触发器工作于和模块200中的d触发器工作于同一156.25mhz时钟频率下。

吉比特收发器(gtx)模块400如图5所示,该模块选择模块300所生成的66路物理随机信号中的任意64路,在用户发送时钟156.25mhz时钟频率下输出为10gbps码率的高速实时物理随机数,该时钟同样与模块200和模块300中d触发器一样工作于同一时钟频率。吉比特收发器由一对156.25mhz的差分时钟(refclk_n/p)输入,其所产生的时钟(txusrclk2,156.25mhz)作为吉比特收发器的发送时钟及熵提取模块和后处理模块中d触发器的时钟源。通过吉比特收发器(gtx)选择生成的66路中的64路物理随机信号,在156.25mhz用户发送时钟频率下串行化输出为10gbps的高速实时物理随机数。

10gbps的高速实时物理随机数发生器,基于xilinxkintex-7xc7k325tfpga平台实现,所有模块集成于一块fpga中,实现了小型化和集成化的同时,实现了物理随机数的高速、实时产生。

10gbps的高速实时物理随机数发生器中,所有涉及到的d触发器和高速串行收发器一样皆工作于156.25mhz时钟频率下。

为了验证本发明所产生物理随机数的质量,如图6所示,我们用80ghz带宽的示波器观察了其输出时序。并从物理随机数发生器的输出采集1gbit的物理随机数,对其进行nistsp800-22中所推荐的统计测试,如图7所示,该物理随机数可通过其所有的测试项,证明其良好的输出特性。

以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。

当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!