基于双环耦合振荡电路的真随机数生成器的制作方法

文档序号:12596120阅读:254来源:国知局
基于双环耦合振荡电路的真随机数生成器的制作方法与工艺
本发明属于数字电路
技术领域
,尤其涉及一种真随机数生成器,可用于保密通讯。
背景技术
:随机数对于密码学有着至关重要的作用,在各种保护数据的加密技术中尤其重要。现有的许多软件算法都可以生成伪随机数,但其不可预测性很难保证,在一些安全性要求较高的应用程序中,伪随机数已经不能很好地满足其要求了。为了生成真随机数,许多研究将模拟的噪声源作为外部随机源来构造真随机数生成器。李申、赵建领、王超、瞿光杰吴令安、张峰的专利(专利公开号:CN102637122B)基于物理噪声的奇偶性生成真随机数的方法及其系统,发明了一种对物理噪声产生的信号进行模数转换,再根据数字的奇偶性来生成随机比特。刘小灵、乔爱国、齐凡、谢韶波的专利(专利公开号:CN102693119B)一种真随机数产生电路及信息安全芯片,通过对随机噪声信号进行调制生成混合噪声信号,再滤除其中的直流分量来得到高频随机噪声分量,生成与之对应的真随机数。李树国、王虎森、李丽娟的专利(专利公开号:CN103049242A)数字式真随机数发生器,利用由时钟控制的全数字电路产生随机数,再对随机数进行偏置矫正得到真随机数。王骞、张东来、张华的专利(专利公开号:CN103066956B)一种真随机数三角波发生方法及装置,将多个高频振荡器产生的振荡信号进行同步异或,再用得到的信号控制三角波发生器生成真随机数。上述这些方法由于使用外部环境的随机源且使用相关性很强的振荡环信号,因而均存在攻击者可以通过影响噪声源对生成器进行操控的问题,从而影响保密通信的安全性且生成真随机数速率低。技术实现要素:本发明的目的在于针对上述已有技术的不足,提出一种基于双环耦合振荡的真随机数生成器,以保正保密通信的安全性,减小振荡环信号相关性,提高生成真随机数的速率。为实现上述目的,本发明包括:振荡电路和采样逻辑电路,该振荡电路,由若干数字逻辑门构成,用于产生具有随机相位偏移的随机振荡信号;该采样逻辑电路,用于对振荡电路产生的随机振荡信号进行采样,将连续的随机信号转化为离散的随机序列进行输出,其特征在于:所有的数字逻辑门,包括M/2个异或门XOR和M/2个同或门XNOR,其中M为不小于6的偶数;这些异或门XOR和同或门XNOR均有三个输入端口和一个输出端口;每两个位置相同的异或门和同或门均有相同的两个左邻居,即第i个异或门XORi和第i个同或门XNORi有相同的第(i-1)mod(M/2)个异或门XOR(i-1)mod(M/2)和第(i-1)mod(M/2)个同或门XNOR(i-1)mod(M/2),其中i为1到M/2的整数;对于每个逻辑门,其第一个输入端口与其一个左邻居的输出端口连接,第二个输入端口与另一个左邻居输出端口连接,第三个输入端口与自身的输出端口连接。作为优选,所述N异或门,利用FPGA的基本可编程逻辑单元实现,该逻辑单元的由异或查找表LUT和寄存器组成,通过查找表实现异或门纯数字逻辑,通过寄存器保存数字状态。作为优选,所述N同或门,利用FPGA的基本可编程逻辑单元实现,该逻辑单元的由同或查找表LUT和寄存器组成,通过查找表实现同或门纯数字逻辑,通过寄存器保存数字状态。本发明具有如下优点如下:1.生成的真随机数稳定性强、输出速率高。本发明构造的双环耦合振荡电路由于没有外部随机源仅是对电路系统内存在的热噪声进行放大来产生很强的相位噪音,所以能产生稳定性极强的真随机数;同时由于双环耦合振荡电路的输出信号具有极高的振荡频率和很宽的频谱,其采样逻辑电路的采样频率高达100MHZ,可通过国际随机数行业检测标准即NIST统计检测包的检测,产生的真随机数随机性强。2.本发明由于整个随机数发生器全部由数字逻辑单元实现,所使用的电路资源极少,极易集成到应用于安全领域的芯片中。3.本发明由于采用双采样样式的采样逻辑电路,即在时钟上升沿和下降沿均进行采样其结果异或再输出,可降低“1”比特和“0”比特的输出比率偏差,提高了输出随机数序列的质量,省去了后续后处理步骤。附图说明图1为本发明的原理框图;图2为本发明的电路结构图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。参照图1,本发明包括振荡电路、采样逻辑电路。振荡电路R1用于产生随机信号;采样逻辑电路用于对振荡电路R1产生的随机信号进行采样,该采样逻辑的输出端作为真随机数发生器的输出端,输出真随机数序列。参照图2,对本发明的振荡电路和采样逻辑电路结构如下:所述振荡电路,包括包括M/2个异或门XOR和M/2个同或门XNOR,其中M为不小于6的偶数,本例取M=8,即四个异或门分别是:第一异或门XOR1、第二异或门XOR2、第三异或门XOR3和第四异或门XOR4;四个同或门分别是:第一同或门XNOR1、第二同或门XNOR2、第三同或门XNOR3和第四同或门XNOR4。每两个位置相同的异或门和同或门均有相同的两个左邻居,其中:第一异或门XOR1的两个左邻居分别为第四异或门XOR4和第四同或门XNOR4;第一同或门XNOR1的两个左邻居分别为第四异或门XOR4和第四同或门XNOR4;第二异或门XOR2的两个左邻居分别为第一异或门XOR1和第一同或门XNOR1;第二同或门XNOR2的两个左邻居分别为第一异或门XOR1和第一同或门XNOR1;第三异或门XOR3的两个左邻居分别为第二异或门XOR2和第二同或门XNOR2;第三同或门XNOR3的两个左邻居分别为第二异或门XOR2和第二同或门XNOR2;第四异或门XOR4的两个左邻居分别为第三异或门XOR3和第三同或门XNOR3;第四同或门XNOR4的两个左邻居分别为第三异或门XOR3和第三同或门XNOR3;每个异或门和每个同或门,均有三个输入端口,即第一个输入端口、第二个输入端口、第三个输入端口和一个输出端口,第一个输入端口与其一个左邻居的输出端口连接,第二个输入端口与其另一个左邻居输出端口连接,第三个输入端口与自身的输出端口连接。其中:第一异或门XOR1的第一个输入端口与第四异或门XOR4的输出端口连接,第二个输入端口与第四同或门XNOR4的输出端口连接,第三个输入端口与自身的输出端口连接;第一同或门XNOR1的第一个输入端口与第四异或门XOR4的输出端口连接,第二个输入端口与第四同或门XNOR4的输出端口连接,第三个输入端口与自身的输出端口连接;第二异或门XOR2的第一个输入端口与第一异或门XOR1的输出端口连接,第二个输入端口与第一同或门XNOR1的输出端口连接,第三个输入端口与自身的输出端口连接;第二同或门XNOR2的第一个输入端口与第一异或门XOR1的输出端口连接,第二个输入端口与第一同或门XNOR1的输出端口连接,第三个输入端口与自身的输出端口连接;第三异或门XOR3的第一个输入端口与第二异或门XOR2的输出端口连接,第二个输入端口与第二同或门XNOR2的输出端口连接,第三个输入端口与自身的输出端口连接;第三同或门XNOR3的第一个输入端口与第二异或门XOR2的输出端口连接,第二个输入端口与第二同或门XNOR2的输出端口连接,第三个输入端口与自身的输出端口连接;第四异或门XOR3的第一个输入端口与第三异或门XOR3的输出端口连接,第二个输入端口与第三同或门XNOR3的输出端口连接,第三个输入端口与自身的输出端口连接;第四同或门XNOR3的第一个输入端口与第三异或门XOR3的输出端口连接,第二个输入端口与第三同或门XNOR3的输出端口连接,第三个输入端口与自身的输出端口连接。所述采样逻辑电路包括8个触发器D1、D2、D3、D4、D5、D6、D7、D8和三个异或门XOR5、XOR6、XOR7,其中:前四个D触发器D1、D2、D3、D4分别与振荡电路中的两个异或门和同或门相连,即第一触发器D1的输入为第一异或门XOR1的输出,第二触发器D2的输入为第二同或门XNOR2的输出,第三触发器D3的输入为第三异或门XOR3的输出,第四触发器D4的输入为第四同或门XNOR4的输出,该四个D触发器D1、D2、D3、D4的输出作为第五异或门XOR5的输入;后四个D触发器D5、D6、D7、D8分别与振荡电路中两个异或门和同或门相连,即第五触发器D5的输入为第一同或门XNOR1的输出,第六触发器D6的输入为第二异或门XOR2的输出,第七触发器D7的输入为第三同门XOR3的输出,第八触发器D8的输入为第四异或门XOR4的输出,该四个D触发器D5、D6、D7、D8的输出作为第六异或门XOR6的输入,第五异或门XOR5的输出和第六异或门XOR5的输出作为第七异或门XOR7的输入,第七异或门XOR7的输出作为采样逻辑电路的输出。八个D触发器D1、D2、D3、D4、D5、D6、D7、D8和三个异或门XOR5、XOR6、XOR7均由相同的时钟来控制,该时钟由外部时钟CLK提供,当外部时钟CLK为上升沿时,控制前四个D触发器D1、D2、D3、D4采样,当外部时钟CLK为下升沿时,控制后四个D触发器D5、D6、D7、D8采样。本发明的效果可通过以下检测结果进一步说明:1,检测方法:在外部时钟为100MHZ的频率驱动下,产生1000组1M的真随机序列;采用美国国家标准和技术研究所NIST提供的SP800-22随机数检测标准对上述1000组1M的真随机序列的随机性进行检测,该检测标准包含15项检测内容,每一项检测产生的检测结果中包含一个P-value值和一个通过率Propotion值。当P-value值不低于0.001且通过率值不低于0.9806,表示该项检测内容通过。2,检测结果:对用本发明产生的1000组1M的真随机序列,用美国国家标准和技术研究所NIST提供的SP800-22随机数检测标准进行检测,结果如表1:表1测试结果StatisticalTestP-valuePropotionResultFrequence0.5795790.9900PassBlockFrequence0.6195060.9900PassCumulativeSums0.3456780.9860PassRuns0.2318160.9900PassLongestRun0.2687160.9860PassRank0.7150340.9840PassFFT0.5631780.9860PassOverlappingTemplate0.2679320.9900PassUniversal0.1331110.9879PassLinearComplexity0.4354530.9900PassApproximateEntropy0.3534470.9840PassSerial0.2279510.9880PassNonOverlappingTemplate0.1928800.9867PassRandomExcursions0.1894590.9902PassRandomExcursionsVariant0.2774240.9967Pass从表1可见,本发明产生的真随机序列每项指标均达到了随机数的要求标准,表明本发明产生的随机数具有良好的随机性。上述实施例仅用具体实施说明本发明的实现方法,在此基础上可以有多种变形,这种基于本发明的结构变化均包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1