CN111949242B - 基于fpga的亚稳态真随机数发生器 - Google Patents
基于fpga的亚稳态真随机数发生器 Download PDFInfo
- Publication number
- CN111949242B CN111949242B CN202010843022.XA CN202010843022A CN111949242B CN 111949242 B CN111949242 B CN 111949242B CN 202010843022 A CN202010843022 A CN 202010843022A CN 111949242 B CN111949242 B CN 111949242B
- Authority
- CN
- China
- Prior art keywords
- input end
- output end
- unit
- gate
- trigger
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Logic Circuits (AREA)
Abstract
本发明提供的是一种基于FPGA的亚稳态真随机数发生器。其特征是:它由高频环路振荡器1、高频环路振荡器2、建立时间延迟单元3、防亚稳态扩散单元4以及后处理单元5组成。本发明可用于生成高速的真随机数序列,可广泛用于密钥加密算法、防御旁道攻击和随机事件仿真测试等领域。
Description
(一)技术领域
本发明涉及一种真随机数发生器,尤其涉及一种基于FPGA的亚稳态真随机数发生器,可用于密钥加密算法、防御旁道攻击和随机事件仿真测试等领域,属于电子电路领域。
(二)背景技术
随着计算机网络和通信技术的不断发展,信息安全也变得越来越重要,加密技术作为信息安全技术的核心也随之发展。随机数在对称或非对称密码算法中充当密钥,在需要的场合中充当随机填充位或随机掩码,可以说加密协议的安全性完全依赖于随机数的质量。大多数智能芯片内部都包含随机数发生器,而随机数发生器又分为真随机数发生器和伪随机数发生器,对于一个伪随机数发生器而言,它的安全性取决于种子输出的预期猜测数量和输出函数的复杂性,这两种因素都受攻击计算量大小的影响,经过一段时间的试错后,对破解下一位随机数的计算量会减小。随着攻击者算力的不断提升,使用伪随机数发生器的加密方法会变得更加脆弱。而真随机数发生器只要能保证数据位流有足够的熵值,生成的真随机数就拥有不可预测性,因此使用真随机数的加密算法具有可靠性。
现有的真随机数发生器主要可以通过模拟电路实现和数字电路实现,使用模拟电路实现的真随机数发生器,主要是通过将电阻的热噪声通过放大器进行放大后再与比较器进行比较输出方波,这种方法设计较为复杂,功耗大,鲁棒性差,而且会在热噪声的采集过程中不可避免地引入测量器件的固有偏置,目前一般应用数字电路中的振荡采样法来实现真随机数发生器,具体实现方法主要分两种:第一种是用慢速振荡器对快速振荡器进行采样,振荡器的相位抖动引起采样时刻的不确定性,从而使序列具有随机性。缺点是生成的序列具有很大相关性,若使采样时钟抖动的标准方差大于高速时钟的周期,则可以认为相邻的两次采样不具备相关性,但这样会严重影响随机数的生成速率。第二种是利用两个周期相同的耦合振荡环器互相采样,数据信号在时钟信号上升沿到来之前保持稳定的最短时间称为建立时间,当理想状态下,可以在D触发器采样时间点采集到另一个振荡环输出信号不稳定的过渡期,使采样过程不满足建立时间,从而造成“亚稳态”现象,在“亚稳态”状态下,D触发器的输出仅由电路内部噪声影响,有很好的随机性,然而在实际操作中很难简单地通过两个振荡环实现,布局布线难度非常大,一般需要定制电路完成,实用性较低。基于静态时序分析方法可知,时钟周期加时钟偏移等于寄存器延迟、走线延迟和建立时间的总和时会产生“亚稳态”。一般认为,寄存器延迟和建立时间是器件固有属性不可改变,传统产生“亚稳态”的方法几乎全部都围绕控制走线延迟展开,由于建立时间非常短,在纳秒乃至亚纳秒级,这就对控制走线延迟造成很大的困难。
电路中的噪声是随机的,但是在量化过程中可能会引入确定的偏差或关联性,会对真随机数的统计学特性造成影响,所以要对生成的真随机数进行后处理。应用最广的后处理方法是冯诺依曼纠偏法,原理是每次获取序列的两位,如果是相同的“0”或“1”则从序列中剔除。冯诺依曼纠偏法对偏置序列处理效果较好,但随机数生成速率会降到原本的四分之一。
为解决上述问题,本文提出了一种基于FPGA的亚稳态真随机数发生器。与先前技术相比,本发明通过建立时间延迟单元来代替D触发器的功能,一方面不引入影响熵源的其他固有偏置,保证了真随机数的熵值,另一方面又变相延长了D触发器的建立时间,使整个发生装置更容易进入“亚稳态”,减小了实现的难度。此外,本发明的后处理模块还在冯诺依曼纠偏法的基础上提出了一种新型的边沿检测纠偏方法,对比冯诺依曼纠偏法速度提升了一倍。
(三)发明内容
本发明的目的在于提供一种结构简单紧凑、占用硬件资源少、生成真随机数速率高的基于FPGA亚稳态的真随机数发生器。
本发明的目的是这样实现的:
一种基于FPGA的亚稳态真随机数发生器,包括高频环路振荡器1、高频环路振荡器2、等效建立时间延长单元3、防亚稳态扩散单元4以及后处理单元5组成。所述的高频环路振荡器1的输出端与所述的等效建立时间延长单元3的数据输入端连接,所述的高频环路振荡器2的输出端与所述的等效建立时间延长单元3的时钟输入端连接,所述的等效建立时间延长单元3的输出端和所述的防亚稳态扩散单元4的数据输入端连接,所述的高频环路振荡器2的输出端与所述的防亚稳态扩散单元4的时钟输入端连接,所述的防亚稳态扩散单元4的输出端与所述的后处理单元5的数据输入端连接,所述的高频环路振荡器2的输出端与所述的后处理单元5的时钟输入端连接。
所述的高频环路振荡器1和高频环路振荡器2包括3个反相器和1个缓冲器,第1个反相器的输出端和第2个反相器的输入端连接,第2个反相器的输出端和第3个反相器的输入端连接,第3个反相器的输出端、第1个反相器的输入端和缓冲器连接。
所述的等效建立时间延长单元3包括1个D触发器、1个异或门和1个FPGA延迟单元LCELL;在所述的等效建立时间延长单元3中,D触发器的输出端和高频环路振荡器1的输出端和异或门的输入端连接,异或门的输出端和LCELL的输入端连接,LCELL的输出端和D触发器的数据输入端连接。该电路运用异或门的性质在不改变数据的情况下使D触发器输入端数据稳定所需时间延长,即变相延长了D触发器的建立时间。
所述的防亚稳态扩散单元4包括2个D触发器;在所述的防亚稳态扩散单元4中,第1个D触发器的输入端和所述等效建立时间延长单元3的输出连接,第2个D触发器的输入端和第1个D触发器的输出端连接。该电路能有效减少99%以上的“亚稳态”扩散现象。
所述的后处理单元5包括1个D触发器、2个与门和1个二输入查找表;在所述的后处理单元中,D触发器的输入端和所述防亚稳态扩散单元4的输出端连接,D触发器的输入端和第1个与门的1个输入端连接,D触发器的输出端通过非门和第1个与门的1个输入端连接,D触发器的输入端通过非门和第2个与门的1个输入端连接,D触发器的输出端和第2个与门的1个输入端连接,第1个与门的输出、第2个与门的输出端和所述查找表的输入端连接。
与现有技术相比,本发明有如下优点:
1、采用高频环路振荡器作为真随机数发生器的熵源,比传统的低频环路振荡器产生数据的速率更高。
2、这种真随机数发生器电路结构简单,节省FPGA内部硬件资源,可以在不同平台上进行移植,具有普遍的适用性。
3、本发明的真随机数发生器采样过程中建立时间更长,更容易满足建立保持时间要求,因此产生“亚稳态”的条件更宽松,比传统的振荡采样法对布局布线的要求更低。
4、本发明的真随机数发生器在后处理阶段运用边缘检测方法代替传统冯诺依曼纠偏器的相邻2位数据比较方法,使真随机数的生成速率比传统方法提高一倍。
(四)附图说明
图1为现有的真随机数发生器的结构示意图。
图2为本发明的真随机数发生器的结构示意图
图3为本发明的真随机数发生器的高频环路振荡器的结构示意图
图4为本发明的真随机数发生器的建立时间延迟单元的结构示意图
图5为本发明的真随机数发生器的防亚稳态扩散单元的结构示意图
图6为本发明的真随机数发生器的后处理单元的结构示意图
(五)具体实施方式
下面结合具体的实施例来进一步阐述本发明。
图2为本发明在Altera Cyclone TV FPGA上实现的一种真随机数发生器的结构示意图,包括2个高频环路振荡器、等效建立时间延长单元、防亚稳态扩散单元以及后处理单元组成。第1个高频环路振荡器的输出端与等效建立时间延长单元的数据输入端连接,第2个高频环路振荡器的输出端与等效建立时间延长单元、防亚稳态扩散单元以及后处理单元的时钟输入端连接,等效建立时间延长单元的输出端和防亚稳态扩散单元的数据输入端连接,,防亚稳态扩散单元的输出端与后处理单元的数据输入端连接。
图3为本发明中的高频环路振荡器,包括3个反相器和1个缓冲器,第1个反相器的输出端和第2个反相器的输出端连接,第2个反相器的输出端和第3个反相器的输出端连接,第3个反相器的输出端、第1个反相器的输入端和缓冲器连接。
图4为本发明中的建立时间延迟单元,包括1个D触发器、1个异或门和1个FPGA延迟单元LCELL组成。D触发器的输出端和高频环路振荡器1的输出端和异或门的输入端连接,异或门的输出端和LCELL的输入端连接,LCELL的输出端和D触发器的数据输入端连接。LCELL通过FPGA原语实现。
图5为本发明中的防亚稳态扩散单元,包括2个D触发器组成。第1个D触发器的输入端和所述等效建立时间延长单元的输出连接,第2个D触发器的输入端和第1个D触发器的输入端连接。
图6为本发明中的后处理单元,包括1个D触发器、2个与门和1个二输入查找表组成。D触发器的输入端和所述防亚稳态扩散单元的输出端连接,D触发器的输入端和第1个与门的1个输入端连接,D触发器的输出端通过非门和第1个与门的1个输入端连接,D触发器的输入端通过非门和第2个与门的1个输入端连接,D触发器的输出端和第2个与门的1个输入端连接,第1个与门的输出、第2个与门的输出端和所述查找表的输入端连接。
Claims (4)
1.一种基于FPGA的亚稳态真随机数发生器,其特征是在于包括高频环路振荡器1、高频环路振荡器2、等效建立时间延长单元3、防亚稳态扩散单元4以及后处理单元5组成,所述的高频环路振荡器1的输出端与所述的等效建立时间延长单元3的数据输入端连接,所述的高频环路振荡器2的输出端与所述的等效建立时间延长单元3的时钟输入端连接,所述的等效建立时间延长单元3的输出端和所述的防亚稳态扩散单元4的数据输入端连接,所述的高频环路振荡器2的输出端与所述的防亚稳态扩散单元4的时钟输入端连接,所述的防亚稳态扩散单元4的输出端与所述的后处理单元5的数据输入端连接,所述的高频环路振荡器2的输出端与所述的后处理单元5的时钟输入端连接;所述的等效建立时间延长单元3包括1个D触发器、1个异或门和1个FPGA延迟单元LCELL;在所述的等效建立时间延长单元3中,D触发器的输出端和高频环路振荡器1的输出端和异或门的输入端连接,异或门的输出端和LCELL的输入端连接,LCELL的输出端和D触发器的数据输入端连接。
2.根据权利要求1所述的基于FPGA的亚稳态真随机数发生器,其特征在于所述的高频环路振荡器1和高频环路振荡器2包括3个反相器和1个缓冲器,第1个反相器的输出端和第2个反相器的输入端连接,第2个反相器的输出端和第3个反相器的输入端连接,第3个反相器的输出端和第1个反相器的输入端和缓冲器连接。
3.根据权利要求1所述的基于FPGA的亚稳态真随机数发生器,特征在于所述的防亚稳态扩散单元4包括2个D触发器;在所述的防亚稳态扩散单元4中,第1个D触发器的输入端和所述等效建立时间延长单元3的输出连接,第2个D触发器的输入端和第1个D触发器的输出端连接。
4.根据权利要求1所述的基于FPGA的亚稳态真随机数发生器,其特征在于所述的后处理单元5包括1个D触发器、2个与门和1个二输入查找表;在所述的后处理单元中,D触发器的输入端和所述防亚稳态扩散单元4的输出端连接,D触发器的输入端和第1个与门的1个输入端连接,D触发器的输出端通过非门和第1个与门的1个输入端连接,D触发器的输入端通过非门和第2个与门的1个输入端连接,D触发器的输出端和第2个与门的1个输入端连接,第1个与门的输出、第2个与门的输出端和所述查找表的输入端连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010843022.XA CN111949242B (zh) | 2020-08-20 | 2020-08-20 | 基于fpga的亚稳态真随机数发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010843022.XA CN111949242B (zh) | 2020-08-20 | 2020-08-20 | 基于fpga的亚稳态真随机数发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949242A CN111949242A (zh) | 2020-11-17 |
CN111949242B true CN111949242B (zh) | 2023-10-17 |
Family
ID=73358450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010843022.XA Active CN111949242B (zh) | 2020-08-20 | 2020-08-20 | 基于fpga的亚稳态真随机数发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949242B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150372A (ja) * | 2001-11-12 | 2003-05-23 | Advanced Telecommunication Research Institute International | 乱数発生回路 |
US8099449B1 (en) * | 2007-10-04 | 2012-01-17 | Xilinx, Inc. | Method of and circuit for generating a random number using a multiplier oscillation |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
CN110764733A (zh) * | 2019-10-15 | 2020-02-07 | 天津津航计算技术研究所 | 一种基于fpga的多种分布随机数生成装置 |
CN111258548A (zh) * | 2018-11-30 | 2020-06-09 | 紫光同芯微电子有限公司 | 一种真随机数发生器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918535B (zh) * | 2017-11-17 | 2021-02-19 | 宁波大学 | 一种在fpga上实现的亚稳态真随机数发生器 |
-
2020
- 2020-08-20 CN CN202010843022.XA patent/CN111949242B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003150372A (ja) * | 2001-11-12 | 2003-05-23 | Advanced Telecommunication Research Institute International | 乱数発生回路 |
US8099449B1 (en) * | 2007-10-04 | 2012-01-17 | Xilinx, Inc. | Method of and circuit for generating a random number using a multiplier oscillation |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
CN111258548A (zh) * | 2018-11-30 | 2020-06-09 | 紫光同芯微电子有限公司 | 一种真随机数发生器 |
CN110764733A (zh) * | 2019-10-15 | 2020-02-07 | 天津津航计算技术研究所 | 一种基于fpga的多种分布随机数生成装置 |
Non-Patent Citations (2)
Title |
---|
"FPGA-Based True Random Number Generation Using Programmable Delays in Oscillator-Rings";N. Nalla Anandakumar等;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS—II: EXPRESS BRIEFS》;570-574 * |
"一种基于随机储存元胞自动机真随机发生器";季磊等;《集成电路应用》;18-21 * |
Also Published As
Publication number | Publication date |
---|---|
CN111949242A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vasyltsov et al. | Fast digital TRNG based on metastable ring oscillator | |
Gong et al. | True random number generators using electrical noise | |
Jung et al. | A 25-gb/s 5-mw cmos cdr/deserializer | |
US8285767B2 (en) | Apparatus and method for generating a random number | |
US20080192871A1 (en) | Method and system of cycle slip framing in a deserializer | |
Cao et al. | An energy-efficient true random number generator based on current starved ring oscillators | |
Xu et al. | High speed true random number generator based on FPGA | |
CN111949242B (zh) | 基于fpga的亚稳态真随机数发生器 | |
Tupparwar et al. | A hybrid true random number generator using ring oscillator and digital clock manager | |
Sakare | A power and area efficient architecture of a PRBS generator with multiple outputs | |
US11489681B2 (en) | Multifunctional physically unclonable function device based on hybrid Boolean network | |
CN112130810A (zh) | 一种安全的高速随机数发生器及其结构优化方法 | |
Walker et al. | Evaluating metastability in electronic circuits for random number generation | |
Kumar et al. | A 138 Mbps jitter based power efficient true random number generator | |
Lin et al. | Parallel scrambler for high-speed applications | |
CN110531956A (zh) | 基于相干采样自定时环的可移植真随机数发生器及其方法 | |
Nakura et al. | Ring oscillator based random number generator utilizing wake-up time uncertainty | |
Muller et al. | Top-down design of a low-power multi-channel 2.5-Gbit/s/channel gated oscillator clock-recovery circuit | |
CN115659886B (zh) | 基于超频状态dec电路时序错误的软件puf配置方法 | |
CN110780846B (zh) | 一种由低速物理随机数产生高速物理随机数的方法及装置 | |
CN111352608B (zh) | 一种低开销型fpga基真随机数产生系统 | |
Wang et al. | 10-Gbps true random number generator accomplished in ASIC | |
Guo et al. | On the jitter and entropy of the oscillator-based random source | |
Gong et al. | An inverter-based lightweight digital true random number generator circuit for IoT device | |
Marimuthu et al. | FPGA Implementation of High Speed 64-Bit Data Width True Random Number Generator using Clock Managers With Metastability |
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 |