一种真随机数发生器的制作方法

专利2022-06-29  152


本申请涉及集成电路技术领域,尤其涉及一种真随机数发生器。



背景技术:

随机数发生器是信息安全系统中的一个重要组成部分,广泛应用于密钥生成、身份认证等方面,为信息安全系统提供可信根。其中,随机数发生器是指通过采集自然环境中的随机量而产生不可预期的随机数的专用集成电路芯片或者芯片中的随机数生成部件。通常情况下,随机数发生器所采集的自然随机量为热噪声(thermalnoise),采用放大器法、振荡器采样法和混沌法提供热噪声,进而根据该热噪声产生系统所需的真随机数。

在常用的几种热噪声提供方式中,放大器法原理上容易受到环境的影响因此使用并不广泛。以混沌法提供的热噪声所产生的随机数速率并不能满足高速系统的应用。而振荡器法实现方式比较灵活,既可以使用全定制的数模混合电路,也可以使用半定制的数字化方式来实现。因此,该方式的使用非常广泛。

然而随着高速系统的发展,对真随机数产生速率的要求也越来越高,现有利用振荡器法的真随机数发生产生真随机数的速率并不能满足高速系统的需求。



技术实现要素:

有鉴于此,本申请实施例提供了一种真随机数发生器,能够提高真随机数的产生速率,解决现有技术中真随机数生成速率不能满足系统需求的问题。

本申请实施例提供的一种真随机数发生器,包括:异或电路和多条随机熵源电路;每条所述随机熵源电路,包括:低频采样振荡环路、异或单元、n个反相器和至少两个触发器;n为大于1的奇数;

所述n个反相器首尾相连形成高频振荡环路;

每条所述随机熵源电路内,每个所述触发器的输入端均连接对应的反相器的输出端,每个所述触发器的输出端均连接所述异或单元,每个所述触发器对应不同的所述反相器;且所有所述的触发器在同一个所述低频采样振荡环路输出采样时钟信号的控制下对所有所述的触发器的输入端进行采样,采样结果输入所述异或单元进行异或处理;

所述异或单元的输出为每条所述随机熵源电路的输出端,所有所述高频振动环路的输出端分别连接所述异或电路的不同输入端,所述异或电路的输出端输出随机数序列。

可选的,所述每条随机熵源电路所采用的采样时钟信号为同一时钟,且所有随机熵源电路所采用的采样时钟信号为同一时钟。

可选的,每条所述随机熵源电路包括的所述触发器为n个,每条所述随机熵源电路中所述触发器和所述反相器一一对应;

每个所述触发器的输入端均连接对应的所述反相器的输出端,每个所述触发器的时钟输入端连接所述低频采样振荡环路输出的采样时钟信号,每个所述触发器的输出端连接对应的所述异或单元的不同输入端。

可选的,每条所述随机熵源电路包括的低频采样振荡环路为同一个电路。

可选的,每条所述随机熵源电路包括的低频采样振荡环路为独立的电路。

与现有技术相比,本申请至少具有以下优点:

在本申请实施例中,由于采用了多条随机熵源电路,在多条随机熵源电路的至少两个反向器的输出端,均利用对应的触发器进行一次熵源的采样,得到的采样结果输入异或单元进行异或处理后,将所有随机熵源电路输出的异或处理结果输出至异或电路进行异或处理得到随机数序列,该结构的随机数发生器与传统的基于相位抖动的真随机数发生器相比,在结构上,由每个振荡器的单一抽头,变为多抽头结构;在达到同样的随机数质量的条件下,本发明所涉及的随机数发生器可以支持更高的采样时钟的频率,进而提高了随机数产生的速度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为现有的一种随机数发生器的结构示意图。

图2为本申请实施例提供的一种真随机数发生器的结构示意图。

图3为一种高频振荡环路的结构示意图。

图4为本申请具体实施例提供的一种真随机数发生器中随机熵源电路的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了便于理解,首先介绍利用振荡器法实现的真随机数发生器的具体工作原理。

参见图1,该图为现有的一种真随机数发生器的结构示意图。

d触发器的d端连接高频振荡器产生的高频振荡信号,d触发器的时钟信号端连接低频时钟信号,d触发器的输出端输出随机序列。利用带抖动的低频时钟信号采样高频振荡信号,或者,利用低频时钟信号采样带抖动的高频振荡信号以得到真随机数。

