CN101162998A - 真随机数发生器 - Google Patents
真随机数发生器 Download PDFInfo
- Publication number
- CN101162998A CN101162998A CNA2006101171192A CN200610117119A CN101162998A CN 101162998 A CN101162998 A CN 101162998A CN A2006101171192 A CNA2006101171192 A CN A2006101171192A CN 200610117119 A CN200610117119 A CN 200610117119A CN 101162998 A CN101162998 A CN 101162998A
- Authority
- CN
- China
- Prior art keywords
- random number
- frequency
- number generator
- generator
- oscillator
- 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
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
Abstract
本发明公开了一种真随机数发生器,使用两个独立高频自由振荡器在频域上的演算作为采样的数据输入,经过32比特最大长度线性反馈移位寄存器的偏移纠正,再进入伪随机数。本发明可以得到高性能、低功耗的随机序列,而且结构简单,容易实现,随机性分布性能好。
Description
技术领域
本发明涉及一种半导体集成电路,特别是涉及一种真随机数发生器。
背景技术
在网络认证的信息安全芯片中,为了保证信息的安全性,芯片应能够在片内产生密钥。而一个能够产生高性能真随机数的功能模块是系统安全的关键所在。
随机数是许多加密应用的基础,其作用是生成Diffie-Hellman密钥交换算法、Riyest-Shamir-Adelman公钥密码算法和数字签名算法等所需的公共/专用密钥对,并为大批量加密算法和IPsec(网络协议安全)分别生成初始向量和即时随机数。此外,大量其它类型的安全协议也靠随机数发生器的不可预测性来防止系统被破解。常用一些复杂数学函数生成高质量伪随机数发生器(PRNG)位流,但事实证明有很多途径可以攻击用PRNG加密的系统,因此加密安全系统需要使用更高质量的随机数发生器。
随机数发生器方案通常可以归为三大类,即直接放大、离散时间混沌和振荡器采样。前两种方法更适用于客户定制的单元设计,因为在这些场合设计人员可以控制实际电路的布局;而振荡器采样技术可以作为标准单元设计流程的一部分,因此在Soc片上系统设计中很流行。
常用的基于振荡器采样技术的随机数发生器如图1所示。利用两个独立工作的高、低频振荡器之间的相对关系来得到非确定噪声源,用高抖动低频振荡器采样高频振荡器,从而产生随机数序列,采样后经过异或链进入伪随机数,但这样所得到的随机数过于依赖低频振荡器的抖动,往往分布不够均匀。
发明内容
本发明所要解决的技术问题是提供一种真随机数发生器,它可以得到高性能、低功耗的,均匀的随机数序列。
为解决上述技术问题,本发明的真随机数发生器,采用两个独立高频自由振荡器FRO在频域上的演算作为采样器SAMPLER的数据输入,经过32比特最大长度线性反馈移位寄存器LFSR的偏移纠正,对位流进行均衡分配,得到真随机数,再经过伪随机数PRNG后输出。
通过采用振荡器采样技术,本发明的真随机数发生器具有高性能、低功耗,结构简单,容易实现,随机性分布性能好的特点,并通过了FIPS140_1的测试标准。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是现有的基于振荡器采样技术的随机数发生器原理图;
图2是本发明的基于振荡器采样技术的真随机数发生器原理图;
图3是单端环形震荡器电路图。
具体实施方式
在基于振荡器采样技术的随机数发生器设计中最重要的是高频振荡器的抖动,这个抖动就是随机源。如果两个振荡器在工作过程中都不发生漂移,那么采样得到的位流便具有周期性而且可以预测;正是由于两个高频振荡器频率差的小确定性及相对于系统采样时钟的相位变化保证了可以获得随机位流。此外,两个振荡器的频率与系统时钟的频率的比对所产生的位流有着非常重要的影响。
通常,振荡器可分为差分振荡器和单端振荡器,不同类型振荡器对不同噪声源的敏感度都不一样。差分振荡器对电源及基底噪声的敏感度不如单端振荡器,呈现出较高的共模抑制比(CMRR)。而单端振荡器极易受电压摆动或输入信号中直流分量的影响,任何噪声波动,都会影响振荡器的抖动。因此,在需要非确定噪声源的设计中,最简单直接的解决方案通常是采用单端环形振荡器来产生不确定性的频率源,如图3所示。
为了解决现有的随机数发生器产生的随机数序列不够均匀的问题,本发明的基于振荡器采样技术的真随机数发生器如图2所示。
采用两个独立高频自由振荡器FRO在频域上的演算经异或后作为采样器SAMPLER的数据输入(采样器SAMPLER的SYS_CLK为系统时钟端),采样器SAMPLER输出二进制数据,经过32比特最大长度线性反馈移位寄存器LFSR的偏移纠正,对位流进行均衡分配,得到真随机数,再经过伪随机数PRNG后输出。
两个高频振荡器FRO频域相乘。在频域的XOR函数可看做乘法运算,XOR函数的输出信号包含原来两个高频振荡器FRO频率之和及差的频率分量。研究显示,在
F(SYS_CLK)<F(CLKH1)/16
F(SYS_CLK)<F(CLKH2)/16
F(SYS_CLK)<F(CLKH1)xor F(CLKH2)/16时,采样数据可以得到真随机数。
即便如此,由于种种原因,所获得的位码仍会出现偏差,既可能是“1”,也可能是“0”,称为偏移。因此需要采取有效的后处理方法来纠正偏差,对位流进行均衡分配。简单的级联XOR链便可有效用作一个奇偶生成器完成适当的偏差纠正。在本发明中采用功能更为强大的混合函数来确保随机源的随机性,函数将多个采样位进行组合,然后产生一个输出位,该输出位是先前各输入位的复杂非线性函数。当然,这样获得的输出随机位数不可能多于输入位数。对这个函数期望的功能是任何输入位的改变都会引起大约一半输出位的改变。在本发明的一个具体实施例中,在进入伪随机数PRNG之前插入了线性反馈移位寄存器LFSR。对第31,6,4,2,1,0位进行异或(多项式x32+x7+x5+x3+x2+x+1),并和两个高频振荡器FRO异或并采样后得到的值再进行异或。线性反馈移位寄存器LFSR输出比特的随机性依赖于两个高频振荡器FRO的异或值;当两个高频振荡器FRO失效时,线性反馈移位寄存器LFSR将产生伪随机数。
此外,在系统设计时,希望两个高频振荡器FRO不要和系统频率逻辑共享同一电源,以避免其相关性。
Claims (2)
1.一种真随机数发生器,其特征在于:采用两个独立高频自由振荡器FRO在频域上的演算作为采样器SAMPLER的数据输入,经过32比特最大长度线性反馈移位寄存器LFSR的偏移纠正,对位流进行均衡分配,得到真随机数,再经过伪随机数PRNG后输出。
2.根据权利要求1所述的真随机数发生器,其特征在于:所述线性反馈移位寄存器LFSR,对第31、6、4、2、1、0位进行异或,并和两个高频振荡器FRO异或后并经采样后得到的值再进行异或。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101171192A CN101162998A (zh) | 2006-10-13 | 2006-10-13 | 真随机数发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101171192A CN101162998A (zh) | 2006-10-13 | 2006-10-13 | 真随机数发生器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101162998A true CN101162998A (zh) | 2008-04-16 |
Family
ID=39297838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101171192A Pending CN101162998A (zh) | 2006-10-13 | 2006-10-13 | 真随机数发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101162998A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727308B (zh) * | 2008-10-28 | 2012-02-01 | 苏州中科集成电路设计中心有限公司 | 集成电路中真随机数的产生方法 |
CN102479067A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种真随机数生成方法及装置 |
CN102622205A (zh) * | 2012-03-09 | 2012-08-01 | 无锡华大国奇科技有限公司 | 随机数发生器 |
CN102662625A (zh) * | 2012-04-06 | 2012-09-12 | 国网电力科学研究院 | 一种真随机数发生器及其实现方法 |
CN103838545A (zh) * | 2012-11-22 | 2014-06-04 | 西安元朔科技有限公司 | 一种随机数生成方法 |
CN104199635A (zh) * | 2014-09-23 | 2014-12-10 | 无锡华大国奇科技有限公司 | 集成crc校验电路的伪随机数发生器 |
CN104461452A (zh) * | 2013-09-17 | 2015-03-25 | 航天信息股份有限公司 | 片上系统中生成真随机数的方法及装置 |
CN105426159A (zh) * | 2015-12-22 | 2016-03-23 | 上海爱信诺航芯电子科技有限公司 | 一种基于数字电路的真随机数发生器 |
CN108536423A (zh) * | 2017-03-03 | 2018-09-14 | 群联电子股份有限公司 | 随机数据产生电路、存储器存储装置及随机数据产生方法 |
CN108805537A (zh) * | 2018-05-21 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
CN109412561A (zh) * | 2018-09-12 | 2019-03-01 | 上海华力集成电路制造有限公司 | 随机数发生器、随机序列产生电路及其工作过程 |
CN110413257A (zh) * | 2019-07-30 | 2019-11-05 | 北京智芯微电子科技有限公司 | 随机数产生电路 |
WO2023159925A1 (zh) * | 2022-02-25 | 2023-08-31 | 北京智芯微电子科技有限公司 | 跳频通信装置、方法、芯片、发射机及存储介质 |
-
2006
- 2006-10-13 CN CNA2006101171192A patent/CN101162998A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101727308B (zh) * | 2008-10-28 | 2012-02-01 | 苏州中科集成电路设计中心有限公司 | 集成电路中真随机数的产生方法 |
CN102479067A (zh) * | 2010-11-25 | 2012-05-30 | 上海宇芯科技有限公司 | 一种真随机数生成方法及装置 |
CN102479067B (zh) * | 2010-11-25 | 2016-03-16 | 上海宇芯科技有限公司 | 一种真随机数生成方法及装置 |
CN102622205B (zh) * | 2012-03-09 | 2015-02-11 | 无锡华大国奇科技有限公司 | 随机数发生器 |
CN102622205A (zh) * | 2012-03-09 | 2012-08-01 | 无锡华大国奇科技有限公司 | 随机数发生器 |
CN102662625A (zh) * | 2012-04-06 | 2012-09-12 | 国网电力科学研究院 | 一种真随机数发生器及其实现方法 |
CN103838545A (zh) * | 2012-11-22 | 2014-06-04 | 西安元朔科技有限公司 | 一种随机数生成方法 |
CN104461452A (zh) * | 2013-09-17 | 2015-03-25 | 航天信息股份有限公司 | 片上系统中生成真随机数的方法及装置 |
CN104199635A (zh) * | 2014-09-23 | 2014-12-10 | 无锡华大国奇科技有限公司 | 集成crc校验电路的伪随机数发生器 |
CN104199635B (zh) * | 2014-09-23 | 2017-11-07 | 无锡华大国奇科技有限公司 | 集成crc校验电路的伪随机数发生器 |
CN105426159A (zh) * | 2015-12-22 | 2016-03-23 | 上海爱信诺航芯电子科技有限公司 | 一种基于数字电路的真随机数发生器 |
CN105426159B (zh) * | 2015-12-22 | 2018-12-25 | 上海爱信诺航芯电子科技有限公司 | 一种基于数字电路的真随机数发生器 |
CN108536423A (zh) * | 2017-03-03 | 2018-09-14 | 群联电子股份有限公司 | 随机数据产生电路、存储器存储装置及随机数据产生方法 |
CN108805537A (zh) * | 2018-05-21 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种利用tpm作为比特币客户端随机源的方法及系统 |
CN109412561A (zh) * | 2018-09-12 | 2019-03-01 | 上海华力集成电路制造有限公司 | 随机数发生器、随机序列产生电路及其工作过程 |
CN110413257A (zh) * | 2019-07-30 | 2019-11-05 | 北京智芯微电子科技有限公司 | 随机数产生电路 |
CN110413257B (zh) * | 2019-07-30 | 2021-04-23 | 北京智芯微电子科技有限公司 | 随机数产生电路 |
WO2023159925A1 (zh) * | 2022-02-25 | 2023-08-31 | 北京智芯微电子科技有限公司 | 跳频通信装置、方法、芯片、发射机及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101162998A (zh) | 真随机数发生器 | |
Johnston | Random number generators—principles and practices: a guide for engineers and programmers | |
Gong et al. | True random number generators using electrical noise | |
Golic | New methods for digital generation and postprocessing of random data | |
CN101957741A (zh) | 一种基于亚阈值特性的真随机数发生器 | |
Patnala et al. | A modernistic way for KEY generation for highly secure data transfer in ASIC design flow | |
CN103019648A (zh) | 一种带有数字后处理电路的真随机数发生器 | |
KR20140110142A (ko) | 난수 발생기 | |
Durga et al. | Design and synthesis of lfsr based random number generator | |
CN107797788B (zh) | 一种随机数发生装置、真随机数发生器及系统级芯片 | |
Tao et al. | FPGA based true random number generators using non-linear feedback ring oscillators | |
Taneja et al. | Fully synthesizable unified true random number generator and cryptographic core | |
Sadkhan et al. | Proposed Enhancement of A5/1 stream cipher | |
El-Moursy et al. | Chaotic clock driven cryptographic chip: Towards a DPA resistant AES processor | |
Lu et al. | High-efficiency TRNG design based on multi-bit dual-ring oscillator | |
Wei et al. | A perspective of using frequency-mixing as entropy in random number generation for portable hardware cybersecurity ip | |
Jothi et al. | Parallel RC4 Key Searching System Based on FPGA | |
Zhang et al. | A High Throughput STR-based TRNG by Jitter Precise Quantization Superposing | |
JP4417389B2 (ja) | デジタルロジックを利用した乱数発生装置及び方法 | |
Petrie et al. | A noise-based random bit generator IC for applications in cryptography | |
CN110795063B (zh) | 一种功耗和速率可调的物理随机数发生方法 | |
Fischer et al. | True random number generators in FPGAs | |
Robson | A ring oscillator based truly random number generator | |
Mao et al. | Zero-bias true random number generator using LFSR-based scrambler | |
CN201845328U (zh) | 一种基于亚阈值特性的真随机数发生器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080416 |