一种随机数发生装置、真随机数发生器及系统级芯片制造方法及图纸

技术编号:17466806 阅读:51 留言:0更新日期:2018-03-15 04:32
本发明专利技术公开了一种随机数发生装置、真随机数发生器及系统级芯片,包括:时钟信号生成模块,用于生成频率相同且相位相反的两个低频的时钟信号;时钟信号处理模块,包括检测模块、分频模块和输出模块;检测模块,用于检测生成的两个时钟信号是否异常;分频模块,用于对来自时钟树的时钟信号进行分频,得到频率相同且相位相反的两个时钟信号;输出模块,用于在检测出生成的两个时钟信号未异常时,输出生成的两个时钟信号,在检测出生成的两个时钟信号异常时,输出分频得到的两个时钟信号;还包括:随机数生成模块,用于根据输出模块输出的两个时钟信号生成随机数。从本发明专利技术实施例可见,降低了产生的随机数是可预测性的概率。

A random number generator, real random number generator and system level chip

The invention discloses a random number generator, random number generator and system on chip, including: clock signal generation module for generating clock signals with the same frequency and two low frequency phase contrast; clock signal processing module, including detection module, frequency module and output module; detection module for detecting two a clock signal generated is abnormal; frequency module for dividing the clock signal from the clock tree, get the same frequency and two clock signals of opposite phase; the output module for two clock signal in detection of abnormal birth not when the two clock signal output generated by the clock signal in two born into the abnormal detection, two clock signal output divider; also includes a random number generating module, output module according to the output of two A clock signal generates a random number. From the embodiment of the present invention, the probability that the generated random number is reduced is predictability.

【技术实现步骤摘要】
一种随机数发生装置、真随机数发生器及系统级芯片
本专利技术涉及加解密技术,尤指一种随机数发生装置、真随机数发生器及系统级芯片。
技术介绍
随着科技的发展,数据安全越来越重要,可以使用密钥对数据加密来保证数据的安全。具体地,通过系统级芯片(SystemOnChip,SOC)中的随机数发生器产生随机数,将该随机数作为密钥对数据加密。随机数发生器产生的随机数的随机性越高,加密的数据就安全,因此随机数的随机性问题是随机数发生器在设计时主要考虑的问题。在相关技术中,随机数发生器有两种,分别是伪随机数发生器和真随机数发生器。伪随机数发生器按照预先设置的算法产生随机数,但是,由于该算法是固定的,可以根据该算法预测到随机数,也就是说伪随机数产生的随机数是可以预测的。相比较伪随机数发生器,真随机数发生器的随机数发生装置包括时钟信号生成模块和随机数生成模块,时钟信号生成模块用于生成频率相同且相位相反的两个时钟信号,该两个时钟信号分别为随机数生成模块的工作时钟信号和采样时钟信号,随机数生成模块根据工作时钟信号和采样时钟信号生成随机数,真随机数发生器生成的随机数是不可预测的。但是,如果对时钟信号生成模块进行攻击,会使得时钟信号生成模块输出的两个时钟信号异常,从而导致随机数生成模块生成的随机数就是可以预测的。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种随机数发生装置、真随机数发生器及系统级芯片,能够降低产生的随机数是可预测性的概率。为了达到本专利技术目的,本专利技术提供了一种随机数发生装置,包括:时钟信号生成模块,用于生成频率相同且相位相反的两个低频的时钟信号;时钟信号处理模块,包括检测模块、分频模块和输出模块;其中,检测模块,用于检测生成的两个时钟信号是否异常;分频模块,用于对来自时钟树的时钟信号进行分频,得到频率相同且相位相反的两个时钟信号;输出模块,用于在检测出生成的两个时钟信号未异常时,输出生成的两个时钟信号,在检测出生成的两个时钟信号异常时,输出分频得到的两个时钟信号;随机数发生装置还包括:随机数生成模块,用于根据输出模块输出的两个时钟信号生成随机数。进一步地,如果所述随机数生成模块的数量为两个或两个以上,还包括:第一运算模块,用于通过预先设置的密码算法对两个或两个以上所述随机数生成模块生成的随机数进行加密运算。进一步地,所述运算模块具体用于,按照预先设置的规则将两个或两个以上所述随机数生成模块生成的随机数分成两份;对于每一份中的两个或两个以上的随机数,将该两个或两个以上的随机数进行异或运算,使用异或运算得到的随机数替换该两个或两个以上的随机数;将两份中的随机数分别作为密钥和待加密的数据,通过该密钥和所述预先设置的密码算法对该待加密的数据进行加密运算。进一步地,还包括:单比特频数检测模块,用于检测所述加密运算得到的随机数中0的总个数和1的总个数,计算检测出的0的总个数和1的总个数之间的差值,若计算出的差值小于或等于预先设置的第一阈值,则输出所述加密运算得到的随机数;若计算出的差值大于该第一阈值,则使所述随机数生成模块重新执行所述生成随机数的步骤。进一步地,所述时钟信号生成模块的数量等于所述时钟信号处理模块的数量;所述随机数生成模块的数量大于或等于所述时钟信号处理模块的数量。进一步地,所述时钟信号生成模块包括:第一频率发生器和反相器;其中,第一频率发生器的输出端与反相器的输入端相连,反相器的输出端与所述时钟信号处理模块的输入端相连;第一频率发生器,用于生成时钟信号,作为所述生成的两个时钟信号中的一个时钟信号;反相器,用于对第一频率发生器生成的时钟信号进行处理,得到与第一频率发生器生成的时钟信号频率相同且相位相反的时钟信号,作为所述生成的两个时钟信号中的另一个时钟信号。进一步地,所述时钟信号生成模块还包括:第二频率发生器,设置在所述第一频率发生器的预先设置的区域内,第二频率发生器用于生成用于诱导攻击者攻击第二频率发生器的时钟信号。进一步地,所述时钟信号生成模块的数量为两个或两个以上,任两个所述时钟信号生成模块中的第一频率发生器的距离大于预先设置的第二阈值。进一步地,所述第一频率发生器为用于生成抖动的低频时钟信号的振荡器。进一步地,所述时钟信号处理模块具体用于,检测所述生成的两个时钟信号的频率;若该检测的时钟信号的频率等于0或者该检测的时钟信号的频率变化幅度大于预先设置的第三阈值,则检测出所述生成的两个时钟信号异常,若该检测的时钟信号的频率不等于0且该检测的时钟信号的频率变化幅度小于或等于预先设置的第三阈值,则检测出所述生成的两个时钟信号未异常。本专利技术提供一种真随机数发生器,包括上述技术方案中任一项所述的随机数发生装置。进一步地,如果所述随机数发生装置的数量为两个或两个以上,还包括:第二运算模块,用于对两个或两个以上所述随机数发生装置输出的随机数进行异或运算。本专利技术提供一种系统级芯片,包括上述技术方案中任一项所述的真随机数发生器。本专利技术实施例至少包括:时钟信号生成模块,用于生成频率相同且相位相反的两个低频的时钟信号;时钟信号处理模块,包括检测模块、分频模块和输出模块;其中,检测模块,用于检测生成的两个时钟信号是否异常;分频模块,用于对来自时钟树的时钟信号进行分频,得到频率相同且相位相反的两个时钟信号;输出模块,用于在检测出生成的两个时钟信号未异常时,输出生成的两个时钟信号,在检测出生成的两个时钟信号异常时,输出分频得到的两个时钟信号;随机数发生装置还包括:随机数生成模块,用于根据输出模块输出的两个时钟信号生成随机数。从本专利技术实施例可见,如果时钟信号生成模块生成的两个时钟信号异常,说明该时钟信号生成模块被攻击,那么输出由时钟树上的时钟信号分频得到的两个时钟信号,而非输出该异常的两个时钟信号。由于时钟信号生成模块被攻击,时钟树并不是攻击目标,也就是说时钟树不会受到影响,即使攻击者对时钟树进行攻击,时钟树的各部分是分散分布的,不容易受到攻击,也就是说时钟树上的时钟信号是异常的概率比较小,因此,使用由时钟树上的时钟信号分频得到的两个时钟信号来生成随机数,降低了产生的随机数是可预测性的概率,从而保证了随机数发生装置产生的随机数的质量。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实施例提供的一种随机数发生装置的结构示意图;图2为本专利技术实施例提供的一种随机数生成模块的结构示意图;图3为本专利技术实施例提供的另一种随机数发生装置的结构示意图;图4为本专利技术实施例提供的一种时钟信号生成模块和时钟信号处理模块的结构示意图;图5为本专利技术实施例提供的一种真随机数发生器的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行本文档来自技高网...
一种随机数发生装置、真随机数发生器及系统级芯片

【技术保护点】
一种随机数发生装置,其特征在于,包括:时钟信号生成模块,用于生成频率相同且相位相反的两个低频的时钟信号;时钟信号处理模块,包括检测模块、分频模块和输出模块;其中,检测模块,用于检测生成的两个时钟信号是否异常;分频模块,用于对来自时钟树的时钟信号进行分频,得到频率相同且相位相反的两个时钟信号;输出模块,用于在检测出生成的两个时钟信号未异常时,输出生成的两个时钟信号,在检测出生成的两个时钟信号异常时,输出分频得到的两个时钟信号;随机数发生装置还包括:随机数生成模块,用于根据输出模块输出的两个时钟信号生成随机数。

【技术特征摘要】
1.一种随机数发生装置,其特征在于,包括:时钟信号生成模块,用于生成频率相同且相位相反的两个低频的时钟信号;时钟信号处理模块,包括检测模块、分频模块和输出模块;其中,检测模块,用于检测生成的两个时钟信号是否异常;分频模块,用于对来自时钟树的时钟信号进行分频,得到频率相同且相位相反的两个时钟信号;输出模块,用于在检测出生成的两个时钟信号未异常时,输出生成的两个时钟信号,在检测出生成的两个时钟信号异常时,输出分频得到的两个时钟信号;随机数发生装置还包括:随机数生成模块,用于根据输出模块输出的两个时钟信号生成随机数。2.根据权利要求1所述的随机数发生装置,其特征在于,如果所述随机数生成模块的数量为两个或两个以上,还包括:第一运算模块,用于通过预先设置的密码算法对两个或两个以上所述随机数生成模块生成的随机数进行加密运算。3.根据权利要求2所述的随机数发生装置,其特征在于,所述运算模块具体用于,按照预先设置的规则将两个或两个以上所述随机数生成模块生成的随机数分成两份;对于每一份中的两个或两个以上的随机数,将该两个或两个以上的随机数进行异或运算,使用异或运算得到的随机数替换该两个或两个以上的随机数;将两份中的随机数分别作为密钥和待加密的数据,通过该密钥和所述预先设置的密码算法对该待加密的数据进行加密运算。4.根据权利要求2所述的随机数发生装置,其特征在于,还包括:单比特频数检测模块,用于检测所述加密运算得到的随机数中0的总个数和1的总个数,计算检测出的0的总个数和1的总个数之间的差值,若计算出的差值小于或等于预先设置的第一阈值,则输出所述加密运算得到的随机数;若计算出的差值大于该第一阈值,则使所述随机数生成模块重新执行所述生成随机数的步骤。5.根据权利要求1所述的随机数发生装置,其特征在于,所述时钟信号生成模块的数量等于所述时钟信号处理模块的数量;所述随机数生成模块的数量大于或等于所述时钟信号处理模块的数量。6.根据权利要求1至5中任一项...

【专利技术属性】
技术研发人员:韩晓晶郝晓东杨敬包蕾龚宗跃
申请(专利权)人:大唐微电子技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1