CN109683852A - 一种真随机数发生器 - Google Patents
一种真随机数发生器 Download PDFInfo
- Publication number
- CN109683852A CN109683852A CN201811579958.5A CN201811579958A CN109683852A CN 109683852 A CN109683852 A CN 109683852A CN 201811579958 A CN201811579958 A CN 201811579958A CN 109683852 A CN109683852 A CN 109683852A
- Authority
- CN
- China
- Prior art keywords
- random number
- type flip
- input
- flip flop
- output
- 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.)
- Granted
Links
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)
- Manipulation Of Pulses (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种真随机数发生器,该发生器包括高频信号生成电路、低频采样时钟生成电路、计数器、n bits采样触发器、n输入异或门和单bit采样触发器。本发明的真随机数发生器,在振荡器采样原理随机数发生器中,引入了特定的采样电路,能够有效提高输出随机数序列的随机性和纠正“0”、“1”偏差,结构简单,可靠性高。
Description
技术领域
本发明涉及信息安全领域,具体涉及一种以振荡采样为基本工作原理,采用了特定采样电路的真随机数发生器,整体电路采用数字电路设计,稳定可靠,可应用于各种信息安全领域的加密系统中,用于产生可靠的真随机数序列。
背景技术
随着通信、电子信息、计算机互联网等领域的飞速发展,信息交流越来越频繁和紧密,信息安全问题越来越受到人们的关注。随机数在智能卡,特别是密码学领域有着广泛应用,是密码系统硬件实现的重要组成部分。无论是在非对称算法中的公钥和私钥,还是在对称算法中的密钥,都需要用到随机数。随机数的性能直接影响到安全芯片的安全性和可靠性。因此在加密领域,产生性能高的真随机数序列来保证信息安全是必须的。
图1为传统的振荡器采样原理真随机数发生器电路图,该电路包括高频振荡器110、低频振荡器120和采样D触发器130,高频振荡器110输出高频时钟信号输入采样D触发器的D端,低频振荡器120输出低频时钟信号输入采样D触发器的CK端,采样D触发器130完成低频时钟信号对高频时钟信号的采样输出二进制随机数序列。输出的二进制随机数序列的随机性主要由高频时钟信号和低频时钟信号的相位抖动决定,其中高频时钟信号的占空比直接决定了输出随机数的“0”、“1”分布,在实际设计中,由于高频时钟信号通常会随着工艺偏差而偏差,很难保证占空比为50%,导致采样产生的随机序列0和1的数量会不等,序列的相关性增大。
传统的振荡器采样原理真随机数发生器电路,单个源随机性主要由振荡器的相位抖动决定,抖动越大随机性越好,参考专利CN 104598198 B通过在低频振荡器的基础上引入噪声加扰电路,提高了低频振荡器的相位抖动进而提高了输出随机数序列的随机性,但由于高频信号占空比偏差,输出随机数的“0”、“1”分布无法得到改善。
现有的振荡器采样原理真随机数发生器电路中,通常需要提高随机性和纠正“0”、“1”偏差,参考专利CN 103150138B中,通过n个副振荡器采样电路产生n bits随机数,nbits随机数再控制主振荡器采样电路中的低频时钟,对低频时钟引入抖动,进而提高主振荡器采样电路输出随机数序列的随机性,通过引入伪随机序列与其异或实现输出随机数序列“0”、“1”偏差的纠正。该电路需要多个副振荡器采样电路和多个主振荡器采样电路。
发明内容
本发明要解决的技术问题是:针对现有技术存在的问题,本发明提供一种真随机数发生器,在振荡器采样原理随机数发生器中,引入了特定的采样电路,能够有效提高输出随机数序列的随机性和纠正“0”、“1”偏差。
本发明提供的一种真随机数发生器,该发生器包括高频信号生成电路、低频采样时钟生成电路、计数器、n bits采样触发器、n输入异或门和单bit采样触发器,n为大于1的正整数;
高频信号生成电路用于产生高频时钟信号,其输出端连接计数器的时钟输入端;计数器依据输入时钟信号,对时钟进行计数,输出n bits信号连接n bits采样触发器的D输入端;低频采样时钟生成电路用于产生低频时钟信号,其输出与n bits采样触发器的时钟CK输入端以及单bit采样触发器的时钟CK输入端相连;n bits采样触发器的输出端连接n输入异或门的输入端,也作为多位种子输出;n输入异或门的输出连接单bit采样触发器的D输入端;单bit采样触发器输出最终的随机数序列。
进一步,计数器的位宽g满足条件A/B>2g,其中,A为高频信号生成电路的输出高频时钟信号频率,B为低频采样时钟生成电路的输出采样时钟频率。
进一步,n bits采样触发器输出多位种子信号,单bit采样触发器输出1位种子信号。
进一步,高频信号生成电路为由多级反相器形成的环形振荡器。
进一步,高频信号生成电路为由多级多输入异或门形成的混沌振荡器。
进一步,计数器包括g个D触发器1、2、…、g,每个D触发器的QN端与自己的D端相连并且作为输出,D触发器1的CK输入端接外部CLK时钟输入,Q端接D触发器2的CK输入端,依次的,D触发器g的CK输入端连接D触发器g-1的Q端。
进一步,计数器包括g个D触发器1、2、…、g和一个反馈逻辑,每个D触发器的CK端接外部CLK时钟输入,Q端作为输出同时连接到反馈逻辑,反馈逻辑的输出连接g个D触发器1、2、…、g的D输入端;计数器通过特定的反馈逻辑电路实现特定的计数方式。
进一步,所述计数方式为二进制码或格雷码计数方式。
进一步,n bits采样触发器内部的基本触发器单元为D触发器或T触发器。
进一步,单bit采样触发器内部的基本触发器单元为D触发器或T触发器。
本发明的随机数发生器采用经典的振荡器采样结构,通过采用新型的采样电路实现输出随机数序列的“0”、“1”均衡和随机性提高,现有的随机数发生器通常引入数字后处理电路或者其它方法改善输出随机数序列的性能;本发明提供的随机数发生器的采样电路均由数字电路实现,结构简单,可靠性高。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是现有的随机数发生器的示意图;
图2是本发明的随机数发生器的示意图;
图3是本发明实施例一的计数器结构的示意图;
图4是本发明实施例二的计数器结构的示意图;
图5是本发明实施例三的随机数发生器的电路图;
图6是本发明实施例四的随机数发生器的电路图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
图2是本发明的随机数发生器的示意图。该发生器包括高频信号生成电路210、低频采样时钟生成电路220、计数器230、n bits采样触发器240、n输入异或门250和单bit采样触发器260。
高频信号生成电路210用于产生高频时钟信号,其输出端连接计数器230的时钟输入端;计数器230依据输入时钟信号,对时钟进行计数,输出n bits信号连接n bits采样触发器240的输入端;低频采样时钟生成电路220用于产生低频时钟信号,其输出与n bits采样触发器240的时钟CK输入端以及单bit采样触发器260的时钟CK端相连;n bits采样触发器240的输出端连接n输入异或门250的输入端,也作为多位种子输出;n输入异或门250的输出连接单bit采样触发器260的D输入端;单bit采样触发器260输出最终的随机数序列。
在一些实施例中,高频信号生成电路210的输出高频时钟信号频率为A,低频采样时钟生成电路220的输出采样时钟频率为B,计数器230的位宽g满足条件A/B>2g。
在一些实施例中,n bits采样触发器240输出多位种子信号,单bit采样触发器260输出1位种子信号。
在一些实施例中,高频信号生成电路210为由多级反相器形成的环形振荡器。在其他一些实施例中,高频信号生成电路210为由多级多输入异或门形成的混沌振荡器。
实施例一
如图3所示,计数器230包括g个D触发器331、332…33g,每个D触发器的QN端与自己的D端相连并且作为输出,D触发器331的CK输入端接外部CLK时钟输入,Q端接D触发器332的CK输入端,依次的,D触发器33g的CK输入端连接33(g-1)的Q端。
实施例二
如图4所示,计数器230包括g个D触发器431、432…43g和反馈逻辑470,每个D触发器的CK端接外部CLK时钟输入,Q端作为输出同时连接到反馈逻辑470,反馈逻辑470的输出连接g个D触发器431、432…43g的D输入端。计数器230可以通过特定的反馈逻辑470电路实现二进制码、格雷码等计数方式。
优选地,n bits采样触发器240内部的基本触发器单元为D触发器或T触发器。
优选地,单bit采样触发器260内部的基本触发器单元为D触发器或T触发器。
实施例三
如图5所示,随机数发生器包括高频信号生成电路210、低频采样时钟生成电路220、计数器230、n bits采样D触发器240、n输入异或门250和单bit采样D触发器260。其中计数器230由g个D触发器531、532…53g构成,每个D触发器的QN端与自己的D端相连并且作为输出,D触发器531的CK输入端连接高频信号生成电路210,Q端接D触发器332的CK输入端,依次的,D触发器53g的CK输入端连接53(g-1)的Q端。n bits采样D触发器240由n个D触发器541、542…54n组成,D触发器541、542…54n的D输入端分别与D触发器531、532…53g的QN端相连(g=n),CK端连接低频采样时钟生成电路220输出时钟,Q端输出与n输入异或门250的输入相连并作为多位种子输出。n输入异或门250输出连接单bit采样D触发器260,单bit采样D触发器260的时钟CK端连接低频采样时钟生成电路220输出时钟,Q端输出随机数序列。
计数器230依据输入高频信号进行循环计数,这里假设计数器230为3bits结构,计数器输出随着输入高频信号从000…111均匀变化,各个数值出现的概率均为0.125。各个数字经过异或后的输出结果可以由表1表示:
表1
异或输入 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
概率 | 0.125 | 0.125 | 0.125 | 0.125 | 0.125 | 0.125 | 0.125 | 0.125 |
异或后值 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
由此可以推导出计数器输出通过3输入异或门后的随机数序列中“0”和“1”出现的概率相等,进而改善最终输出随机数序列的随机性。
实施例四
如图6所示,随机数发生器包括高频信号生成电路210、低频采样时钟生成电路220、计数器230、m bits采样触发器240、m输入异或门250和单bit采样D触发器260。构成。其中计数器230由g个D触发器631、632…63g和反馈逻辑670构成,每个D触发器的CK端接外部CLK时钟输入,Q端作为输出同时连接到反馈逻辑670,反馈逻辑670的输出连接g个D触发器631、632…63g的D输入端。通过设计反馈逻辑电路,计数器230可以实现二进制编码计数或者格雷码编码计数。m bits采样触发器240由m个触发器641、642…64m组成,其中m=g+1,触发器可以是D触发器也可以是T触发器,这里选择T触发器实现,T触发器641、642…64m的输入端D分别与高频信号生成电路210的输出、计数器230内部D触发器631、632…63g的Q端相连,CK端连接低频采样时钟生成电路220输出时钟,Q端输出与m输入异或门250的输入相连并作为多位种子输出。m输入异或门250输出连接单bit采样D触发器260,单bit采样D触发器260的时钟CK端连接低频采样时钟生成电路220输出时钟,Q端输出随机数序列。
当计数器230为2bits二进制计数结构时,计数器230依据输入高频信号进行循环计数,m输入异或门250为3输入异或门,计数器输出随着输入高频信号从00…11均匀变化,各个数值出现的概率均为0.25。由于m输入异或门引入了高频信号生成电路210的输出,高频时钟输出“0”、“1”存在一定偏差,假设高频时钟信号占空比为40%,即“1”的概率为0.4,“0”的概率为0.6,各个数字经过异或后的输出结果可以由表2表示:
表2
异或输入 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
概率 | 0.15 | 0.1 | 0.15 | 0.1 | 0.15 | 0.1 | 0.15 | 0.1 |
异或后值 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
由此可以推导出计数器输出通过3输入异或门后的随机数序列中“0”和“1”出现的概率相等,进而改善最终输出随机数序列的随机性。
当计数器230为2bits格雷码计数结构时,可以推导出计数器输出通过3输入异或门后的随机数序列中“0”和“1”出现的概率相等,进而改善最终输出随机数序列的随机性。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
Claims (10)
1.一种真随机数发生器,其特征在于,该发生器包括高频信号生成电路、低频采样时钟生成电路、计数器、n bits采样触发器、n输入异或门和单bit采样触发器,n为大于1的正整数;
高频信号生成电路用于产生高频时钟信号,其输出端连接计数器的时钟输入端;计数器依据输入时钟信号,对时钟进行计数,输出n bits信号连接n bits采样触发器的D输入端;低频采样时钟生成电路用于产生低频时钟信号,其输出与n bits采样触发器的时钟CK输入端以及单bit采样触发器的时钟CK输入端相连;n bits采样触发器的输出端连接n输入异或门的输入端,也作为多位种子输出;n输入异或门的输出连接单bit采样触发器的D输入端;单bit采样触发器输出最终的随机数序列。
2.根据权利要求1所述的一种真随机数发生器,其特征在于,计数器的位宽g满足条件A/B>2g,其中,A为高频信号生成电路的输出高频时钟信号频率,B为低频采样时钟生成电路的输出采样时钟频率。
3.根据权利要求1所述的一种真随机数发生器,其特征在于,n bits采样触发器输出多位种子信号,单bit采样触发器输出1位种子信号。
4.根据权利要求1所述的一种真随机数发生器,其特征在于,高频信号生成电路为由多级反相器形成的环形振荡器。
5.根据权利要求1所述的一种真随机数发生器,其特征在于,高频信号生成电路为由多级多输入异或门形成的混沌振荡器。
6.根据权利要求1所述的一种真随机数发生器,其特征在于,计数器包括g个D触发器1、2、…、g,每个D触发器的QN端与自己的D端相连并且作为输出,D触发器1的CK输入端接外部CLK时钟输入,Q端接D触发器2的CK输入端,依次的,D触发器g的CK输入端连接D触发器g-1的Q端。
7.根据权利要求1所述的一种真随机数发生器,其特征在于,计数器包括g个D触发器1、2、…、g和一个反馈逻辑,每个D触发器的CK端接外部CLK时钟输入,Q端作为输出同时连接到反馈逻辑,反馈逻辑的输出连接g个D触发器1、2、…、g的D输入端;计数器通过特定的反馈逻辑电路实现特定的计数方式。
8.根据权利要求7所述的一种真随机数发生器,其特征在于,所述计数方式为二进制码或格雷码计数方式。
9.根据权利要求1所述的一种真随机数发生器,其特征在于,n bits采样触发器内部的基本触发器单元为D触发器或T触发器。
10.根据权利要求1所述的一种真随机数发生器,其特征在于,单bit采样触发器内部的基本触发器单元为D触发器或T触发器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579958.5A CN109683852B (zh) | 2018-12-24 | 2018-12-24 | 一种真随机数发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579958.5A CN109683852B (zh) | 2018-12-24 | 2018-12-24 | 一种真随机数发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683852A true CN109683852A (zh) | 2019-04-26 |
CN109683852B CN109683852B (zh) | 2021-04-16 |
Family
ID=66188780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811579958.5A Active CN109683852B (zh) | 2018-12-24 | 2018-12-24 | 一种真随机数发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683852B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782179A (zh) * | 2020-06-05 | 2020-10-16 | 上海赛昉科技有限公司 | 一种真随机数发生器 |
CN112199074A (zh) * | 2020-10-10 | 2021-01-08 | 安徽大学 | 一种真随机数发生电路及其真随机数发生芯片 |
WO2021232255A1 (zh) * | 2020-05-19 | 2021-11-25 | 深圳市汇顶科技股份有限公司 | 真随机数发生器及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752924A (zh) * | 2005-08-18 | 2006-03-29 | 上海微科集成电路有限公司 | 基于振荡器的真随机数发生器 |
CN101957741A (zh) * | 2010-10-18 | 2011-01-26 | 东南大学 | 一种基于亚阈值特性的真随机数发生器 |
CN102736890A (zh) * | 2011-04-15 | 2012-10-17 | 深圳市证通电子股份有限公司 | 基于开环结构的高速随机数发生器 |
CN103150138A (zh) * | 2013-03-29 | 2013-06-12 | 成都三零嘉微电子有限公司 | 一种基于数字电路的真随机数发生器 |
US20130346459A1 (en) * | 2012-06-20 | 2013-12-26 | Robert Bosch Gmbh | Method for generating random numbers |
US20140289451A1 (en) * | 2013-03-20 | 2014-09-25 | Phison Electronics Corp. | Method of recording mapping information, and memory controller and memory storage apparatus using the same |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
-
2018
- 2018-12-24 CN CN201811579958.5A patent/CN109683852B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752924A (zh) * | 2005-08-18 | 2006-03-29 | 上海微科集成电路有限公司 | 基于振荡器的真随机数发生器 |
CN101957741A (zh) * | 2010-10-18 | 2011-01-26 | 东南大学 | 一种基于亚阈值特性的真随机数发生器 |
CN102736890A (zh) * | 2011-04-15 | 2012-10-17 | 深圳市证通电子股份有限公司 | 基于开环结构的高速随机数发生器 |
US20130346459A1 (en) * | 2012-06-20 | 2013-12-26 | Robert Bosch Gmbh | Method for generating random numbers |
US20140289451A1 (en) * | 2013-03-20 | 2014-09-25 | Phison Electronics Corp. | Method of recording mapping information, and memory controller and memory storage apparatus using the same |
CN103150138A (zh) * | 2013-03-29 | 2013-06-12 | 成都三零嘉微电子有限公司 | 一种基于数字电路的真随机数发生器 |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021232255A1 (zh) * | 2020-05-19 | 2021-11-25 | 深圳市汇顶科技股份有限公司 | 真随机数发生器及电子设备 |
CN111782179A (zh) * | 2020-06-05 | 2020-10-16 | 上海赛昉科技有限公司 | 一种真随机数发生器 |
CN111782179B (zh) * | 2020-06-05 | 2023-09-01 | 上海赛昉科技有限公司 | 一种真随机数发生器 |
CN112199074A (zh) * | 2020-10-10 | 2021-01-08 | 安徽大学 | 一种真随机数发生电路及其真随机数发生芯片 |
CN112199074B (zh) * | 2020-10-10 | 2022-10-25 | 安徽大学 | 一种真随机数发生电路及其真随机数发生芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN109683852B (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Johnston | Random number generators—principles and practices: a guide for engineers and programmers | |
Yu et al. | A survey on true random number generators based on chaos | |
KR100847213B1 (ko) | 난수 생성 방법 및 난수 생성기 | |
Konigsmark et al. | CNPUF: A carbon nanotube-based physically unclonable function for secure low-energy hardware design | |
JP3696209B2 (ja) | シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器 | |
KR101987141B1 (ko) | 난수 발생기 | |
JP5831202B2 (ja) | 個体別情報生成装置及び個体別情報生成方法 | |
CN109683852A (zh) | 一种真随机数发生器 | |
CN103019648A (zh) | 一种带有数字后处理电路的真随机数发生器 | |
CN108509180A (zh) | 一种基于二输入异或门低功耗随机数产生装置 | |
CN107479857A (zh) | 随机数产生及后处理电路 | |
Yao et al. | M-RO PUF: a portable pure digital RO PUF based on MUX Unit | |
AVAROĞLU et al. | A novel S-box-based postprocessing method for true random number generation | |
CN208888796U (zh) | 一种真随机数发生器 | |
Lu et al. | High-efficiency TRNG design based on multi-bit dual-ring oscillator | |
Yang | True random number generators for FPGAs | |
US7139397B2 (en) | Hybrid architecture for realizing a random numbers generator | |
Garipcan et al. | Implementation of a digital TRNG using jitter based multiple entropy source on FPGA | |
Cao et al. | A new reconfigurable true random number generator and physical unclonable function unified chip with on-chip auto-calibration | |
Kamel et al. | Learning with physical noise or errors | |
CN111782179B (zh) | 一种真随机数发生器 | |
Goncu et al. | A design of cellular automata‐based PUF and its implementation on FPGA | |
CN114614987B (zh) | 一种集成电路及其数字指纹生成电路、方法 | |
Ganor et al. | Space pseudorandom generators by communication complexity lower bounds | |
US20210224041A1 (en) | Random number generator, random number generating circuit, and random number generating method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |