CN102479067A - 一种真随机数生成方法及装置 - Google Patents

一种真随机数生成方法及装置 Download PDF

Info

Publication number
CN102479067A
CN102479067A CN2010105599711A CN201010559971A CN102479067A CN 102479067 A CN102479067 A CN 102479067A CN 2010105599711 A CN2010105599711 A CN 2010105599711A CN 201010559971 A CN201010559971 A CN 201010559971A CN 102479067 A CN102479067 A CN 102479067A
Authority
CN
China
Prior art keywords
random number
unit
initial seed
error diffusion
linear feedback
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
Application number
CN2010105599711A
Other languages
English (en)
Other versions
CN102479067B (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.)
SHANGHAI YUXIN TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI YUXIN TECHNOLOGY 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 SHANGHAI YUXIN TECHNOLOGY Co Ltd filed Critical SHANGHAI YUXIN TECHNOLOGY Co Ltd
Priority to CN201010559971.1A priority Critical patent/CN102479067B/zh
Publication of CN102479067A publication Critical patent/CN102479067A/zh
Application granted granted Critical
Publication of CN102479067B publication Critical patent/CN102479067B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明涉及一种真随机数生成方法及装置,所述装置包括高频振荡器、初始种子数生成单元、误差扩散计算单元、线性反馈单元、控制单元和随机数输出单元;高频振荡器的输出端连接所述初始种子数生成单元的输入端,所述初始种子数生成单元的输出端连接所述误差扩散计算单元的输入端;所述误差扩散计算单元的输出端连接所述线性反馈单元,所述线性反馈单元的输出端连接所述控制单元,所述控制单元连接所述随机数输出单元。该装置仅使用通用逻辑硬件可实现亚稳态电路,简化了硬件结构;通过将初始种子数保存在每次复位的缓存器中,实现了一次一密,使用生成多项式判断并反馈控制,利用误差扩散过程实现安全散列算法,达到难以复制/预测的随机数效果。

Description

一种真随机数生成方法及装置
技术领域
本发明涉及安全加密技术领域,尤其涉及一种真随机数生成方法及装置。
背景技术
随机数是系统进行加密,例如系统利用随机数生成密钥的重要工具,因此随机数生成器是所有加密系统所必备的一个环节。一个随机数生成器必须具有足够安全的能力去防止来自外部或内部的攻击。
随机数生成器应当满足以下最基本的三条安全原则:
1)频率和游程随机性,生成器的输出要具有随机性,满足频率测试和游程测试,针对长游程和刺探攻击保证安全;
2)重构恢复/前向安全性,即使知道生成器在某一特定时刻的状态,也不能由此推断出生成器在此刻以前的输出数;
3)入侵预测/后向安全性,即使知道生成器在某一特定时刻的状态,也不能由此推断出生成器在此刻以后的输出数。
真实的硬件随机数生成器和伪随机数生成器是完全不同的,后者易于用软件实现,可以得到统计上的随机数;但是算法实现公开后,同样的输入会得到同样的输出,难以做到算法随机数序列不可重复。
发明内容
本发明所要解决的技术问题是提供一种结构简单、成本低、性能可靠的真随机数生成方法及装置。
为解决上述技术问题,本发明采取以下技术方案:一种真随机数生成装置,其包括高频振荡器、初始种子数生成单元、误差扩散计算单元、控制单元、随机数输出单元和线性反馈单元;所述高频振荡器的输出端连接所述初始种子数生成单元的输入端,所述初始种子数生成单元的输出端连接所述误差扩散计算单元的输入端;所述误差扩散计算单元的输出端连接所述线性反馈单元,所述线性反馈单元的输出端连接所述控制单元,所述控制单元连接所述随机数输出单元。
所述初始种子数生成单元包括亚稳态电路和缓存器,所述亚稳态电路的输出端与所述缓存器电连接。
所述线性反馈单元包括移位寄存器。
所述控制单元包括判断单元。
所述误差扩散计算单元包括组合电路和时序电路,其中所述组合电路由异或门、同或门和加法器构成,所述时序电路由移位器和寄存器构成。
本发明还提供一种真随机数生成方法,该方法包括如下步骤:
步骤1,每次准备生成随机数的时候,启动高频振荡器,产生高频振荡信号;
步骤2,利用亚稳态电路产生初始种子数;
步骤3,计算误差扩散;
步骤4,停止高频振荡器;
步骤5,采用线性反馈移位寄存器保证游程长度,使用的生成多项式是G(x)=1+x^74+x^75+x^143+x^144。x代表初始种子数,这个多项式是对应于特征序列长度为2^144的斐波纳契数列(Fibonacci)特征数;
步骤6,判断随机数的所有位是否都经过处理?如果都处理完毕,则执行步骤7,如果还没有处理完毕,则返回步骤1;
步骤7,输出随机数。
7.如权利要求6所述的真随机数生成方法,其特征在于:步骤3中采用安全散列算法获取误差扩散。
8.如权利要求6所述的真随机数生成方法,其特征在于:步骤5中进一步通过生成多项式对初始种子数作线性反馈运算。
本发明的真随机数生成方法及装置,仅使用通用逻辑硬件即可实现亚稳态电路,简化了硬件结构。同时,通过将初始种子数保存在缓存器中,实现了一次一密,使用生成多项式判断并反馈控制,利用误差扩散过程实现安全散列算法,达到难以复制/预测的随机数效果。
附图说明
图1为本发明一种真随机数生成方法的硬件连接示意图。
图2为本发明一种真随机数生成方法的流程图。
具体实施方式
以下将结合附图对本发明的一种真随机数生成装置作进一步的详细描述。
参见图1,所述真随机数生成装置包括高频振荡器、初始种子数生成单元、误差扩散计算单元、线性反馈单元、控制单元以及输出单元,其中控制单元包括一个判断单元。
高频振荡器产生的高频振荡信号输入初始种子数生成单元中,初始种子数生成单元与误差扩散计算单元电连接,由初始种子数生成单元生成的初始种子数被发送给误差扩散计算单元,误差扩散计算单元的输出连接线性反馈单元,线性反馈单元将误差扩散计算单元的输出反馈给控制单元进行判断。
初始种子数生成单元包括亚稳态电路和缓存器,亚稳态电路用于得到难以复现的初始种子数,并保存在所述缓存器中,每次执行后都会被复位,保证了“一次一密”。
优选误差扩散计算单元包括组合电路和时序电路,其中组合电路由异或门、同或门和加法器构成,时序电路由移位器和寄存器构成。
线性反馈单元包括移位寄存器,以保证游程长度满足需求。
控制单元控制高频振荡器产生高频振荡信号,该高频振荡信号用来产生不同的高频时钟域间的亚稳态,其包括判断单元,用于判断随机数的所有位是否都已经处理完毕。
控制单元与随机数输出单元电连接,以便将处理完毕的随机数输出。
本发明还提供一种真随机数生成方法,该方法包括如下步骤:
步骤S10,每次准备生成随机数的时候,启动高频振荡器,产生高频振荡信号;
步骤S20,利用亚稳态电路产生初始种子数;
步骤S30,计算误差扩散,在本发明实施例中,优选使用消息摘要MD5等安全散列算法SHA作误差扩散;
步骤S40,停止高频振荡器;
步骤S50,采用线性反馈移位寄存器保证游程长度,使用的生成多项式是G(x)=1+x^74+x^75+x^143+x^144。x代表初始种子数,这个多项式是对应于特征序列长度为2^144的斐波纳契数列(Fibonacci)特征数。
步骤S60,判断随机数的所有位是否都经过处理?如果都处理完毕,则执行步骤S70,如果还没有,则返回步骤S10。
步骤S70,输出随机数。
本发明的真随机数生成装置利用“生成多项式”对“初始种子数”作加法移位等线性反馈运算,得到的值进一步利用消息摘要MD5等安全散列算法SHA作误差扩散,得到满足需要的随机输出。在此过程中,由高频振荡器亚稳态产生的初始种子数是难以精确重现的,线性反馈和散列杂凑算法保证了误差扩散的有效性。
以上通过具体实施方式对本发明进行了详细的说明,但这些并非构成对本发明的限制。本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围。

Claims (8)

1.一种真随机数生成装置,其特征在于:包括高频振荡器、初始种子数生成单元、误差扩散计算单元、线性反馈单元、控制单元和随机数输出单元;所述高频振荡器的输出端连接所述初始种子数生成单元的输入端,所述初始种子数生成单元的输出端连接所述误差扩散计算单元的输入端;所述误差扩散计算单元的输出端连接所述线性反馈单元,所述线性反馈单元的输出端连接所述控制单元,所述控制单元连接所述随机数输出单元。
2.如权利要求1所述的真随机数生成装置,其特征在于:所述初始种子数生成单元包括亚稳态电路和缓存器,所述亚稳态电路的输出端与所述缓存器输入端连接。
3.如权利要求1或2所述的真随机数生成装置,其特征在于:所述线性反馈单元包括移位寄存器。
4.如权利要求1所述的真随机数生成装置,其特征在于:所述控制单元包括判断单元。
5.如权利要求1所述的真随机数生成装置,其特征在于:所述误差扩散计算单元包括组合电路和时序电路,其中所述组合电路由异或门、与非门、选择器和加法器构成,所述时序电路由移位器和寄存器构成。
6.一种真随机数生成方法,其特征在于:该方法包括如下步骤:
步骤1,每次准备生成随机数的时候,启动高频振荡器,产生高频振荡信号;
步骤2,利用亚稳态电路产生初始种子数;
步骤3,计算误差扩散;
步骤4,停止高频振荡器;
步骤5,采用线性反馈移位寄存器保证游程长度;
步骤6,判断随机数的所有位是否都经过处理?如果都处理完毕,则执行步骤7,如果还没有处理完毕,则返回步骤1;
步骤7,输出随机数。
7.如权利要求6所述的真随机数生成方法,其特征在于:步骤3中采用安全散列算法获取误差扩散。
8.如权利要求6所述的真随机数生成方法,其特征在于:步骤5中进一步通过生成多项式对初始种子数作线性反馈运算。
CN201010559971.1A 2010-11-25 2010-11-25 一种真随机数生成方法及装置 Expired - Fee Related CN102479067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010559971.1A CN102479067B (zh) 2010-11-25 2010-11-25 一种真随机数生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010559971.1A CN102479067B (zh) 2010-11-25 2010-11-25 一种真随机数生成方法及装置

Publications (2)

Publication Number Publication Date
CN102479067A true CN102479067A (zh) 2012-05-30
CN102479067B CN102479067B (zh) 2016-03-16

Family

ID=46091722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010559971.1A Expired - Fee Related CN102479067B (zh) 2010-11-25 2010-11-25 一种真随机数生成方法及装置

Country Status (1)

Country Link
CN (1) CN102479067B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458316A (zh) * 2013-07-22 2013-12-18 太原理工大学 一种图像加密方法
CN104579630A (zh) * 2013-10-25 2015-04-29 上海华力创通半导体有限公司 系统随机数生成方法
CN105005462A (zh) * 2015-09-06 2015-10-28 电子科技大学 一种混合式随机数发生器及其产生随机数的方法
CN112015368A (zh) * 2020-08-28 2020-12-01 海光信息技术有限公司 一种真随机数发生器及电子设备
CN112181362A (zh) * 2020-09-28 2021-01-05 苏州矗联电子技术有限公司 高可靠的物理随机数发生系统及方法
CN113542710A (zh) * 2021-09-15 2021-10-22 广州匠芯创科技有限公司 基于误差扩散Dither算法的图像处理方法、系统及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991859A (zh) * 2005-12-30 2007-07-04 财团法人工业技术研究院 随机数产生器及其种子计数值产生单元
CN101162998A (zh) * 2006-10-13 2008-04-16 上海华虹Nec电子有限公司 真随机数发生器
CN101473298A (zh) * 2006-06-20 2009-07-01 Nxp股份有限公司 随机数发生器系统、产生随机数的方法
WO2009109959A1 (en) * 2008-03-04 2009-09-11 Sandisk Il Ltd. Digital random number generator based on digitally-controlled oscillators
CN202008654U (zh) * 2010-11-25 2011-10-12 上海宇芯科技有限公司 一种真随机数生成装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991859A (zh) * 2005-12-30 2007-07-04 财团法人工业技术研究院 随机数产生器及其种子计数值产生单元
CN101473298A (zh) * 2006-06-20 2009-07-01 Nxp股份有限公司 随机数发生器系统、产生随机数的方法
CN101162998A (zh) * 2006-10-13 2008-04-16 上海华虹Nec电子有限公司 真随机数发生器
WO2009109959A1 (en) * 2008-03-04 2009-09-11 Sandisk Il Ltd. Digital random number generator based on digitally-controlled oscillators
CN202008654U (zh) * 2010-11-25 2011-10-12 上海宇芯科技有限公司 一种真随机数生成装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103458316A (zh) * 2013-07-22 2013-12-18 太原理工大学 一种图像加密方法
CN103458316B (zh) * 2013-07-22 2016-05-04 太原理工大学 一种图像加密方法
CN104579630A (zh) * 2013-10-25 2015-04-29 上海华力创通半导体有限公司 系统随机数生成方法
CN105005462A (zh) * 2015-09-06 2015-10-28 电子科技大学 一种混合式随机数发生器及其产生随机数的方法
CN105005462B (zh) * 2015-09-06 2017-08-08 电子科技大学 一种混合式随机数发生器及其产生随机数的方法
CN112015368A (zh) * 2020-08-28 2020-12-01 海光信息技术有限公司 一种真随机数发生器及电子设备
CN112181362A (zh) * 2020-09-28 2021-01-05 苏州矗联电子技术有限公司 高可靠的物理随机数发生系统及方法
CN113542710A (zh) * 2021-09-15 2021-10-22 广州匠芯创科技有限公司 基于误差扩散Dither算法的图像处理方法、系统及介质
CN113542710B (zh) * 2021-09-15 2022-02-22 广州匠芯创科技有限公司 基于误差扩散Dither算法的图像处理方法、系统及介质

Also Published As

Publication number Publication date
CN102479067B (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
Schellekens et al. FPGA vendor agnostic true random number generator
Golic New methods for digital generation and postprocessing of random data
Sunar et al. A provably secure true random number generator with built-in tolerance to active attacks
Majzoobi et al. Techniques for design and implementation of secure reconfigurable PUFs
CN102479067A (zh) 一种真随机数生成方法及装置
Acosta et al. Embedded electronic circuits for cryptography, hardware security and true random number generation: an overview
KR101987141B1 (ko) 난수 발생기
CN105426159A (zh) 一种基于数字电路的真随机数发生器
Masoodi et al. An analysis of linear feedback shift registers in stream ciphers
WO2007049268A1 (en) A digital component deterministic pseudo-random clock and noise source device based on a random frequency modulated oscillator
CN103019648A (zh) 一种带有数字后处理电路的真随机数发生器
CN102968290A (zh) 一种异构轻量级的真随机数产生器
US20140280413A1 (en) Method for detecting a correlation
Balasch et al. Design and testing methodologies for true random number generators towards industry certification
WO2021232255A1 (zh) 真随机数发生器及电子设备
Yu et al. Recombination of physical unclonable functions
CN100541418C (zh) 利用亚稳态锁存器生成随机数的方法和装置
EP1451676A2 (en) Method and apparatus for preventing noise influencing a random number generator based on flip-flop meta-stability
Vivek et al. Design and implementation of physical unclonable function in field programmable gate array
Güneysu True random number generation in block memories of reconfigurable devices
Bahadur et al. Reconfigurable side channel attack resistant true random number generator
Kamadi et al. Implementation of TRNG with SHA-3 for hardware security
Zhou et al. Reliable SoC design and implementation of SHA-3-HMAC algorithm with attack protection
CN107678731A (zh) 一种基于fpga的高频异步随机数发生器
CN202008654U (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160316

Termination date: 20181125

CF01 Termination of patent right due to non-payment of annual fee