CN109683852B - 一种真随机数发生器 - Google Patents

一种真随机数发生器 Download PDF

Info

Publication number
CN109683852B
CN109683852B CN201811579958.5A CN201811579958A CN109683852B CN 109683852 B CN109683852 B CN 109683852B CN 201811579958 A CN201811579958 A CN 201811579958A CN 109683852 B CN109683852 B CN 109683852B
Authority
CN
China
Prior art keywords
flip
bit
output
input
frequency
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.)
Active
Application number
CN201811579958.5A
Other languages
English (en)
Other versions
CN109683852A (zh
Inventor
冯纯益
朱翔
胡杨川
范伟力
廖乾兰
程福军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu 30javee Microelectronics Co ltd
Original Assignee
Chengdu 30javee Microelectronics Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu 30javee Microelectronics Co ltd filed Critical Chengdu 30javee Microelectronics Co ltd
Priority to CN201811579958.5A priority Critical patent/CN109683852B/zh
Publication of CN109683852A publication Critical patent/CN109683852A/zh
Application granted granted Critical
Publication of CN109683852B publication Critical patent/CN109683852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random 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 (9)

1.一种真随机数发生器,其特征在于,该发生器包括高频信号生成电路、低频采样时钟生成电路、计数器、n bits采样触发器、n输入异或门和单bit采样触发器,n为大于1的正整数;
高频信号生成电路用于产生高频时钟信号,其输出端连接计数器的时钟输入端;计数器依据输入时钟信号,对时钟进行计数,输出n bits信号连接n bits采样触发器的D输入端;低频采样时钟生成电路用于产生低频时钟信号,其输出与n bits采样触发器的时钟CK输入端以及单bit采样触发器的时钟CK输入端相连;n bits采样触发器的输出端连接n输入异或门的输入端,也作为多位种子输出;n输入异或门的输出连接单bit采样触发器的D输入端;单bit采样触发器作为1位种子的输出;n bits采样触发器输出多位种子信号,单bit采样触发器输出1位种子信号,多位种子信号和1位种子信号进行后续处理后输出随机序列。
2.根据权利要求1所述的一种真随机数发生器,其特征在于,计数器的位宽g满足条件A/B>2g,其中,A为高频信号生成电路的输出高频时钟信号频率,B为低频采样时钟生成电路的输出采样时钟频率。
3.根据权利要求1所述的一种真随机数发生器,其特征在于,高频信号生成电路为由多级反相器形成的环形振荡器。
4.根据权利要求1所述的一种真随机数发生器,其特征在于,高频信号生成电路为由多级多输入异或门形成的混沌振荡器。
5.根据权利要求1所述的一种真随机数发生器,其特征在于,计数器包括g个D触发器1、2、…、g,每个D触发器的QN端与自己的D端相连并且作为输出,D触发器1的CK输入端接外部CLK时钟输入,Q端接D触发器2的CK输入端,依次的,D触发器g的CK输入端连接D触发器g-1的Q端。
6.根据权利要求1所述的一种真随机数发生器,其特征在于,计数器包括g个D触发器1、2、…、g和一个反馈逻辑,每个D触发器的CK端接外部CLK时钟输入,Q端作为输出同时连接到反馈逻辑,反馈逻辑的输出连接g个D触发器1、2、…、g的D输入端;计数器通过特定的反馈逻辑电路实现特定的计数方式。
7.根据权利要求6所述的一种真随机数发生器,其特征在于,所述计数方式为二进制码或格雷码计数方式。
8.根据权利要求1所述的一种真随机数发生器,其特征在于,n bits采样触发器内部的基本触发器单元为D触发器或T触发器。
9.根据权利要求1所述的一种真随机数发生器,其特征在于,单bit采样触发器内部的基本触发器单元为D触发器或T触发器。
CN201811579958.5A 2018-12-24 2018-12-24 一种真随机数发生器 Active CN109683852B (zh)

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 CN109683852A (zh) 2019-04-26
CN109683852B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021232255A1 (zh) * 2020-05-19 2021-11-25 深圳市汇顶科技股份有限公司 真随机数发生器及电子设备
CN111782179B (zh) * 2020-06-05 2023-09-01 上海赛昉科技有限公司 一种真随机数发生器
CN112199074B (zh) * 2020-10-10 2022-10-25 安徽大学 一种真随机数发生电路及其真随机数发生芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957741A (zh) * 2010-10-18 2011-01-26 东南大学 一种基于亚阈值特性的真随机数发生器
CN103150138A (zh) * 2013-03-29 2013-06-12 成都三零嘉微电子有限公司 一种基于数字电路的真随机数发生器
US20130346459A1 (en) * 2012-06-20 2013-12-26 Robert Bosch Gmbh Method for generating random numbers
CN105867877A (zh) * 2016-03-25 2016-08-17 中国科学技术大学 一种基于fpga的真随机数发生器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1752924A (zh) * 2005-08-18 2006-03-29 上海微科集成电路有限公司 基于振荡器的真随机数发生器
CN102736890A (zh) * 2011-04-15 2012-10-17 深圳市证通电子股份有限公司 基于开环结构的高速随机数发生器
TWI506430B (zh) * 2013-03-20 2015-11-01 Phison Electronics Corp 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957741A (zh) * 2010-10-18 2011-01-26 东南大学 一种基于亚阈值特性的真随机数发生器
US20130346459A1 (en) * 2012-06-20 2013-12-26 Robert Bosch Gmbh Method for generating random numbers
CN103150138A (zh) * 2013-03-29 2013-06-12 成都三零嘉微电子有限公司 一种基于数字电路的真随机数发生器
CN105867877A (zh) * 2016-03-25 2016-08-17 中国科学技术大学 一种基于fpga的真随机数发生器

Also Published As

Publication number Publication date
CN109683852A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN109683852B (zh) 一种真随机数发生器
Johnston Random number generators—principles and practices: a guide for engineers and programmers
JP3696209B2 (ja) シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
TWI758688B (zh) 隨機數產生器
KR101987141B1 (ko) 난수 발생기
CN101957741A (zh) 一种基于亚阈值特性的真随机数发生器
CN114968179A (zh) 一种基于时钟抖动和亚稳态的真随机数产生电路
WO2020014993A1 (zh) 基于fpga的并行伪随机序列发生器设计方法
CN108763977B (zh) 一种钳位反相器puf的电路、电子装置及实现方法
CN107479857A (zh) 随机数产生及后处理电路
CN110750233B (zh) 一种基于逻辑门非对称自治布尔网络的随机数发生器
CN115758951A (zh) 一种基于多回路布尔振荡环的数字熵源集成电路
Lin et al. A review of deterministic approaches to stochastic computing
US20210224041A1 (en) Random number generator, random number generating circuit, and random number generating method
Ma et al. A pseudo-random sequence generation scheme based on RNS and permutation polynomials
CN114614987B (zh) 一种集成电路及其数字指纹生成电路、方法
Kim et al. Reliable and lightweight PUF-based key generation using various index voting architecture
Koshiba et al. A tradeoff paradigm shift in cryptographically-secure pseudorandom number generation based on discrete logarithm
US9116764B2 (en) Balanced pseudo-random binary sequence generator
Ghafari et al. Necessary conditions for designing secure stream ciphers with the minimal internal states
Peng et al. A side-channel attack resistant AES with 500mbps, 1.92 pj/bit PVT variation tolerant true random number generator
Mihaljev'c Security examination of a cellular automata based pseudorandom bit generator using an algebraic replica approach
CN111782179A (zh) 一种真随机数发生器
Hu et al. Toward practical code-based signature: Implementing fast and compact QC-LDGM signature scheme on embedded hardware
Ramasamy et al. A modified PRBS: vertical stacked LFSR primitive polynomial for secure data communication

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