以利用低频时钟信号采样带抖动的高频振荡信号以得到真随机数为例,由于真随机数的输出要求在低频时钟信号的每个采样周期内采样得到的数据存在随机性,因此低频时钟信号的周期需大于高频振荡信号的变化量,即低频时钟信号的周期大于高频振荡信号的相位偏差。目前的一些技术中,由于高频振荡器产生的高频振荡信号的相位偏差较大,致使低频时钟信号的周期较大,采样频率低,也就使得产生真随机数的速率低,不能满足高频系统的需求。

为此,本申请实施例提供了一种真随机数发生器,通过对产生高频振荡信号的环路振荡器进行多次采样处理,由具有单一输出的高频振荡环路变为多输出的高频振荡环路,高频振荡环路的多个输出信号之间的相位偏差较单一输出的环路振荡器整体输出的相位偏差小,也就可以相应的减小所需低频时钟信号的周期,提高采样频率和真随机数的产生速率,使得真随机数发生器的随机数产生速率能够满足高频系统的需求。

基于上述思想,为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。

参见图2,该图为本申请实施例提供的一种真随机数发生器的结构示意图。

本申请实施例提供的真随机数发生器,包括:异或电路100和多条随机熵源电路200;每条随机熵源电路200,包括:低频采样振荡环路sampleosc、异或单元201、n个反相器inv和至少两个触发器202;n为大于1的奇数;

n个反相器inv首尾相连形成高频振荡环路。

在本申请实施例中,形成的高频振荡环路是利用门电路的固有传输延迟时间,将奇数个反相器首尾相连而成,热噪声的来源为高频振荡环路201中反相器翻转的延时(即反相器的延迟时间)。图3举例示出了一种包括3个反相器的高频振荡环路结构,实际应用中n可以取任意大于1的奇数,如5、7、9、11、13等,本申请不进行限定。

以图3所示的三个反相器为例,反相器a输出端连接到反相器b输入端,反相器b输出端连接到反相器c输入端,反相器c输出端到连接反相器a输入端,在其中任何一个连接的位置都可以引出输出信号。

假定某一时刻t0,反相器a输入端变为高电平,则反相器a输出端(也即反相器b输入端)在反相器延迟时间δt后(时刻t=t0 δt)变为低电平,时刻t=t0 2δt后,反相器b输出端(也即反相器c输入端)变为高电平,时刻t=t0 3δt后,反相器c输出端(也即反相器a输入端)由高电平变为低电平,此时反相器a输入端电平与时刻t0正好相反;依次类推,时刻t=t0 6δt后,反相器a输入端又变回高电平完成一个周期的振荡,如此往复。即,高频振荡环路201的振荡周期等于单个反相器延迟时间和反相器数乘积的2倍。

每条随机熵源电路200内,每个触发器202的输入端均连接对应的反相器inv的输出端,每个触发器202的输出端均连接异或单元201,每个触发器202对应不同的反相器inv;且所有的触发器202在同一个低频采样振荡环路sampleosc输出采样时钟信号fs的控制下对所有触发器202的输入端进行采样,采样结果输入异或单元201进行异或处理;

异或单元201的输出为每条随机熵源电路200的输出端,所有高频振动环路200的输出端分别连接异或电路100的不同输入端,异或电路100的输出端输出随机数序列。

在本申请实施例中,采样时钟信号fs为低频时钟信号,用于对所有触发器202的输入端进行采样。而生成真随机数需要保证在采样时钟信号fs的每个采样周期所采样的数据存在随机性,采样时钟信号fs的周期必须大于随机源(即触发器202的输入端)的变化。由于多个触发器202对多个不同的反相器inv进行采样,随机源的变化频率较现有技术更快。如图3所示的高频振荡环路,反相器a输出端的电平状态和反相器b输出端的电平状态之间的相位偏差等于一个反相器(即反相器b)的延迟时间,远小于反相器c输出端的电平状态的相位偏差即3个反相器的延迟时间之和。就可以利用周期较小的采样时钟信号fs对所有触发器202的输入端进行采样经异或单元201和异或电路100进行异或处理后得到随机数序列,提高了采样的速率,也就提高了真随机数的产生速率。

可以理解的是,衡量真随机数发生器质量的主要方法首先是衡量随机数的熵。在信息论层面上,熵是不确定程度的度量,可以用比特作其单位。熵越接近1,说明随机数的质量越好,随机数越好。为此,在本申请实施例一些可能的实现方式中,每条随机熵源电路200包括的触发器202可以为n个,每条随机熵源电路200中触发器202和反相器inv一一对应;

