CN111008005A - 一种真随机数发生器和真随机数发生方法 - Google Patents
一种真随机数发生器和真随机数发生方法 Download PDFInfo
- Publication number
- CN111008005A CN111008005A CN201911153066.3A CN201911153066A CN111008005A CN 111008005 A CN111008005 A CN 111008005A CN 201911153066 A CN201911153066 A CN 201911153066A CN 111008005 A CN111008005 A CN 111008005A
- Authority
- CN
- China
- Prior art keywords
- random number
- circuit
- ring oscillator
- sampling
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明实施例公开了一种真随机数发生器和真随机数发生方法。多个环形振荡器电路以阵列方式排布,且能够通过随机数统计分析电路分析随机数序列并反馈分析结论至配置选择电路,配置选择电路根据随机数统计分析电路的分析结论,发送控制信息调整真随机数发生器的配置。通过实施本发明实施例,在不增加后端布局布线难度的情况下,能够自动调节真随机数发生器配置,生成高质量的随机数序列,效率高。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种真随机数发生器和真随机数发生方法。
背景技术
真随机数普遍应用于密码运算场景。产生真随机数需要使用真随机数发生器。和伪随机数发生器不同的是,真随机数发生器需要使用物理噪声源。目前最常用的物理噪声源之一是使用环形振荡器环形振荡器,用采样时钟采样环形振荡器的输出。受到外界噪声的影响,环形振荡器产生的波形存在抖动,数字化处理后即可产生真随机数。由于单路环形振荡器输出的熵比较低,通常会使用多路环形振荡器采样,以增加输出的熵。
环形振荡器通常使用反相器进行搭建。在使用设计中,为了方便后端布局布线,多路环形振荡器会采用相同反相器数量,即多路环形振荡器的周期较为接近。当周期比较接近的不同环形振荡器环进行震荡时,可能会出现部分环形振荡器频率互锁的情况,导致互锁的环形振荡器相位差稳定,输出结果异或处理后不产生随机效果。一般处理这个问题的方法是,在布局布线时手动将环形振荡器分散在芯片的各个部分,但这增加了后端布局布线的难度。
此外,现有设计中,若产生的随机数序列无法达到要求,则需设计人员重新规划设计,以增强熵,改善随机数序列的质量,效率低下,缺乏自动调节的手段。
发明内容
本发明实施例提供一种真随机数发生器和真随机数发生方法,在不增加后端布局布线难度的情况下,能够自动调节真随机数发生器配置,生成高质量的随机数序列,效率高。
一方面,本发明实施例提供一种真随机数发生器,包括:依次连接的配置选择电路,环形振荡器电路阵列,时钟采样阵列,异或电路,随机数统计分析电路;所述随机数统计分析电路的反馈输出端与所述配置选择电路的输入端连接;其中,所述环形振荡器电路阵列,包括多个环形振荡器电路;所述时钟采样阵列,包括与所述多个环形振荡器电路所对应的多个触发器;所述多个触发器用于以根据采样时钟分别对多个环形振荡器电路的信号进行采样;所述采样时钟受所述配置选择电路控制;所述异或电路,用于将所述时钟采样阵列的采样结果进行异或运算,并将运算产生的随机数序列发送至随机数统计分析电路;所述随机数统计分析电路,用于分析所述随机数序列并反馈分析结论至配置选择电路;所述配置选择电路,用于根据所述随机数统计分析电路的分析结论,发送控制信息调整所述真随机数发生器的配置。
可选的,所述分析结论,包含随机数序列质量信息;所述随机数统计分析电路还用于,若所述随机数序列质量信息符合预设要求,则输出所述随机数序列。
可选的,所述环形振荡器电路,包括:反相器链路和多路选择器;所述反相器链路,包括串联连接的奇数个反相器;所述多路选择器的控制端连接所述配置选择电路以接收所述配置选择电路的控制信息;所述多路选择器多个选择端分别连接至所述反相器链路的不同位置;所述多路选择器的输出端连接至所述反相器链路的末尾;所述多路选择器的使能关闭端置空;从而与所述反相器链路构成环形振荡器电路的回路。
可选的,所述配置选择电路,根据所述随机数统计分析电路的分析结论,发送控制信息调整所述真随机数发生器的配置,包括通过以下方式中的至少一种:发送数量控制信息至所述环形振荡器电路阵列中的多路选择器,以控制所述多个环形振荡器电路的开启数量;发送长度控制信息至所述环形振荡器电路阵列中的多路选择器,以控制所述多个环形振荡器电路的长度;发送时钟控制信息至所述时钟采样阵列,以调整采样时钟。
可选的,真随机数发生器还包括后处理电路,用于对输出的所述随机数序列进行后处理。
另一方面,本发明实施例提供一种真随机数发生方法,应用于真随机数发生器,所述真随机数发生器包括依次连接的配置选择电路、环形振荡器电路阵列、时钟采样阵列、异或电路以及随机数统计分析电路;所述随机数统计分析电路的反馈输出端与所述配置选择电路的输入端连接;所述方法包括:采样,通过时钟采样阵列,根据采样时钟分别对环形振荡器电路阵列中,至少两个环形振荡器电路的信号进行采样;异或运算,通过异或电路将所述采样结果进行异或运算产生随机数序列;统计分析,通过随机数统计分析电路统计分析所述随机数序列是否符合预设要求,并反馈分析结论至所述配置选择电路;所述分析结论包含随机数序列质量信息;若符合,则输出所述随机数序列;若不符合,则通过配置选择电路发送控制信息以调整所述真随机数发生器的配置,并重复所述采样、异或运算和统计分析的步骤,直至所述随机数序列符合预设要求;调整的方式包括以下至少一种:调整所述多个环形振荡器电路的开启数量;调整所述多个环形振荡器电路的长度;以及,调整所述采样时钟。
可选的,所述环形振荡器电路,包括:由反相器链路和多路选择器所构成的环形振荡器电路的回路;其中,所述反相器链路由串联的奇数个反相器组成;所述多路选择器包括置空的使能关闭端,用于接收控制信息的控制端,和连接到所述反相器链路不同位置的多个选择端。
可选的,所述调整所述多个环形振荡器电路的开启数量,具体为:发送数量控制信息至所述多路选择器的控制端,以控制所述多路选择器选择使能关闭端,从而断开环形振荡器电路;或,控制所述多路选择器选择任一选择端而维持环形振荡器电路的开启。
可选的,所述调整所述多个环形振荡器电路的长度,具体为:发送长度控制信息至所述多路选择器的控制端,以控制所述多路选择器选择多个选择端的其中一个,连通所述反相器链路的相应位置,从而调整所述多个环形振荡器电路的长度。
可选的,所述时钟采样阵列,包括与所述多个环形振荡器电路所对应的多个触发器;所述多个触发器用于根据采样时钟分别对多个环形振荡器电路的信号进行采样;调整所述采样时钟,具体为:发送新的时钟信号至所述触发器的时钟输入端,替代原有的采样时钟。
可选的,真随机数发生方法,还包括:后处理,对输出的所述随机数序列以预设方式进行后处理;所述预设方式包括:奇偶校验、冯-诺伊曼矫正、异或链、哈希函数、傅里叶变换、移位寄存器中的一种或多种。
本发明实施例,多个环形振荡器电路以阵列方式排布,且能够通过随机数统计分析电路分析随机数序列并反馈分析结论至配置选择电路;配置选择电路根据随机数统计分析电路的分析结论,发送控制信息调整真随机数发生器的配置。通过实施本发明实施例,在不增加后端布局布线难度的情况下,能够自动调节真随机数发生器配置,生成高质量的随机数序列,效率高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种真随机数发生器的实施例示意图;
图2为图1对应实施例中环形振荡器电路阵列的示意图;
图3为本发明实施例公开的一种真随机数发生方法的实施例示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种真随机数发生器的实施例示意图。
在本实施例中,真随机数发生器包括依次连接的配置选择电路11,环形振荡器电路阵列12,时钟采样阵列13,异或电路14,随机数统计分析电路15;所述随机数统计分析电路15的反馈输出端与所述配置选择电路11的输入端连接,从而形成反馈回路16。
其中,如图1所示,配置选择电路11与环形振荡器阵列12连接处的电路加“/”是为示意此处连接线可以不止一条,因为对应环形振荡器阵列12中可以有多个环形振荡器电路。环形振荡器阵列12中示意性的展现出了3个环形振荡器电路,但本发明实施例并不限制环形振荡器电路的个数,因此以纵向的省略号表述,还可以有更多的环形振荡器电路,也可以更少。环形振荡器电路阵列12,时钟采样阵列13,异或电路14采用虚线框围起是为了方便说明它们各自的功能,且可以理解的是,它们并非必须是各自封装的模块。
先在此处说明,环形振荡器阵列12中的每个环形振荡器电路包括反相器和数据选择器,其中反相器之间的“……”或“…”表示本实施例并不限制环形振荡器电路的长度。数据选择器的0端表示其使能关闭端。关于环形振荡器电路阵列12中的环形振荡器电路本身,会在后续实施例中进行进一步描述。
时钟采样阵列13,包括与多个环形振荡器电路所对应的多个触发器1301;多个触发器1301用于以根据输入至CLK端的采样时钟Fs分别对多个环形振荡器电路的信号进行采样;D为信号输入端,Q为采样输出端;所述采样时钟Fs受所述配置选择电路11控制;时钟采样阵列13中亦有纵向的省略号,用来表述对触发器1301的数量不加限制,其数量对应环形振荡器阵列12中的环形振荡器电路的数量。可选的,触发器1301为D触发器。
异或电路14,用于将所述时钟采样阵列13的采样结果进行异或运算,并将运算产生的随机数序列发送至随机数统计分析电路15;当然,如图1所示,异或运算的结果,也有相应的触发器进行采样,再发送至随机数统计分析电路15。
随机数统计分析电路15,用于分析其收到的随机数序列并通过反馈回路16反馈分析结论至配置选择电路11;分析结论包含随机数质量信息,可以体现真随机数发生器的熵。
配置选择电路11,则根据所述随机数统计分析电路15的分析结论,发送控制信息调整所述真随机数发生器的配置。控制信息可以包括对采样时钟Fs的控制以及对环形振荡器阵列中环形振荡器数量或长度的控制,从而达到自适应调整熵,继而调整随机数序列质量。
当然,如果随机数统计分析电路15分析其收到的随机数序列质量信息符合预设要求,则输出所述随机数序列。在这种情况下,配置选择电路11即不再调整配置,整个真随机数发生器可按照当前状态工作。
图2为图1对应实施例中环形振荡器阵列的示意图,以对环形振荡器电路阵列12做进一步的说明。
请同同时参阅图2和图1,环形振荡器电路阵列12包括多个环形振荡器电路,而每个环形振荡器电路包括由多个反相器1201串接所构成的反相器链路和多路选择器1202;所述多路选择器1202的控制端EN连接图1中所示的配置选择电路11以接收所述配置选择电路11的控制信息;所述多路选择器1202多个选择端1、2、和3则分别连接至所述反相器链路的不同位置;不同的位置可以根据实际需要设置,在一些实施方式中,所述不同位置中的任两个相邻的位置之间,反相器的数量相等。需要说明的是,图1和图2中的多路选择器有三个选择端,但在实际应用中,选择端的数量可以更多或更少,在一些具体实施方案中,可使用8选1多路选择器。所述多路选择器1202的输出端OUT连接至所述反相器链路的末尾;所述多路选择器1202的使能关闭端0置空;所述反相器链路的末尾则接至时钟采样阵列13。如此,每个环形振荡器电路的回路通过多个反相器1201和多路选择器1202构成。由于多路选择器1202多个选择端1、2、和3分别连接至所述反相器链路的不同位置,从而使得多路选择器1202可以根据配置选择电路11发送的长度控制信息控制接通某一个选择端,继而控制多个环形振荡器电路的长度。又由于多路选择器1202的使能关闭端0置空,即,多路选择器选择使能关闭端0时,相应的环形振荡器电路被断开,从而可以根据配置选择电路11发送的数量控制信息,调整多个环形振荡器电路的开启数量。
由多个反相器1201串接所构成的反相器链路的末尾则接至时钟采样阵列13。而配置选择电路11则可发送时钟控制信息以调整采样时钟Fs,时钟采样阵列13中,与每个环形振荡器电路对应的触发器,根据采样时钟Fs进行采样。
在一些实施方式中,真随机数发生器还包括后处理电路,用于对输出的所述随机数序列进行后处理。后处理的方式包括:奇偶校验、冯-诺伊曼矫正、异或链、哈希函数、傅里叶变换、移位寄存器中的一种或多种
通过本发明实施例,多个环形振荡器电路以阵列方式排布,且能够通过随机数统计分析电路15分析随机数序列并反馈分析结论至配置选择电路11;配置选择电路11根据随机数统计分析电路15的分析结论,发送控制信息调整真随机数发生器的配置;而控制信息可以包括时钟控制信息、长度控制信息及数量控制信息中的至少一种,来达成对采样时钟Fs控制以及对环形振荡器阵列中环形振荡器数量或长度的控制,从而达到自适应调整熵,继而自动调整随机数序列质量,生成高质量的随机数序列,效率高;且由于可对环形振荡器的长度实现自适应调整控制,也避免了部分环形振荡器互锁情况的发生,不必将环形振荡器分散布置,不增加后端布局布线难度。
请参阅图3,为本发明实施例公开的一种真随机数发生方法的实施例示意图。
本实施例中,真随机数发生方法应用于前述实施例所描述的真随机数发生器。包括步骤:S301、采样,通过时钟采样阵列,根据采样时钟分别对环形振荡器电路阵列中,至少两个环形振荡器电路的信号进行采样;S302、异或运算,通过异或电路将所述采样结果进行异或运算产生随机数序列;S303、统计分析,通过随机数统计分析电路统计分析所述随机数序列是否符合预设要求,并反馈分析结论至所述配置选择电路;所述分析结论包含随机数序列质量信息;若符合,则执行步骤S304、输出所述随机数序列;若不符合,则执行步骤S305、通过配置选择电路发送控制信息以调整所述真随机数发生器的配置;并重复执行所述步骤S301、S302和S303,直至随机数序列符合预设要求而输出。
其中,调整方式包括以下至少一种:调整所述多个环形振荡器电路的开启数量;调整所述多个环形振荡器电路的长度;以及,调整所述采样时钟。
请同时参照图1、图2、和图3。
具体的,通过配置选择电路11发送控制信息调整所述多个环形振荡器电路的开启数量,具体为:发送数量控制信息至所述多路选择器1202的控制端EN,以控制所述多路选择器1202选择使能关闭端0,从而断开环形振荡器电路;或,控制所述多路选择器选择任一选择端而维持环形振荡器电路的开启。
通过配置选择电路11发送控制信息调整所述多个环形振荡器电路的长度,具体为:发送长度控制信息至所述多路选择器1202的控制端EN,以控制所述多路选择器选择多个选择端1、2、3的其中一个,连通所述反相器链路的相应位置,从而调整所述多个环形振荡器电路的长度。
通过配置选择电路11发送控制信息调整所述采样时钟Fs,具体为:发送新的时钟信号至所述触发器的时钟输入端CLK,替代原有的采样时钟。
在具体实现中,实施例还包括后处理的步骤,对输出的所述随机数序列以预设方式进行后处理;所述预设方式包括:奇偶校验、冯-诺伊曼矫正、异或链、哈希函数、傅里叶变换、移位寄存器中的一种或多种。
由于前述实施例对真随机数发生器的描述已经涉及到本发明实施例的方法实施例的主要步骤,可以理解本方法实施例的主要步骤适用于前述实施例的真随机数发生器,因此不再多加赘述。
以下进一步说明本发明实施例中,配置选择电路11和随机数统计分析电路15的工作方式。
在本发明实施例中,引入熵等级的概念,随机数统计分析电路15的统计分析结果不通过,即随机数序列不符合预设要求,则通过配置选择电路11提高一个熵等级。而熵等级分为三大类:采样时钟频率,开启环形振荡器电路的数量,以及环形振荡器电路的长度配置。其中,时钟频率分频倍数越高,则熵等级越高;环形振荡器电路开启数量越多,熵等级越高;环形振荡器电路的长度越长,熵等级越高。
对于配置选择电路11,一些实施方式中,在初始阶段,可配置为较低的熵等级,根据随机数统计分析电路15的统计分析结果,若统计分析结果通过,则保持当前配置;若不通过,则逐个提高熵等级,例如,首先逐次提高环形振荡器电路的长度,每次提高长度为提升一个熵等级;当环形振荡器电路的长度已提高至最长,统计分析结果仍不通过,则增多开启环形振荡器电路的数量,每增多一个环形振荡器电路的开启,为提升一个熵等级;当开启环形振荡器电路的数量达到最多,统计分析结果仍不通过,则逐步提升采样时钟频率的分频倍数,每提升一次采样时钟频率的分频倍数,则为提升一个熵等级。依此类推,直至统计分析结果通过,则维持通过时的配置。
需要说明的是,提高环形振荡器电路的长度,增多开启环形振荡器电路的数量,提升采样时钟频率的分频倍数这三种方式的执行顺序并非一成不变,可以根据实际需要调整具体实施时的顺序。
对于随机数统计分析电路15,在一些实施方式中,统计分析方式使用频数测试和扑克测试两种测试,采用256WORD为一个样本量。在频数测试中,1的数量在这256WORD的样本中为4014至4018之间,则为单项通过;在扑克测试中,以4bit为一个十六进制数,在这256WORD的样本中,每种排列情况出现在96至160次之间,则为单项通过;在同一统计分析测试中,频数测试和扑克测试有任一项不通过,则该次统计分析测试不通过。
在配置选择电路11的同一配置下,进行三次统计分析测试,若三次中不通过为1次以上,即随机数序列质量不达预设标准,不能满足预设要求,反馈分析结论至配置选择电路11,以提升熵等级。
通过随机数统计分析电路15重复以上统计分析并反馈的步骤,以及配置选择电路11重复以上提升熵等级的步骤。
若在配置选择电路11的某一配置下,进行的三次统计分析,失败次数在1次以内,则对该配置进行进一步的大量验证,即,进行64次统计分析的测试,若这64次中共计失败6次以上,则说明随机数序列质量不达预设标准,不能满足预设要求,需通过配置选择电路11继续提升熵等级。这种情况下,为保证随机数序列尽可能满足随机数统计分析电路15的统计分析测试,通过配置选择电路11每次提升两个熵等级。
以上对次数的说明,和每次提升熵等级数量的说明仅为举例,并非本发明实施例的限制。
通过本发明实施例,多个环形振荡器电路以阵列方式排布,且能够通过随机数统计分析电路15分析随机数序列并反馈分析结论至配置选择电路11;配置选择电路11根据随机数统计分析电路15的分析结论,发送控制信息调整真随机数发生器的配置;而控制信息可以包括时钟控制信息、长度控制信息及数量控制信息中的至少一种,来达成对采样时钟Fs控制以及对环形振荡器阵列中环形振荡器数量或长度的控制,从而达到自适应调整熵等级,继而自动调整随机数序列质量,生成高质量的随机数序列,效率高;且由于可对环形振荡器的长度实现自适应调整控制,也避免了部分环形振荡器互锁情况的发生,不必将环形振荡器分散布置,不增加后端布局布线难度。
另外,由于当随机数序列符合预设要求后,即维持当前配置而不再提高熵等级,在保证了随机数序列的质量的情况下,还达成了真随机数发生器功耗的最小化。
本领域普通技术人员可以理解上述实施例的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于芯片或I P模块的可读存储介质中。
本发明实施例的方法的步骤顺序可以根据实际需要进行调整、合并或删减,且顺序不作为限制;本发明实施例的真随机数发生器的各组件可以根据实际需要进行整合,进一步添加、划分或删减,均应属于本发明保护范围。
以上对本发明实施例公开的一种真随机数发生器和真随机数发生方法进行了详细的介绍,本文中应用了具体实例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,而不是对本发明的范围的限制。同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均可能会有改变之处,亦应属本发明保护范围。
Claims (11)
1.一种真随机数发生器,其特征在于,包括:依次连接的配置选择电路,环形振荡器电路阵列,时钟采样阵列,异或电路,随机数统计分析电路;所述随机数统计分析电路的反馈输出端与所述配置选择电路的输入端连接;其中,
所述环形振荡器电路阵列,包括多个环形振荡器电路;
所述时钟采样阵列,包括与所述多个环形振荡器电路所对应的多个触发器;所述多个触发器用于以根据采样时钟分别对多个环形振荡器电路的信号进行采样;所述采样时钟受所述配置选择电路控制;
所述异或电路,用于将所述时钟采样阵列的采样结果进行异或运算,并将运算产生的随机数序列发送至随机数统计分析电路;
所述随机数统计分析电路,用于分析所述随机数序列并反馈分析结论至配置选择电路;
所述配置选择电路,用于根据所述随机数统计分析电路的分析结论,发送控制信息调整所述真随机数发生器的配置。
2.根据权利要求1所述的真随机数发生器,其特征在于,所述分析结论,包含随机数序列质量信息;所述随机数统计分析电路还用于,若所述随机数序列质量信息符合预设要求,则输出所述随机数序列。
3.根据权利要求2所述的真随机数发生器,其特征在于,所述环形振荡器电路,包括:反相器链路和多路选择器;
所述反相器链路,包括串联连接的奇数个反相器;
所述多路选择器的控制端连接所述配置选择电路以接收所述配置选择电路的控制信息;所述多路选择器多个选择端分别连接至所述反相器链路的不同位置;所述多路选择器的输出端连接至所述反相器链路的末尾;所述多路选择器的使能关闭端置空;从而与所述反相器链路构成环形振荡器电路的回路。
4.根据权利要求3所述的真随机数发生器,其特征在于,所述配置选择电路,根据所述随机数统计分析电路的分析结论,发送控制信息调整所述真随机数发生器的配置,包括通过以下方式中的至少一种:
发送数量控制信息至所述环形振荡器电路阵列中的多路选择器,以控制所述多个环形振荡器电路的开启数量;
发送长度控制信息至所述环形振荡器电路阵列中的多路选择器,以控制所述多个环形振荡器电路的长度;
发送时钟控制信息至所述时钟采样阵列,以调整采样时钟。
5.根据权利要求2所述的真随机数发生器,其特征在于,还包括后处理电路,用于对输出的所述随机数序列进行后处理。
6.一种真随机数发生方法,应用于真随机数发生器,其特征在于,所述真随机数发生器包括依次连接的配置选择电路、环形振荡器电路阵列、时钟采样阵列、异或电路以及随机数统计分析电路;所述随机数统计分析电路的反馈输出端与所述配置选择电路的输入端连接;
所述方法包括:
采样,通过时钟采样阵列,根据采样时钟分别对环形振荡器电路阵列中,至少两个环形振荡器电路的信号进行采样;
异或运算,通过异或电路将所述采样结果进行异或运算产生随机数序列;
统计分析,通过随机数统计分析电路统计分析所述随机数序列是否符合预设要求,并反馈分析结论至所述配置选择电路;所述分析结论包含随机数序列质量信息;
若符合,则输出所述随机数序列;
若不符合,则通过配置选择电路发送控制信息以调整所述真随机数发生器的配置,并重复所述采样、异或运算和统计分析的步骤,直至所述随机数序列符合预设要求;
所述调整的方式包括以下至少一种:调整所述多个环形振荡器电路的开启数量;调整所述多个环形振荡器电路的长度;以及,调整所述采样时钟。
7.根据权利要求6所述的方法,其特征在于,所述环形振荡器电路,包括:由反相器链路和多路选择器所构成的环形振荡器电路的回路;其中,所述反相器链路由串联的奇数个反相器组成;所述多路选择器包括置空的使能关闭端,用于接收控制信息的控制端,和连接到所述反相器链路不同位置的多个选择端。
8.根据权利要求7所述的方法,其特征在于,所述调整所述多个环形振荡器电路的开启数量,具体为:发送数量控制信息至所述多路选择器的控制端,以控制所述多路选择器选择使能关闭端,从而断开环形振荡器电路;或,控制所述多路选择器选择任一选择端而维持环形振荡器电路的开启。
9.根据权利要求7所述方法,其特征在于,所述调整所述多个环形振荡器电路的长度,具体为:发送长度控制信息至所述多路选择器的控制端,以控制所述多路选择器选择多个选择端的其中一个,连通所述反相器链路的相应位置,从而调整所述多个环形振荡器电路的长度。
10.根据权利要求7所述的方法,其特征在于,所述时钟采样阵列,包括与所述多个环形振荡器电路所对应的多个触发器;所述多个触发器用于根据采样时钟分别对多个环形振荡器电路的信号进行采样;
调整所述采样时钟,具体为:发送新的时钟信号至所述触发器的时钟输入端,替代原有的采样时钟。
11.根据权利要求6所述的方法,其特征在于,还包括:
后处理,对输出的所述随机数序列以预设方式进行后处理;所述预设方式包括:奇偶校验、冯-诺伊曼矫正、异或链、哈希函数、傅里叶变换、移位寄存器中的一种或多种。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911153066.3A CN111008005A (zh) | 2019-11-22 | 2019-11-22 | 一种真随机数发生器和真随机数发生方法 |
PCT/CN2020/077067 WO2021098077A1 (zh) | 2019-11-22 | 2020-02-28 | 一种真随机数发生器和真随机数发生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911153066.3A CN111008005A (zh) | 2019-11-22 | 2019-11-22 | 一种真随机数发生器和真随机数发生方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008005A true CN111008005A (zh) | 2020-04-14 |
Family
ID=70113641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911153066.3A Pending CN111008005A (zh) | 2019-11-22 | 2019-11-22 | 一种真随机数发生器和真随机数发生方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111008005A (zh) |
WO (1) | WO2021098077A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338603A (zh) * | 2020-05-19 | 2020-06-26 | 深圳市汇顶科技股份有限公司 | 真随机数发生器及电子设备 |
CN111969981A (zh) * | 2020-10-21 | 2020-11-20 | 鹏城实验室 | 一种时钟产生电路和随机数产生电路 |
CN113377337A (zh) * | 2021-07-07 | 2021-09-10 | 山东方寸微电子科技有限公司 | 一种真随机数发生器及芯片 |
WO2022027325A1 (zh) * | 2020-08-05 | 2022-02-10 | 武汉飞思灵微电子技术有限公司 | 一种可重构随机数发生器及其实现方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004047425B4 (de) * | 2004-09-28 | 2007-06-21 | Micronas Gmbh | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
US9058228B2 (en) * | 2013-02-19 | 2015-06-16 | Raytheon Company | Random number generator for generating truly random numbers |
CN106293617B (zh) * | 2016-08-12 | 2018-11-09 | 上海坚芯电子科技有限公司 | 真随机数发生器 |
CN108664234A (zh) * | 2018-01-17 | 2018-10-16 | 北京智芯微电子科技有限公司 | 真随机数发生器 |
CN210955031U (zh) * | 2019-11-22 | 2020-07-07 | 深圳市纽创信安科技开发有限公司 | 一种真随机数发生器 |
-
2019
- 2019-11-22 CN CN201911153066.3A patent/CN111008005A/zh active Pending
-
2020
- 2020-02-28 WO PCT/CN2020/077067 patent/WO2021098077A1/zh active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338603A (zh) * | 2020-05-19 | 2020-06-26 | 深圳市汇顶科技股份有限公司 | 真随机数发生器及电子设备 |
WO2022027325A1 (zh) * | 2020-08-05 | 2022-02-10 | 武汉飞思灵微电子技术有限公司 | 一种可重构随机数发生器及其实现方法 |
CN111969981A (zh) * | 2020-10-21 | 2020-11-20 | 鹏城实验室 | 一种时钟产生电路和随机数产生电路 |
CN111969981B (zh) * | 2020-10-21 | 2021-01-12 | 鹏城实验室 | 一种时钟产生电路和随机数产生电路 |
CN113377337A (zh) * | 2021-07-07 | 2021-09-10 | 山东方寸微电子科技有限公司 | 一种真随机数发生器及芯片 |
Also Published As
Publication number | Publication date |
---|---|
WO2021098077A1 (zh) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111008005A (zh) | 一种真随机数发生器和真随机数发生方法 | |
US7702945B2 (en) | Semiconductor device and communication control method | |
JP6761934B1 (ja) | 検出および補正機能を備えた真の乱数の発生方法および装置 | |
WO2012095972A1 (ja) | ビット生成装置及びビット生成方法 | |
JPWO2005013546A1 (ja) | クロック乗換装置、及び試験装置 | |
US9013208B1 (en) | Method and apparatus for clocking | |
CN210955031U (zh) | 一种真随机数发生器 | |
JP2002289776A (ja) | 半導体装置 | |
Fujieda | On the feasibility of TERO-based true random number generator on Xilinx FPGAs | |
US10651836B1 (en) | Clock pulse generator | |
US6518788B2 (en) | Logic circuit design method and logic circuit | |
CN108471308B (zh) | 半导体装置以及数据同步方法 | |
US20110103511A1 (en) | Transmission apparatus, signal sending apparatus, and signal receiving apparatus, and transmission method, signal sending method, and signal receiving method | |
US7222277B2 (en) | Test output compaction using response shaper | |
US7558998B2 (en) | Semiconductor apparatus and clock generation unit | |
Sakare | A power and area efficient architecture of a PRBS generator with multiple outputs | |
US5987083A (en) | Signal transmission apparatus with a plurality of LSIS | |
US20050036577A1 (en) | Systems for synchronizing resets in multi-clock frequency applications | |
US10868552B2 (en) | Frequency divider circuit, demultiplexer circuit, and semiconductor integrated circuit | |
US11437985B1 (en) | Duty cycle correction circuit | |
JP6697776B2 (ja) | 固有情報生成装置 | |
US10739813B1 (en) | Glitch free clock switching circuit | |
US8234321B2 (en) | Generation of a high-rate random bit flow | |
US20240142519A1 (en) | Semiconductor device and method of scan test for thereof | |
US8386863B2 (en) | Scanning-capable latch device, scan chain device, and scanning method with latch circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |