CN111782179B - 一种真随机数发生器 - Google Patents
一种真随机数发生器 Download PDFInfo
- Publication number
- CN111782179B CN111782179B CN202010504175.1A CN202010504175A CN111782179B CN 111782179 B CN111782179 B CN 111782179B CN 202010504175 A CN202010504175 A CN 202010504175A CN 111782179 B CN111782179 B CN 111782179B
- Authority
- CN
- China
- Prior art keywords
- circuit
- control signal
- random number
- clock
- true random
- 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
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)
Abstract
本发明涉及信息安全芯片技术领域,具体涉及一种真随机数发生器,包括数字控制电路,所述数字控制电路产生控制信号并输出至高频振荡器;所述高频振荡器输出高频时钟信号至采样电路的数据输入端;所述采样电路的输出数据信号连接后处理电路的输入端,其输出数据为熵源种子信号;所述后处理电路输出真随机数序列信号;本发明的真随机数发生器电路只包括MOS管器件,可以在标准CMOS工艺下实现,并且可以采用标准逻辑单元设计实现,可以采用全数字电路设计流程进行设计,将真随机数电路和芯片其它逻辑电路整体设计,有效提高电路的安全性。
Description
技术领域
本发明涉及信息安全芯片技术领域,具体涉及一种真随机数发生器。
背景技术
随着通信、电子信息、计算机互联网等领域的飞速发展,信息交流越来越频繁和紧密,信息安全问题越来越受到人们的关注。安全芯片在信息社会的各个领域中应用广泛,其主要功能包括对用户关键数据的安全存储、加密、解密以及身份识别等。随机数在智能卡,特别是密码学领域有着广泛应用,是密码系统硬件实现的重要组成部分。现有的密码系统大多是利用特定的随机数算法和种子,通过软件运算产生的随机数序列。因此在加密领域,产生性能高的真随机数序列来保证信息安全是必须的。
图1为传统的振荡器采样原理随机数发生器电路,电路包括采样电路110,高频振荡器电路120和后处理电路130。高频振荡器电路120产生的高频时钟输入采样电路110的数据输入端,采样电路110通过外部时钟信号CLK对高频时钟信号进行采样输出二进制随机数序列,采样电路110输出的二进制随机数种子序列输出后处理电路130的数据输入端,后处理电路对随机数种子序列处理后产生最终输出的随机数序列,用于密码系统使用。这种随机数产生电路的性能主要由高频振荡器的频率、相位抖动决定。
随机数种子序列的性能直接影响密码系统的安全性,针对振荡器采样原理的随机数发生器,在专利CN 103034472B中提出了一种采样变频时钟的结构,通过设计符合均匀分布的变频时钟电路,使高频振荡器的相位抖动满足均匀分布,进而提高输出种子序列的随机性。电路通过将电阻的热噪声转换为噪声电压信号,通过噪声电压信号控制压控振荡器产生符合均匀分布的高频时钟信号。在专利CN 109783061A中,电路通过引入热噪声控制压控振荡器产生时钟信号,时钟信号对高频信号采样输出随机数序列,电路通过将电阻的热噪声转换为噪声电压信号,通过噪声电压信号控制压控振荡器产生符合均匀分布的采样时钟信号。由于器件寄生电容,噪声放大器的带宽会限制电路输出随机数序列的速率。
发明内容
针对现有技术的不足,本发明公开了一种真随机数发生器,用于解决现有的密码系统大多是利用特定的随机数算法和种子,通过软件运算产生的随机数序列;不能通过全数字设计流程实现,以为SOC芯片提供随机数序列的问题。
本发明通过以下技术方案予以实现:
本发明公开一种真随机数发生器,包括数字控制电路,所述数字控制电路产生控制信号并输出至高频振荡器;所述高频振荡器输出高频时钟信号至采样电路的数据输入端;所述采样电路的输出数据信号连接后处理电路的输入端,其输出数据为熵源种子信号;所述后处理电路输出真随机数序列信号。
更进一步的,所述采样电路和后处理电路的时钟输入端均连接CLK时钟信号。
更进一步的,所述数字控制电路由环形振荡器和控制信号生成电路组成;所述环形振荡器产生时钟信号为控制信号生成电路提供时钟,所述控制信号生成电路依据时钟和电路本身结构产生n位控制信号输出,其中n为自然数。
更进一步的,所述控制信号生成电路将产生的n位控制信号输出至高频振荡器,所述高频振荡器依据输入n位控制信号产生不同的频率输出。
更进一步的,所述控制信号生成电路产生的n位控制信号为伪随机数。
更进一步的,所述采样电路为D触发器结构或T触发器结构。
更进一步的,所述数字控制电路产生的控制信号速率大于采样电路的输入时钟频率。
更进一步的,所述高频振荡器为环形振荡器结构,其产生的高频时钟信号的相位抖动满足均匀分布。
更进一步的,所述高频振荡器的电路由环形振荡器电路和多路选择器组成;
所述环形振荡器由反相器和延迟单元组成;
所述反相器的输出端连接延迟单元的输入端;
所述延迟单元的输出端连接延迟单元的输入端和多路选择器的输入端,依次的延迟单元的输出端连接多路选择器的输入端;
所述多路选择器的输出端连接反相器的输入端,所述多路选择器依据控制信号选择右侧信号连通到输出,由此改变环形振荡器环路的时间常数,实现不同频率的时钟输出。
本发明的有益效果为:
本发明的真随机数发生器电路只包括MOS管器件,可以在标准CMOS工艺下实现,并且可以采用标准逻辑单元设计实现,可以采用全数字电路设计流程进行设计,将真随机数电路和芯片其它逻辑电路整体设计,有效提高电路的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是真随机数发生器电路现有技术的示意图;
图2是本发明一种真随机数发生器电路的示意图;
图3是本发明一实施例提供的数字控制电路的电路图;
图4是本发明一实施例提供的高频振荡器电路的电路图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例公开一种真随机数发生器,包括数字控制电路,所述数字控制电路产生控制信号并输出至高频振荡器;所述高频振荡器输出高频时钟信号至采样电路的数据输入端;所述采样电路的输出数据信号连接后处理电路的输入端,其输出数据为熵源种子信号;所述后处理电路输出真随机数序列信号。
采样电路和后处理电路的时钟输入端均连接CLK时钟信号。数字控制电路由环形振荡器和控制信号生成电路组成;所述环形振荡器产生时钟信号为控制信号生成电路提供时钟,所述控制信号生成电路依据时钟和电路本身结构产生n位控制信号输出,其中n为自然数。
控制信号生成电路将产生的n位控制信号输出至高频振荡器,所述高频振荡器依据输入n位控制信号产生不同的频率输出。
述控制信号生成电路产生的n位控制信号为伪随机数。采样电路为D触发器结构或T触发器结构。数字控制电路产生的控制信号速率大于采样电路的输入时钟频率。高频振荡器为环形振荡器结构,其产生的高频时钟信号的相位抖动满足均匀分布。
高频振荡器的电路由环形振荡器电路和多路选择器组成;环形振荡器由反相器和延迟单元组成;反相器的输出端连接延迟单元的输入端;延迟单元的输出端连接延迟单元的输入端和多路选择器的输入端,依次的延迟单元的输出端连接多路选择器的输入端;多路选择器的输出端连接反相器的输入端,所述多路选择器依据控制信号选择右侧信号连通到输出,由此改变环形振荡器环路的时间常数,实现不同频率的时钟输出。
本实施例的真随机数发生器只包括MOS管器件,可以在标准CMOS工艺下实现,并且可以采用标准逻辑单元设计实现,可以采用全数字电路设计流程进行设计,将真随机数电路和芯片其它逻辑电路整体设计,有效提高电路的安全性。
实施例2
本实施例公开如图2所示的真随机数发生器电路图,电路由数字控制电路210,高频振荡器220,采样电路230和后处理电路240组成,其中数字控制电路210由环形振荡器211和控制信号生成电路212组成,环形振荡器211输出连接控制信号生成电路212,控制信号生成电路212输出n位控制信号。控制电路210输出连接高频振荡器220输入,高频振荡器输出连接采样电路230数据输入端,采样电路230输出连接后处理电路240输入并作为种子P输出,采样电路230和后处理电路240的时钟输入端连接时钟CLK,后处理电路240输出即为产生的真随机数。
其中高频振荡器220依据输入n位控制信号产生不通频率的时钟输出,具体包括2n种频率。
其中环形振荡器211产生的时钟信号频率高于时钟CLK,这样能够保证时钟CLK时钟周期之内高频振荡器的输出时钟至少有2个频率点。
时钟CLK通过采样电路230对高频振荡器220采样所产生的种子P包含了高频振荡器的相位随机抖动、数字控制信号的伪随机特性和数字控制信号变化时间的随机性。从而提高了电路的随机性。
实施例3
本实施例公开如图3所示的一种数字控制电路210,电路由环形振荡器310和线性反馈移位寄存器(LFSR)320组成,环形振荡器310由n个反相器组成(n为大于3的奇数),其中反相器311的输出连接反相器312的输入,反相器312的输出连接反相器313的输入,反相器31n的输出连接反相器311的输入并作为环形振荡器310的输出信号。线性反馈移位寄存器(LFSR)由移位寄存器320和反馈函数电路330组成,移位寄存器320由D触发器321、322…32g组成,D触发器321、322…32g的时钟端连接环形振荡器310时钟输出,D触发器321的Q输出端连接D触发器322的D输入端,依次的D触发器322的Q输出端连接323的D输入端,所有D触发器的Q输出端均连接到反馈函数电路330的输入端,反馈函数电路330通过运算后输出n位控制信号,并产生伪随机信号输入D触发器321的D输入端。
电路具体工作过程为,环形振荡器310起振后产生时钟信号,时钟信号输入移位寄存器320,使得移位寄存器的数据依据时钟信号依次向右移动,反馈函数电路330依据输入信号产生n位控制信号输出和伪随机信号输入D触发器321的D输入端。由此控制信号电路能够产生n位伪随机控制信号输出。
实施例4
本实施例公开如图4所示的一种高频振荡器电路220,电路由环形振荡器电路410和多路选择器420组成,环形振荡器410由反相器41a、延迟单元411、412、413…41n组成,反相器41a的输出端连接延迟单元411的输入端,延迟单元411的输出端连接延迟单元412的输入端和多路选择器420的输入端,延迟单元412的输出端连接延迟单元413的输入端和多路选择器420的输入端,依次的延迟单元41n的输出端连接多路选择器420的输入端,多路选择器420的输出端连接反相器41a的输入端。多路选择器420依据控制信号选择右侧信号连通到输出。由此改变环形振荡器环路的时间常数,从而实现不同频率的时钟输出。
综上本发明的真随机数发生器电路只包括MOS管器件,可以在标准CMOS工艺下实现,并且可以采用标准逻辑单元设计实现,可以采用全数字电路设计流程进行设计,将真随机数电路和芯片其它逻辑电路整体设计,有效提高电路的安全性。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种真随机数发生器,其特征在于,包括数字控制电路,所述数字控制电路产生控制信号并输出至高频振荡器;所述高频振荡器输出高频时钟信号至采样电路的数据输入端;所述采样电路的输出数据信号连接后处理电路的输入端,其输出数据为熵源种子信号;所述后处理电路输出真随机数序列信号;
采样电路和后处理电路的时钟输入端均连接CLK时钟信号;
数字控制电路由环形振荡器和控制信号生成电路组成;所述环形振荡器产生时钟信号为控制信号生成电路提供时钟,所述控制信号生成电路依据时钟和电路本身结构产生n位控制信号输出,其中n为自然数;控制信号生成电路将产生的n位控制信号输出至高频振荡器,所述高频振荡器依据输入n位控制信号产生不同的频率输出。
2.根据权利要求1所述的真随机数发生器,其特征在于,所述控制信号生成电路产生的n位控制信号为伪随机数。
3.根据权利要求1所述的真随机数发生器,其特征在于,所述采样电路为D触发器结构或T触发器结构。
4.根据权利要求1所述的真随机数发生器,其特征在于,所述数字控制电路产生的控制信号速率大于采样电路的输入时钟频率。
5.根据权利要求1所述的真随机数发生器,其特征在于,所述高频振荡器为环形振荡器结构,其产生的高频时钟信号的相位抖动满足均匀分布。
6.据权利要求1或5所述的真随机数发生器,其特征在于,所述高频振荡器的电路由环形振荡器电路和多路选择器组成;所述环形振荡器由反相器和延迟单元组成;所述反相器的输出端连接延迟单元的输入端;所述延迟单元的输出端连接延迟单元的输入端和多路选择器的输入端,依次的延迟单元的输出端连接多路选择器的输入端;所述多路选择器的输出端连接反相器的输入端,所述多路选择器依据控制信号选择右侧信号连通到输出,由此改变环形振荡器环路的时间常数,实现不同频率的时钟输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010504175.1A CN111782179B (zh) | 2020-06-05 | 2020-06-05 | 一种真随机数发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010504175.1A CN111782179B (zh) | 2020-06-05 | 2020-06-05 | 一种真随机数发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111782179A CN111782179A (zh) | 2020-10-16 |
CN111782179B true CN111782179B (zh) | 2023-09-01 |
Family
ID=72754585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010504175.1A Active CN111782179B (zh) | 2020-06-05 | 2020-06-05 | 一种真随机数发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782179B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377337B (zh) * | 2021-07-07 | 2022-11-04 | 山东方寸微电子科技有限公司 | 一种真随机数发生器及芯片 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949708A (zh) * | 2006-11-10 | 2007-04-18 | 华为技术有限公司 | 随机数发生装置、方法及对应的数据交互系统 |
CN102375722A (zh) * | 2010-08-09 | 2012-03-14 | 中国科学技术大学 | 一种真随机数生成方法及发生器 |
CN103150138A (zh) * | 2013-03-29 | 2013-06-12 | 成都三零嘉微电子有限公司 | 一种基于数字电路的真随机数发生器 |
CN104679475A (zh) * | 2013-11-29 | 2015-06-03 | 上海华虹集成电路有限责任公司 | 真随机数产生电路 |
CN105426159A (zh) * | 2015-12-22 | 2016-03-23 | 上海爱信诺航芯电子科技有限公司 | 一种基于数字电路的真随机数发生器 |
CN106293617A (zh) * | 2016-08-12 | 2017-01-04 | 上海坚芯电子科技有限公司 | 真随机数发生器 |
CN108363562A (zh) * | 2018-01-31 | 2018-08-03 | 山东华翼微电子技术股份有限公司 | 反馈调频真随机数发生器及真随机数发生方法 |
CN109683852A (zh) * | 2018-12-24 | 2019-04-26 | 成都三零嘉微电子有限公司 | 一种真随机数发生器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4248950B2 (ja) * | 2003-06-24 | 2009-04-02 | 株式会社ルネサステクノロジ | 乱数発生装置 |
US20100281088A1 (en) * | 2009-04-29 | 2010-11-04 | Psigenics Corporation | Integrated true random number generator |
-
2020
- 2020-06-05 CN CN202010504175.1A patent/CN111782179B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949708A (zh) * | 2006-11-10 | 2007-04-18 | 华为技术有限公司 | 随机数发生装置、方法及对应的数据交互系统 |
CN102375722A (zh) * | 2010-08-09 | 2012-03-14 | 中国科学技术大学 | 一种真随机数生成方法及发生器 |
CN103150138A (zh) * | 2013-03-29 | 2013-06-12 | 成都三零嘉微电子有限公司 | 一种基于数字电路的真随机数发生器 |
CN104679475A (zh) * | 2013-11-29 | 2015-06-03 | 上海华虹集成电路有限责任公司 | 真随机数产生电路 |
CN105426159A (zh) * | 2015-12-22 | 2016-03-23 | 上海爱信诺航芯电子科技有限公司 | 一种基于数字电路的真随机数发生器 |
CN106293617A (zh) * | 2016-08-12 | 2017-01-04 | 上海坚芯电子科技有限公司 | 真随机数发生器 |
CN108363562A (zh) * | 2018-01-31 | 2018-08-03 | 山东华翼微电子技术股份有限公司 | 反馈调频真随机数发生器及真随机数发生方法 |
CN109683852A (zh) * | 2018-12-24 | 2019-04-26 | 成都三零嘉微电子有限公司 | 一种真随机数发生器 |
Non-Patent Citations (1)
Title |
---|
欧海文 ; 赵静 ; 于慧红 ; 胡晓波 ; 李起瑞.基于振荡器的真随机数发生器的研究.《通信技术》.2011,第44卷(第12期),153-155+158. * |
Also Published As
Publication number | Publication date |
---|---|
CN111782179A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6480072B1 (en) | Method and apparatus for generating random numbers | |
Tsoi et al. | Compact FPGA-based true and pseudo random number generators | |
Bucci et al. | A high-speed oscillator-based truly random number source for cryptographic applications on a smart card IC | |
US6240432B1 (en) | Enhanced random number generator | |
Vasyltsov et al. | Fast digital TRNG based on metastable ring oscillator | |
KR101987141B1 (ko) | 난수 발생기 | |
JP3696209B2 (ja) | シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器 | |
EP1776757A1 (en) | Random number generation based on logic circuits with feedback | |
US20130346459A1 (en) | Method for generating random numbers | |
WO2021232255A1 (zh) | 真随机数发生器及电子设备 | |
Mei et al. | A highly flexible lightweight and high speed true random number generator on FPGA | |
CN113672199A (zh) | 一种具备物理不可克隆函数功能的多熵源随机数发生器 | |
Fujieda | On the feasibility of TERO-based true random number generator on Xilinx FPGAs | |
CN111782179B (zh) | 一种真随机数发生器 | |
US7293054B2 (en) | Random number source and associated methods | |
WO2022042065A1 (zh) | 随机数生成器及随机数生成方法 | |
Wang et al. | Theory and implementation of a very high throughput true random number generator in field programmable gate array | |
CN109683852A (zh) | 一种真随机数发生器 | |
Acar et al. | A digital random number generator based on irregular sampling of regular waveform | |
Sreekumar et al. | Selection of an optimum entropy source design for a true random number generator | |
Tsoi et al. | High performance physical random number generator | |
CN111124363B (zh) | 一种真随机数生成方法及真随机数发生器 | |
KR100576714B1 (ko) | 디지털 로직을 이용한 난수 발생 장치 및 방법 | |
JP2021021937A (ja) | 真にランダムな静的エントロピーを使って向上したエントロピーを生成するエントロピー生成器および方法 | |
Garipcan et al. | Implementation of a digital TRNG using jitter based multiple entropy source on FPGA |
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 |