每个触发器200的输入端均连接对应的反相器inv的输出端,每个触发器的时钟输入端连接低频采样振荡环路sampleosc输出的采样时钟信号fs,每个触发器202的输出端连接对应的异或单元201的不同输入端,在随机熵源电路200的每个反向器的输出端均进行一次熵源的采样。

图4以n等于3为例,示出了本申请具体实施例提供的一种随机熵源电路的电路拓扑。

在一个例子中,触发器202可以是d触发器。每条随机熵源电路200所采用的采样时钟信号fs为同一时钟,且所有随机熵源电路所采用的采样时钟信号fs为同一时钟。

可选的,每条随机熵源电路200包括的低频采样振荡环路sampleosc为同一个电路,或者,每条随机熵源电路200包括的低频采样振荡环路sampleosc为不同的电路。

在本申请实施例中,由于采用了多条随机熵源电路,在多条随机熵源电路的至少两个反向器的输出端,均利用对应的触发器进行一次熵源的采样,得到的采样结果输入异或单元进行异或处理后,将所有随机熵源电路输出的异或处理结果输出至异或电路进行异或处理得到随机数序列,该结构的随机数发生器与传统的基于相位抖动的真随机数发生器相比,在结构上,由每个振荡器的单一抽头,变为多抽头结构;在达到同样的随机数质量的条件下,本发明所涉及的随机数发生器可以支持更高的采样时钟的频率,进而提高了随机数产生的速度。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。为了便于说明,附图仅仅以两条采样支路及采样模块包括两个d触发器为例进行说明,不应视作对本申请保护范围的限制,实际应用中,可以根据对随机数的质量、随机数产生的速率、芯片面积以及实现方式是否简单等需求对真随机数发生器中包括触发器的数量进行具体设定,这里不再一一列举。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制。虽然本申请已以较佳实施例揭露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。


技术特征:

1.一种真随机数发生器,其特征在于,包括:异或电路和多条随机熵源电路;每条所述随机熵源电路,包括:低频采样振荡环路、异或单元、n个反相器和至少两个触发器;n为大于1的奇数;

所述n个反相器首尾相连形成高频振荡环路;

每条所述随机熵源电路内,每个所述触发器的输入端均连接对应的反相器的输出端,每个所述触发器的输出端均连接所述异或单元,每个所述触发器对应不同的所述反相器;且所有所述的触发器在同一个所述低频采样振荡环路输出采样时钟信号的控制下对所有所述的触发器的输入端进行采样,采样结果输入所述异或单元进行异或处理;

所述异或单元的输出为每条所述随机熵源电路的输出端,所有所述高频振动环路的输出端分别连接所述异或电路的不同输入端,所述异或电路的输出端输出随机数序列。

2.根据权利要求1所述的真随机数发生器,其特征在于,所述每条随机熵源电路所采用的采样时钟信号为同一时钟,且所有随机熵源电路所采用的采样时钟信号为同一时钟。

3.根据权利要求1所述的真随机数发生器,其特征在于,每条所述随机熵源电路包括的所述触发器为n个,每条所述随机熵源电路中所述触发器和所述反相器一一对应;

每个所述触发器的输入端均连接对应的所述反相器的输出端,每个所述触发器的时钟输入端连接所述低频采样振荡环路输出的采样时钟信号,每个所述触发器的输出端连接对应的所述异或单元的不同输入端。

4.根据权利要求1所述的真随机数发生器,其特征在于,每条所述随机熵源电路包括的低频采样振荡环路为同一个电路。

5.根据权利要求1所述的真随机数发生器,其特征在于,每条所述随机熵源电路包括的低频采样振荡环路为独立的电路。

技术总结
本发明公开了一种真随机数发生器,包括:异或电路和多条随机熵源电路;每条随机熵源电路,包括:低频采样振荡环路、异或单元、N个反相器和至少两个触发器;N为大于1的奇数;N个反相器首尾相连形成高频振荡环路;每个触发器的输入端均连接对应的反相器的输出端,每个触发器的输出端均连接异或单元,每个触发器对应不同的反相器;且所有的触发器在同一个低频采样振荡环路输出采样时钟信号的控制下对所有的触发器的输入端进行采样,采样结果输入异或单元进行异或处理;异或单元的输出为每条随机熵源电路的输出端,所有高频振动环路的输出端分别连接异或电路的不同输入端,异或电路的输出端输出随机数序列,提高了随机数产生的速度。

技术研发人员:黄金煌;许秋林;苏琳琳;王逾尘;岳超
受保护的技术使用者:紫光同芯微电子有限公司
技术研发日:2018.11.30
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-29829.html

最新回复(0)