CN111538475B - 基于fpga的真随机数发生器构建***及方法 - Google Patents

基于fpga的真随机数发生器构建***及方法 Download PDF

Info

Publication number
CN111538475B
CN111538475B CN202010219354.0A CN202010219354A CN111538475B CN 111538475 B CN111538475 B CN 111538475B CN 202010219354 A CN202010219354 A CN 202010219354A CN 111538475 B CN111538475 B CN 111538475B
Authority
CN
China
Prior art keywords
random number
number generator
fpga
entropy source
entropy
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
CN202010219354.0A
Other languages
English (en)
Other versions
CN111538475A (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 Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010219354.0A priority Critical patent/CN111538475B/zh
Publication of CN111538475A publication Critical patent/CN111538475A/zh
Application granted granted Critical
Publication of CN111538475B publication Critical patent/CN111538475B/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)
  • Logic Circuits (AREA)

Abstract

本发明提供了一种基于FPGA的真随机数发生器构建***及方法,包括:控制单元、熵源产生模块、熵提取器、熵源解码器、后处理模块以及随机数发生器;所述控制单元与熵源产生模块、熵提取器、熵源解码器、后处理模块分别相连;所述控制单元能够进行随机数发生器的初始化设置;所述随机数发生器需要外部提供一个时钟单元,其输出作为随机数发生器的工作时钟;所述随机数发生器的熵源来自熵源产生模块;所述熵源产生模块中的一个相互耦合的自定时振荡环产生的时钟抖动信号作为随机数发生器的熵源。本发明比传统的反相器振荡环或者没有耦合的自定时振荡环更稳定,鲁棒性更好,这样的真随机数发生器在电压或环境变化时可以相对稳定的工作。

Description

基于FPGA的真随机数发生器构建***及方法
技术领域
本发明涉及电子电路领域,具体地,涉及一种基于FPGA的真随机数发生器构建***及方法。
背景技术
随机数被用来产生安全***需要的安全密钥、操作***协议、移动设备ID和数字签名验证等。随机数发生器在模拟仿真、数据加密、***安全和统计分析等方面的应用十分广泛,这些***对随机数的质量和产生速度的有一定的要求。随机数分为伪随机数和真随机数,其中真随机数的质量高,包含真随机数发生器的***安全性也更高。由于现场可编程门阵列(FPGA)在当前的电子***中应用非常普遍,基于FPGA的真随机数发生电路具有重要的应用前景。FPGA中的真随机数发生电路包括:熵源,采样量化和后处理三部分组成。FPGA中的熵源主要来源于振荡器的抖动,亚稳态电路等,当前基于以上熵源的发生电路主要问题是数据产生率低,对工作环境、电压和工艺变化敏感,可靠性不高。
专利文献CN103502931B公开了一种用于提供随机数和/或随机数组合和/或随机数矩阵的随机数生成器。根据本发明,该随机数生成器包括:一个用于监控技能/需要技能的体育设施的至少一个游戏的监控装置,至少一个参与者可以在该体育设施上进行一局提供至少一个游戏结果的技能/需要技能的体育游戏,其中,该监控装置包括用于确定游该戏结果的游戏结果确定装置;以及一个确定设备,用于从一个或多个确定的游戏结果上确定随机数和/或随机数组合和/或随机数矩阵。该专利在安全性、数据产生率上仍然有待提升的空间。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于FPGA的真随机数发生器构建***及方法。
根据本发明提供的一种基于FPGA的真随机数发生器构建***,包括:控制单元、熵源产生模块、熵提取器、熵源解码器、后处理模块以及随机数发生器;所述控制单元与熵源产生模块、熵提取器、熵源解码器、后处理模块分别相连;所述控制单元能够进行随机数发生器的初始化设置,初始化结束后控制随机数发生器进入正常工作模式;所述随机数发生器需要外部提供一个时钟单元,其输出作为随机数发生器的工作时钟;所述随机数发生器的熵源来自熵源产生模块;所述熵源产生模块中的一个相互耦合的自定时振荡环产生的时钟抖动信号作为随机数发生器的熵源。
优选地,所述相互耦合的自定时振荡环由m个n级自定时振荡环耦合而成,产生不同性能的振荡环和时钟信号;其中,m和n皆为可调整数目;n为大于等于3的正整数,m为大于等于2的正整数。
优选地,所述n级自定时振荡环换由n个多输入的密勒单元Muller C_element构成;所述密勒单元由FPGA中的LUT实现。
优选地,所述m个n级耦合自定时振荡环的每一个密勒单元固定位一个LUT。
优选地,所述多输入的密勒单元Muller C_element包括:多组相同功能的输入。其中,至少一组相同功能的输入用于产生振荡信号,至少一组相同功能的输入用于与其他n级自定时振荡环耦合。
优选地,所述m个n级耦合自定时振荡环采用均匀间隔传播模式。
优选地,所述m个n级耦合自定时振荡环的每一级输出的时钟信号分别连接熵提取器。
优选地,所述的熵提取器包括:FPGA中的延迟链和FPGA中的触发器单元;所述FPGA中的延迟链分别对基于FPGA的真随机数发生器构建***的每级抖动输出信号进行延迟;所述FPGA中的触发器单元在同一个时钟的控制下对延迟链中的信号进行采样,再将采样信号得到的数值序列输送给熵源解码器。
优选地,所述FPGA中的延迟链由FPGA中的超前进位单元实现;所述熵源解码器根据输入数据的序列,解码输出一位随机数,并将得到的随机数进行异或操作后送入后处理模块;所述后处理模块将输入的随机数进行纠偏,得到随机数序列;所述随机数为二进制随机数,所述随机数序列为二进制随机数序列。
根据本发明提供的一种基于FPGA的真随机数发生器构建方法,采用基于FPGA的真随机数发生器构建***,构建基于FPGA的真随机数发生器。
与现有技术相比,本发明具有如下的有益效果:
1、本发明使用耦合的自定时振荡环作为真随机数发生器的熵源,比传统的反相器振荡环或者没有耦合的自定时振荡环更稳定,鲁棒性更好,这样的真随机数发生器在电压或环境变化时可以相对稳定的工作。
2、本发明采用内部振荡产生相干信号作为采样信号,不需要外部资源提供采样时钟。
3、本发明中,这种真随机数发生器电路结构比较简单,在FPGA中占用的资源较少,可以在不同的平台上进行移植,应用范围更广。
4、本发明的真随机数发生器不仅可以以振荡频率的数倍的速率产生随机数,而且可以保证随机数的质量。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明基于FPGA的真随机数发生器的结构示意图。
图2为本发明实施例中的m个n级自定时振荡环的电路结构示意图。
图3为本发明实施例中的耦合自定时振荡环单级的结构示意图。
图4为本发明实施例中的耦合自定时振荡环单级的真值表示意图。
图5为本发明实施例中的密勒单元在FPGA中的实现示意图。
图6为本发明实施例中的熵提取模块中快速进位链的进位单元的结构示意图。
图7为本发明实施例中的熵提取器和熵源解码器总体示意图。
图8为本发明实施例中的在ASIC上的实现电路示意图。
图9为本发明实施例中的后处理模块用来对熵源解码器产生的随机数序列进行纠偏示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1-9所示,根据本发明提供的一种基于FPGA的真随机数发生器构建***,包括:控制单元、熵源产生模块、熵提取器、熵源解码器、后处理模块以及随机数发生器;所述控制单元与熵源产生模块、熵提取器、熵源解码器、后处理模块分别相连;所述控制单元能够进行随机数发生器的初始化设置,初始化结束后控制随机数发生器进入正常工作模式;所述随机数发生器需要外部提供一个时钟单元,其输出作为随机数发生器的工作时钟;所述随机数发生器的熵源来自熵源产生模块;所述熵源产生模块中的一个相互耦合的自定时振荡环产生的时钟抖动信号作为随机数发生器的熵源。
优选地,所述相互耦合的自定时振荡环由m个n级自定时振荡环耦合而成,产生不同性能的振荡环和时钟信号;其中,m和n皆为可调整数目;n为大于等于3的正整数,m为大于等于2的正整数。
优选地,所述n级自定时振荡环换由n个多输入的密勒单元Muller C_element构成;所述密勒单元由FPGA中的LUT实现。
优选地,所述m个n级耦合自定时振荡环的每一个密勒单元固定位一个LUT。
优选地,所述多输入的密勒单元Muller C_element包括:多组相同功能的输入;其中,至少一组相同功能的输入用于产生振荡信号,至少一组相同功能的输入用于与其他n级自定时振荡环耦合。
优选地,所述m个n级耦合自定时振荡环采用均匀间隔传播模式。
优选地,所述m个n级耦合自定时振荡环的每一级输出的时钟信号分别连接熵提取器。
优选地,所述的熵提取器包括:FPGA中的延迟链和FPGA中的触发器单元;所述FPGA中的延迟链分别对基于FPGA的真随机数发生器构建***的每级抖动输出信号进行延迟;所述FPGA中的触发器单元在同一个时钟的控制下对延迟链中的信号进行采样,再将采样信号得到的数值序列输送给熵源解码器。
优选地,所述FPGA中的延迟链由FPGA中的超前进位单元实现;所述熵源解码器根据输入数据的序列,解码输出一位随机数,并将得到的随机数进行异或操作后送入后处理模块;所述后处理模块将输入的随机数进行纠偏,得到随机数序列;所述随机数为二进制随机数,所述随机数序列为二进制随机数序列。
基于Xilinx KCU116 FPGA设计,可以根据本发明提供的方法,在其他FPGA上实现。
具体地,在一个实施例中,如图1所示,在FPGA上实现的一种真随机数发生器中,随机数发生器由控制单元、熵源产生模块、熵提取器、熵源解码器、后处理电路构成。其中控制单元用于整个随机数发生器的初始化设置,初始化结束后控制随机数发生器进入正常工作模式。一般地,所述随机数发生器需要外部提供一个时钟单元,其输出作为随机数发生器的工作时钟。可选地,一个外部PLL的输出作为随机数发生器的的工作时钟。
如图2、图3所示,耦合自定时振荡环的一实施例如下:其由m个n级密勒单元构成,每一级由一个四输入密勒单元和一个反相器构成,其中n是大于等于3的正整数,m为大于等于2的正整数。
如图3和图4所示,密勒单元实施例如下:经过反相器的输出连接到密勒单元的一个输入,反相器的输入为r1和r2,密勒单元的另两个输入为f1和f2,输出为c。每一级反相器的输入r1连接到下一级的输出Ci+1,另一个输入r2连接到下一个自定时振荡环的下一级的输出Ci+1。为了设置耦合自定时振荡环的初始状态,在每一级上加入init信号,当init信号有效时,密勒单元的输出为即为init的值。在FPGA中这种密勒单元用6输入LUT来实现,如图3所示,f11、f12、r11以及r12为密勒单元的四个输入,init信号为控制信号,out为密勒单元的输出,这种结构在FPGA中易于实现。
当LUT的输入数目大于6时,密勒单元的输入数目可以更多,如图4所示,从而具备实现更多的耦合方式。
在耦合自定时振荡环中,存在bubble和token。如果振荡环i级中的输出Ci不等于上一级的输出Ci-1,则说明i级中存在一个token。如果振荡环i级中的输出Ci等于上一级的输出Ci-1,则说明i级中存在一个bubble。耦合自定时振荡环可以产生自主振荡需要满足三个条件:(1)振荡环级数n大于等于3;(2)振荡环中bubble的数量应该大于等于1;(3)振荡环中token的数量为一个正偶数。
通过调整振荡环的初始状态,可以设置振荡环的振荡方式。振荡环有两种传播模式:均匀间隔传播模式和突发传播模式。如果在振荡环的初始状态中bubble的数量和token的数量相差越小,则这时密勒单元内的查理效应越大,输出含有抖动的时钟频率越高,此时振荡环处于均匀间隔传播模式。如果在振荡环的初始状态中bubble的数量和token的数量相差越大,密勒单元内的查理效应越小,输出的时钟的频率就越低,此时振荡环处于突发传播模式。在真随机数发生器中这两种模式都可以产生需要的熵源,但是在相同级数的情况下,均匀间隔传播模式的频率更高。
图5为耦合自定时振荡环中密勒单元在FPGA中使用LUT的实现,我们使用6输入的LUT,其中的f11、f12、r11以及r12为密勒单元的输入,init为密勒单元的控制信号,out为密勒单元的输出。将耦合自定时振荡环的每一级固定为一个LUT方便之后布局布线时固定每个LUT的位置。
所述的熵提取器是由FPGA中的CARRY4形成的快速延迟链组成。CARRY4单元分布于FPGA的slice中,为了保证振荡环每一级的输出到其对应的快速进位链的距离大致相同,需要把振荡环每级的LUT放置在对应进位链的附近位置。这些进位输入到D触发器内,每个D触发器的时钟控制端连接到同一个采样时钟,由D触发器采样并输出,采样示意图如图6所示。
所述的熵源解码器用来解码熵提取器产生的4位的数据序列,从中解码出一位随机数。把从熵源解码器得到的数据序列进行异或处理后送入后处理模块,熵提取器和熵源解码器总体图如图7所示。
所述的熵提取器和熵源解码器,在FPGA中,总共只需要1个CARRY4单元、4个D触发器以及1个LUT单元即可实现,相对其他提出的熵源提取电路,大大减小了硬件消耗量,而且便于在不同平台移植,图8所示即为其在ASIC上的实现电路。
图9所述的后处理模块5用来对熵源解码器产生的随机数序列进行纠偏。选用异或链后处理方法,这种方法的设计比较简单,而且可以有效的消除随机数序列中的偏差,不影响随机数的输出速率。
在Xilinx KCU116 FPGA中CARRY4中相邻级之间的延迟大约为30ps到40ps,所以理论上来说,采样时钟的周期只要大于CARRY4中相邻级之间的延迟就可以得到一个有效的随机数。在实际电路中,由于其它因素的影响,采样频率会相对减少。在本发明中实施例中,我们选择的采样频率为200MHz,随机数输出速率为200Mbps,这个速率还可以视情况提高,相对于其它的真随机数发生器来说有更大的优势。
在本发明中真随机数发生器在Xilinx KCU116 FPGA中占用了22个slice,其中熵源模块占用了7个slice,熵提取模块占用了7个slice,边缘检测器和后处理模块占用了8个slice。在Xilinx KCU116 FPGA中1个slice包括8个LUT,3个MUX,1个CARRY8和8个D触发器。
在Xilinx KCU116 FPGA中产生的随机数通过UART程序从FPGA中传到电脑端口,再使用串口调试助手分批地输出,最终输出106个数据,将这些数据使用NIST随机数评估软件对随机数的质量进行测试。
NIST测试包括15项测试项目,可以测试随机数发生器产生的二进制序列的质量。一些测试项目需要的数据量最少为106个数据,所以我们最少输出106个数据。测试完成后返回的综合p值应大于0.01,这说明这项测试项目通过测试。
NIST Test P-value Result
Frequency 0.904351 PASS
Block Frequency 0.821576 PASS
Runs 0.747345 PASS
Longest Runs 0.908415 PASS
Rank 0.931367 PASS
FFT 0.930626 PASS
Non-overlapping Template 0.822367 PASS
Overlapping Template 0.973996 PASS
Approximate Entropy 0.907300 PASS
Serial 0.664950 PASS
Linear Complexity 0.753142 PASS
Cumulative Sums 0.990908 PASS
Random Excursions 0.813107 PASS
Random Excursions Variant 0.850644 PASS
Universal 0.745105 PASS
一种基于FPGA的真随机数发生器构建***产生的随机数的NIST测试结果如上表所示,表中每一项测试结果都有一个综合p值,所有项目的p值都大于0.01,均通过测试。
本发明不仅可以产生高质量的随机数,而且可以以很高的速率产生随机数。而且这个真随机数发生器占用FPGA的资源较少,可以很方便地集成到应用***中,这对于真随机数发生器在数据加密、统计分析、信息通讯等方面的应用来说尤为重要,可以进一步缩小器件的体积,提高器件的性能,进一步提高***的安全性。
根据本发明提供的一种基于FPGA的真随机数发生器构建方法,采用基于FPGA的真随机数发生器构建***,构建基于FPGA的真随机数发生器。
本发明使用耦合的自定时振荡环作为真随机数发生器的熵源,比传统的反相器振荡环或者没有耦合的自定时振荡环更稳定,鲁棒性更好,这样的真随机数发生器在电压或环境变化时可以相对稳定的工作;本发明采用内部振荡产生相干信号作为采样信号,不需要外部资源提供采样时钟;本发明中,这种真随机数发生器电路结构比较简单,在FPGA中占用的资源较少,可以在不同的平台上进行移植,应用范围更广;本发明的真随机数发生器不仅可以以振荡频率的数倍的速率产生随机数,而且可以保证随机数的质量。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (9)

1.一种基于FPGA的真随机数发生器构建***,其特征在于,包括:控制单元、熵源产生模块、熵提取器、熵源解码器、后处理模块以及随机数发生器;
所述控制单元与熵源产生模块、熵提取器、熵源解码器、后处理模块分别相连;
所述控制单元能够进行随机数发生器的初始化设置;
所述随机数发生器需要外部提供一个时钟单元,其输出作为随机数发生器的工作时钟;
所述随机数发生器的熵源来自熵源产生模块;
所述熵源产生模块中的一个相互耦合的自定时振荡环产生的时钟抖动信号作为随机数发生器的熵源;
所述FPGA中的延迟链由FPGA中的超前进位单元实现;
所述熵源解码器根据输入数据的序列,解码输出一位随机数,并将得到的随机数进行异或操作后送入后处理模块;
所述后处理模块将输入的随机数进行纠偏,得到随机数序列;
所述随机数为二进制随机数,所述随机数序列为二进制随机数序列。
2.根据权利要求1所述的基于FPGA的真随机数发生器构建***,其特征在于,所述相互耦合的自定时振荡环由m个n级自定时振荡环耦合而成;
其中,m和n皆为可调整数目;
n为大于等于3的正整数,m为大于等于2的正整数。
3.根据权利要求2所述的基于FPGA的真随机数发生器构建***,其特征在于,所述n级自定时振荡环换由n个多输入的密勒单元构成;
所述密勒单元由FPGA中的LUT实现。
4.根据权利要求3所述的基于FPGA的真随机数发生器构建***,其特征在于,所述m个n级耦合自定时振荡环的每一个密勒单元固定位一个LUT。
5.根据权利要求4所述的基于FPGA的真随机数发生器构建***,其特征在于,
所述多输入的密勒单元包括:多组相同功能的输入;
其中,至少一组相同功能的输入用于产生振荡信号,至少一组相同功能的输入用于与其他n级自定时振荡环耦合。
6.根据权利要求2所述的基于FPGA的真随机数发生器构建***,其特征在于,所述m个n级耦合自定时振荡环采用均匀间隔传播模式。
7.根据权利要求2所述的基于FPGA的真随机数发生器构建***,其特征在于,所述m个n级耦合自定时振荡环的每一级输出的时钟信号分别连接熵提取器。
8.根据权利要求1所述的基于FPGA的真随机数发生器构建***,其特征在于,所述的熵提取器包括:FPGA中的延迟链和FPGA中的触发器单元;
所述FPGA中的延迟链分别对基于FPGA的真随机数发生器构建***的每级抖动输出信号进行延迟;
所述FPGA中的触发器单元在同一个时钟的控制下对延迟链中的信号进行采样,再将采样信号得到的数值序列输送给熵源解码器。
9.一种基于FPGA的真随机数发生器构建方法,其特征在于,采用权利要求1-8任一项所述的基于FPGA的真随机数发生器构建***,构建基于FPGA的真随机数发生器,提高随机数的质量和随机数的产生速度。
CN202010219354.0A 2020-03-25 2020-03-25 基于fpga的真随机数发生器构建***及方法 Active CN111538475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010219354.0A CN111538475B (zh) 2020-03-25 2020-03-25 基于fpga的真随机数发生器构建***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010219354.0A CN111538475B (zh) 2020-03-25 2020-03-25 基于fpga的真随机数发生器构建***及方法

Publications (2)

Publication Number Publication Date
CN111538475A CN111538475A (zh) 2020-08-14
CN111538475B true CN111538475B (zh) 2023-06-23

Family

ID=71952202

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010219354.0A Active CN111538475B (zh) 2020-03-25 2020-03-25 基于fpga的真随机数发生器构建***及方法

Country Status (1)

Country Link
CN (1) CN111538475B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112130810B (zh) * 2020-09-27 2022-11-11 山西大学 一种安全的高速随机数发生器及其结构优化方法
TWI778557B (zh) 2021-03-26 2022-09-21 新唐科技股份有限公司 真實亂數產生器及真實亂數產生方法
CN115080929B (zh) * 2022-07-20 2022-11-11 深圳研控自动化科技股份有限公司 Fpga程序的加密方法、解密方法、***以及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101680920A (zh) * 2007-06-18 2010-03-24 艾勒博科技股份有限公司 延迟时间测量电路以及方法
CN102073473A (zh) * 2009-11-20 2011-05-25 杨军 基于fpga的十进制浮点乘法器设计
CN106201436A (zh) * 2016-08-12 2016-12-07 西安电子科技大学 基于双耦合斐波那契振荡环的真随机数生成器
CN106293616A (zh) * 2016-08-12 2017-01-04 西安电子科技大学 基于时延反馈振荡器的真随机数生成器
CN108259162A (zh) * 2016-12-28 2018-07-06 航天信息股份有限公司 一种密钥存储方法
CN109271136A (zh) * 2018-08-06 2019-01-25 上海交通大学 基于fpga的真随机数发生器及发生方法
CN109495266A (zh) * 2018-12-25 2019-03-19 北京字节跳动网络技术有限公司 基于随机数的数据加密方法及装置
CN110059041A (zh) * 2019-03-22 2019-07-26 上海交通大学 传输***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101369748B1 (ko) * 2006-12-04 2014-03-06 삼성전자주식회사 데이터 암호화 방법 및 그 장치

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101680920A (zh) * 2007-06-18 2010-03-24 艾勒博科技股份有限公司 延迟时间测量电路以及方法
CN102073473A (zh) * 2009-11-20 2011-05-25 杨军 基于fpga的十进制浮点乘法器设计
CN106201436A (zh) * 2016-08-12 2016-12-07 西安电子科技大学 基于双耦合斐波那契振荡环的真随机数生成器
CN106293616A (zh) * 2016-08-12 2017-01-04 西安电子科技大学 基于时延反馈振荡器的真随机数生成器
CN108259162A (zh) * 2016-12-28 2018-07-06 航天信息股份有限公司 一种密钥存储方法
CN109271136A (zh) * 2018-08-06 2019-01-25 上海交通大学 基于fpga的真随机数发生器及发生方法
CN109495266A (zh) * 2018-12-25 2019-03-19 北京字节跳动网络技术有限公司 基于随机数的数据加密方法及装置
CN110059041A (zh) * 2019-03-22 2019-07-26 上海交通大学 传输***

Also Published As

Publication number Publication date
CN111538475A (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN111538475B (zh) 基于fpga的真随机数发生器构建***及方法
US8805906B2 (en) Variable architecture for random number generators
Wang et al. High-throughput portable true random number generator based on jitter-latch structure
US10338136B2 (en) Integrated circuit with low power scan system
Zalivaka et al. Multi-valued arbiters for quality enhancement of PUF responses on FPGA implementation
CN109167664B (zh) 一种基于异或门的可重构环形振荡器puf电路
Dorojevets et al. 8-bit asynchronous sparse-tree superconductor RSFQ arithmetic-logic unit with a rich set of operations
WO2019195953A1 (zh) 一种基于二输入异或门低功耗随机数产生装置
CN109117118B (zh) 基于环形振荡器结构真随机数发生器的随机数提取方法
CN106771958B (zh) 具有低功率扫描***的集成电路
Chen et al. Achieving progressive precision in stochastic computing
WO2008008297A2 (en) Glitch-free clock switcher
Tupparwar et al. A hybrid true random number generator using ring oscillator and digital clock manager
Jamal et al. Analysis of test sequence generators for built-in self-test implementation
Garipcan et al. Implementation of a digital TRNG using jitter based multiple entropy source on FPGA
Yang et al. Lightweight Hybrid Entropy Source True Random Number Generator Based On Jitter and Metastability
Doshi et al. Lfsr counter implementation in cmos vlsi
Sivaraman et al. Design and analysis of ring oscillator influenced beat frequency detection for true random number generation on fpga
Lu et al. High-efficiency TRNG design based on multi-bit dual-ring oscillator
Peng et al. A Compact TRNG Design for FPGA Based on the Metastability of RO-driven Shift Registers
Ni et al. MRCO: A multi-ring convergence oscillator-based high-efficiency true random number generator
Oliveira et al. True random number generator prototype implemented in an fpga
Ma et al. A low-cost high-efficiency true random number generator on FPGAs
Jin et al. A dynamically reconfigurable entropy source circuit for high-throughput true random number generator
US3327225A (en) Timing pulse generator

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