基于时延反馈振荡器的真随机数生成器的制作方法

文档序号:12362698阅读:427来源:国知局
基于时延反馈振荡器的真随机数生成器的制作方法与工艺
本发明属于数字电路
技术领域
,尤其涉及一种基于时延反馈振荡器的真随机数生成器,可用于保密通信。
背景技术
:在密码系统中,无论是加密文本信息、图像还是视频,随机数有着很重要的作用。现有的随机数主要有两种类型,真随机数和伪随机数。伪随机数易于在软件中去实现,其安全性依赖于给定算法的复杂性和密钥种子,虽然具有很好的统计特性,但不能保证其具有不可预测性;真随机数依赖不确定的熵源,如电子器件中的模拟现象,具有很好的不可预测性。因此,对于安全性要求高的密码系统而言,真随机数成为了更好的选择。在现有的真随机数生成器中,很多都依赖于外部噪声源来提供系统所需的随机性,如原义栋、张海峰、张喆的专利(专利公开号:CN201773390U)基于电阻噪声处理的真随机数发生器,通过提取噪声信号驱动压控振荡器的结构生成具有较大相位噪声的振荡信号,并应用后处理得到随机数;吴晓勇、王新亚的专利(专利公开号:CN103049243A)真随机数产生方法及装置,通过将模数转换和数模转换过程中的量化误差的放大过程,再与引入的热噪声求和放大来产生随机数。而噪声源具有不稳定性,攻击者可以通过攻击噪声源来破坏整个生成器,因此这种方法并不十分安全。除此之外也有很多基于振荡器构造的真随机数发生器,如冯睿、胡杨川、何卫国的专利(专利公开号:CN103150138A)一种基于数字电路的真随机数发生器,将副振荡采样电路与主振荡采样电路中基本振荡采样电路的频率控制端连接,再用后处理电路在基本振荡采样电路输出端进行采样得到真随机数;白国强、张晓峰、陈弘毅的专利(专利公开号:CN101819515A)基于环型振荡器的真随机数发生电路及真随机数发生器,利用两个带有输入端的高频环形振荡电路和一个低频环形振荡电路构成真随机数发生电路,再对其进行后处理。上述方法中使用噪声源为外部噪声源,攻击者可以通过控制外部噪声源来其进行攻击,因此这种方法产生的真随机数的安全性得不到保证;其次一些方法是基于传统的由反向器组成的振荡器来产生随机数的,由于这种振荡器的振荡信号短时间内的相位随机性极小,所以采样时必须等待足够长的时间以确保采样输出有充足的随机性,因此这些方法产生随机数的速率很低。技术实现要素:本发明的目的在于针对上述已有技术的不足,提出一种基于时延反馈振荡器的真随机数生成器,以避免对外部输入端口的攻击,提高保密通信的安全性。为实现上述目的,本发明包括:振荡电路,用于产生具有随机相位偏移的随机振荡信号;采样电路,用于对振荡电路产生的随机振荡信号进行采样,将连续模拟信号转化为离散数字信号进行输出。其特征在于:所述振荡电路,包括:N个相同的时延反馈异或振荡器、M个相同的时延反馈同或振荡器,N、M均为大于1的整数,且满足N+M>3;每个时延反馈异或振荡器均由一个异或门XOR和三个上反向器组R构成,每个上反向器组R由不同的偶数个反向器组成,异或门XOR设有三个输入端口和一个输出端口;该异或门XOR的三个输入端口分别与三个上反向器组R的输出端口对应连接;该异或门XOR的输出端口与每个上反向器组R的输入端口连接;每个时延反馈同或振荡器均由一个同或门XNOR和三个下反向器组B构成;每个下反向器组B由不同的奇数个反向器组成,该同或门XNOR均有三个输入端口和一个输出端口,同或门XNOR的三个输入端口分别与三个下反向器组B的输出端口对应连接;该同或门XNOR的输出端口与每个下反向器组B的输入端口连接。本发明具有如下优点如下:1.生成的真随机数稳定性强、输出速率高。本发明由于采用时延反馈异或振荡器和延反馈同或振荡器构成振荡电路,故能产生稳定的混沌振荡,该混沌振荡具有极高的振荡频率和很宽的频谱,利用该稳定的混沌振荡可产生稳定高速的真随机数。2.本发明的振荡电路由于包含了不同数量的时延反馈异或振荡器和时延反馈同或振荡器,增加了设计的多样性和灵活性。3.本发明由于整个随机数发生器仅由反向器、异或门和同或门实现,所以电路易于集成化、小型化,可广泛应用于安全专用芯片中。附图说明图1为本发明的原理框图;图2为本发明的电路结构图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。参照图1,本发明包括振荡电路、采样电路。其中振荡电路由N个相同的时延反馈异或振荡器、M个相同的时延反馈同或振荡器构成,用于产生随机振荡信号;采样电路由N+M个D触发器构成,用于对振荡电路产生的随机振荡信号进行采样,该采样电路中采样子电路的输出经过异或作为该采样电路的输出端口,输出真随机数序列。参照图2,对本发明的振荡电路和采样电路结构描述如下:所述振荡电路,包括:N个相同的时延反馈异或振荡器、M个相同的时延反馈同或振荡器,N、M均为大于1的整数且满足N+M>3;每个时延反馈异或振荡器均由一个异或门XOR和三个上反向器组R构成;三个上反向器组R分别表示为第一上反向器组R1、第二上反向器组R2、第三上反向器组R3,这三个上反向器组R中的反向器个数不同,其分别为:第一个上反向器组R1由2个反向器串联组成,第二个上反向器组R2由6个反向器串联组成,第三个上反向器组R3由18个反向器串联组成。每个异或门XOR均有三个输入端口,即第一个输入端口、第二个输入端口、第三个输入端口和一个输出端口;异或门XOR的三个输入端口分别与三个上反向器组R的输出端口对应连接,即异或门XOR的第一输入端口与第一个上反向器组R1的输出端口连接;异或门XOR的第二输入端口与第二个上反向器组R2的输出端口连接;异或门XOR的第三输入端口与第三个上反向器组R3的输出端口连接;异或门XOR的输出端口与每个上反向器组R的输入端口连接。每个时延反馈同或振荡器均由一个同或门XNOR和三个下反向器组B构成;三个下反向器组B分别表示为第一个下反向器组B1、第二个下反向器组B2、第三个下反向器组B3,这三个下反向器组B中的反向器个数不同,其分别为:第一个下反向器组B1由1个反向器串联组成,第二个下反向器组B2由7个反向器串联组成,第三个下反向器组B3由17个反向器串联组成。对于每个同或门XNOR,均有三个输入端口,即第一个输入端口、第二个输入端口、第三个输入端口和一个输出端口;同或门XNOR的三个输入端口分别与三个下反向器组B的输出端口对应连接,即第一输入端口与第一个下反向器组B1的输出端口连接;第二输入端口与第二个下反向器组B2的输出端口连接;第三输入端口与第三个下反向器组B3的输出端口连接。该同或门XNOR的输出端口连接与每个下反向器组B的输入端口连接。所述采样电路由N+M个触发器D1、D2、D3、..、DN+M和1个异或门即第N+1异或门XORN+1组成,前N个D触发器分别与振荡电路中的N个异或门XOR相连,后M个D触发器分别与振荡电路中的M个同或门XNOR相连,该N+M个触发器D1、D2、D3、..、DN+M的输出作为第N+1异或门XORN+1的输入,第N+1个异或门XORN+1的输出作为采样电路的输出,该N+M个触发器D1、D2、D3、..、DN+M和1个异或门即第N+1异或门XORN+1均由相同的时钟来控制,该时钟由外部时钟CLK提供。本发明的效果可通过以下检测结果进一步说明:1,检测方法:在外部时钟为100MHZ的频率驱动下,产生1000组1M的真随机序列;采用美国国家标准和技术研究所NIST提供的SP800-22随机数检测标准对上述1000组1M的真随机序列的随机性进行检测,该检测标准包含15项检测内容,每一项检测产生的检测结果中包含一个P-value值和一个通过率Propotion值。当P-value值不低于0.001且通过率值不低于0.9806,表示该项检测内容通过。2,检测结果:用美国国家标准和技术研究所NIST提供的SP800-22随机数检测标准对用本发明产生的1000组1M的真随机序列进行检测,结果如表1:表1测试结果StatisticalTestP-valuePropotionResultFrequence0.9696880.9944PassBlockFrequence0.4569860.9861PassCumulativeSums0.7626450.9953PassRuns0.3146540.9888PassLongestRun0.1257440.9888PassRank0.4044230.9860PassFFT0.4798150.9860PassOverlappingTemplate0.2909650.9888PassUniversal0.2067180.9842PassLinearComplexity0.5046320.9879PassApproximateEntropy0.2974270.9925PassSerial0.3057620.9879PassNonOverlappingTemplate0.2938160.9851PassRandomExcursions0.1736930.9876PassRandomExcursionsVariant0.7073180.9892Pass从表1可见,本发明产生的真随机序列每项指标均达到了随机数的要求标准,表明本发明产生的随机数具有良好的随机性。上述实施例仅用来具体实施说明本发明的实现方法,并不构成对本发明的限制,显然在本发明的此基础上可以有多种变形,这种基于本发明的结构变化均包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1