一种新型低成本高速真随机数发生器的制作方法

文档序号:11285738阅读:248来源:国知局
一种新型低成本高速真随机数发生器的制造方法与工艺

本发明涉及信息安全芯片领域,尤其涉及一种新型低成本高速真随机数发生器。



背景技术:

随着计算机和互联网技术的发展,信息系统建设发展也很快,在信息安全方面遇到了巨大的挑战,一般这种信息的安全传输通常采用信息加班来实现。随机数发生器是安全信息系统中的一个非常重要的组成部分,其产生的随机数是信息加密的重要组成部分。

由于需要高质量随机数和高安全性要求,真随机数发生器的研究必不可少。伪随机数序列虽然能够产生高速随机序列而且占用硬件少,但是序列的随机性和不可预测性较差。我们希望即使攻击者有无限的计算能力,并且已知所有的产生序列也无法预测随机数发生器下一个要产生的随机数。

现有基于振荡器的随机数发生器和基于亚稳态的随机数发生器虽然都能用纯数字电路搭建,但是基于振荡器的随机数发生器随机数产生速度低,于亚稳态的随机数发生器性能较差且资源消耗大。



技术实现要素:

发明目的:本发明所要解决的技术问题是针对现有真随机数发生器的缺陷,提供一种新型低成本高速真随机数发生器,该发生器采用链式振荡环,振荡信号更加不稳定,随机性能更好,可以用高频时钟进行采样得到高速随机数,同时消耗的资源也较少。

技术方案:本发明为解决上述技术问题采用以下技术方案:

一种新型低成本高速真随机数发生器,包括:链式振荡器、触发器阵列和异或门阵列;

链式振荡器包括至少3个复用单元,各复用单元依次相连形成链路;复用单元包括一个非门和一个异或门,其中,异或门的两个输入端作为该复用单元的两个输入端,异或门的输出端与非门的输入端相连,非门的输出端作为该复用单元的输出端;相邻两复用单元通过一非门相连,前一个复用单元的输出端与该非门的输入端相连,后一个复用单元的一个输入端与该非门的输出端相连,前一个复用单元的一个输入端与后一个复用单元的输出端相连,形成一个振荡环路;

各复用单元形成的链路中,链路的头部和尾部各串联一个由2个非门串联而成的支路;链路头部的串联支路,其输入端与链路中第一个复用单元的输出端相连,其输出端与第一个复用单元未与其他复用单元相连的另一个输入端相连,形成链路头部的振荡环;链路尾部的串联支路,其输入端与链路中最后一个复用单元的输出端相连,其输出端与最后一个复用单元未与其他复用单元相连的另一个输入端相连,形成链路尾部的振荡环;

链式振荡器用于产生高速振荡信号;触发器阵列用于以高速时钟采样链式振荡器中每个非门及异或门的输出信号;异或门阵列用于将所有采样信号通过异或运算整合成一个信号后,再用一个触发器采集该整合信号,得到以高速时钟频率变化的高速随机数。

进一步的,所述触发器阵列由d触发器组成,d触发器的数量与链式振荡器中非门和异或门的总数相同,d触发器的时钟信号输入端接入外部输入的高频采样时钟,每个d触发器根据高频采样时钟对链式振荡器中的一个非门或异或门的输出信号进行采样,且任意两d触发器采样不同的非门或异或门的输出信号。

进一步的,所述异或门阵列包括一组异或门,该组异或门排列成倒金字塔阵列;定义触发器阵列中d触发器的数量为n,则n个d触发器的输出信号作为异或门阵列的输入信号,异或门阵列的输出信号为:

式中,y为异或门阵列的输出信号,xi为触发器阵列中第i个d触发器的输出信号,i=1,2,…,n,表示异或符号。

有益效果:与现有技术相比,本发明具有以下优势:

本发明相对于基于振荡环的真随机数发生器,突破了采样率低的限制,相对于基于亚稳态的真随机数发生器,大大降低了硬件资源开销,提高了随机数特性。

附图说明

图1为本发明实施例1的整体硬件结构图;

图2为本发明实施例2的整体硬件结构图;

图3为本发明实施例3的整体硬件结构图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

本发明公开了一种新型低成本高速真随机数发生器,包括:链式振荡器、触发器阵列和异或门阵列。

链式振荡器包括至少3个复用单元,各复用单元依次相连形成链路;复用单元包括一个非门和一个异或门,其中,异或门的两个输入端作为该复用单元的两个输入端,异或门的输出端与非门的输入端相连,非门的输出端作为该复用单元的输出端;相邻两复用单元通过一非门相连,前一个复用单元的输出端与该非门的输入端相连,后一个复用单元的一个输入端与该非门的输出端相连,前一个复用单元的一个输入端与后一个复用单元的输出端相连,形成一个振荡环路;

各复用单元形成的链路中,链路的头部和尾部各串联一个由2个非门串联而成的支路;链路头部的串联支路,其输入端与链路中第一个复用单元的输出端相连,其输出端与第一个复用单元未与其他复用单元相连的另一个输入端相连,形成链路头部的振荡环;链路尾部的串联支路,其输入端与链路中最后一个复用单元的输出端相连,其输出端与最后一个复用单元未与其他复用单元相连的另一个输入端相连,形成链路尾部的振荡环;

链式振荡器用于产生高速振荡信号;触发器阵列用于以高速时钟采样链式振荡器中每个非门及异或门后的信号;异或门阵列用于将所有采样信号通过异或运算整合成一个信号进行输出。

所述触发器阵列模块用于以高速时钟采样链式振荡环中每个反相器及异或门后的信号;所述的触发器阵列模块由d触发器组成,通过外部输入的高频采样时钟,对链式振荡环中的每个非门与异或门进行采样,由于振荡信号是高频信号,有一定几率产生亚稳态,增加数据的随机性。在d触发器的时钟上升沿到来时,d触发器的输入信号并未维持在0或者1,导致d触发器采集时产生的信号具有不确定性。异或运算能够保持每个信号的随机性不丢失。

所述异或门阵列包括一组异或门,该组异或门排列成倒金字塔阵列;定义触发器阵列中d触发器的数量为n,则n个d触发器的输出信号作为异或门阵列的输入信号,异或门阵列的输出信号为:

式中,y为异或门阵列的输出信号,xi为触发器阵列中第i个d触发器的输出信号,i=1,2,…,n,表示异或符号。

由上述技术方案可知链式振荡器由3种不同的振荡环构成,用于产生不稳定频偏和相移的高速振荡信号,分别是头部振荡环、中间振荡环、和尾部振荡环。下面通过三个具体实施例具体说明本发明的发明要点。

实施例1:如图1所示为本发明实施例1的整体硬件结构图,图中包含3个复用单元和两个由2个非门串联而成的支路,相邻的2个复用单元之间通过一个非门连接。因此链式振荡器电路中共有9个非门和3个异或门,这9个非门和3个异或门共形成4个振荡环。

头部振荡环由三个非门和一个异或门组成,即图1中链式振荡器虚框里最左边的一个振荡环,第一个振荡环中,三个非门依次串联,第三个非门的输出端与第一非门的输入端相连形成环路,第二个非门与第三个非门之间插入一个异或门,此异或门与第三个非门形成复用单元,该异或门将第一个振荡环第二个非门的输出信号和第二个振荡环中第三个非门的输出信号进行异或后送给第一个振荡环的第三个非门。第一个振荡环的异或门和第三个非门组成的复用单元被第二个振荡环复用。

第二、第三个振荡环为中间振荡环。第二个振荡环位于图1中链式振荡器第一个振荡环之后,由三个非门与两个异或门组成,这三个非门和两个异或门组成两个复用单元,两复用单元之间通过非门连接;其中,第一个复用单元即为第一个振荡环的异或门和第三个非门,第二个复用单元为其第二个异或门和第三个非门,第二个复用单元同时作为第三个振荡环的第一个复用单元。

第三个振荡环位于第二个振荡环之后,也包括两个复用单元,两复用单元之间通过非门连接;第三个振荡环的第一个复用单元即为第二个振荡环的第二个复用单元,第三个振荡环的第二个复用单元同时作为尾部振荡环的复用单元。

尾部振荡环由三个非门与一个异或门组成,位于图1中链式振荡器虚框中最右一个振荡环,与所述头部振荡环的区别在于异或门在其第一个非门之前,前一个振荡环的第二个非门的输出与最后一个振荡环的反馈异或后作为尾部振荡环的第一个非门的输入,第二个非门与第三个非门依次相连,并把第三个非门的输出作为最后一个振荡环的反馈信号。

实施例1中,触发器阵列模块由12个d触发器组成,这12个d触发器公用一个外部输入的高频采样时钟clk,并通过外部输入的高频采样时钟,对链式振荡环中的每个非门与异或门进行采样。

触发器阵列模块的12个输出信号均输入到异或门阵列中,作为异或门阵列的输入信号。异或门阵列由11个异或门和一个d触发器组成,11个异或门组成倒金字塔阵列,阵列中,第一行为6个异或门,第二行为3个异或门,第三行为2个异或门。设触发器阵列模块中12个d触发器的编号从左往右依次为1,2,……12,则异或门阵列第一行中第一个异或门对d触发器1和d触发器2的输出信号进行异或,异或门阵列第一行中第二个异或门对d触发器3和d触发器4的输出信号进行异或,以此类推。而第二行异或门中,第一个异或门对第一行前两个异或门的输出信号进行异或,第二个异或门对第一行中间两个异或门的输出信号进行异或,第三个异或门对第一行最后两个异或门的输出信号进行异或。第三行异或门中,第一个异或门对第二行前两个异或门的输出信号进行异或,第二个异或门对第二行最后一个异或门的输出信号和第三行第一个异或门的输出信号进行异或,并将最后得到的结果输入d触发器,d触发器的输出即为实施例1所述新型低成本高速真随机数发生器的输出信号。

实施例2:如图2所示为本发明实施例2的整体硬件结构图,图中包含4个复用单元和两个由2个非门串联而成的支路,相邻的2个复用单元之间通过一个非门连接。因此链式振荡器电路中共有11个非门和4个异或门,这11个非门和4个异或门共形成5个振荡环。其头部振荡环和尾部振荡环均由三个非门和一个异或门组成,而头部振荡环和尾部振荡环之间的三个振荡环为中间振荡环。

触发器阵列模块由15个d触发器组成,这15个d触发器的输出信号均输入到异或门阵列中,作为异或门阵列的输入信号。异或门阵列由14个异或门组成,异或门阵列的输出信号为:

实施例3:如图3所示为本发明实施例3的整体硬件结构图,图中包含5个复用单元和两个由2个非门串联而成的支路,相邻的2个复用单元之间通过一个非门连接。因此链式振荡器电路中共有13个非门和5个异或门,这13个非门和5个异或门共形成6个振荡环。其中,部振荡环和尾部振荡环均由三个非门和一个异或门组成,而头部振荡环和尾部振荡环之间的四个振荡环为中间振荡环。

触发器阵列模块由18个d触发器组成,这18个d触发器的输出信号均输入到异或门阵列中,作为异或门阵列的输入信号。异或门阵列由17个异或门组成,异或门阵列的输出信号为:

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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