CN110780846B - 一种由低速物理随机数产生高速物理随机数的方法及装置 - Google Patents

一种由低速物理随机数产生高速物理随机数的方法及装置 Download PDF

Info

Publication number
CN110780846B
CN110780846B CN201910934881.7A CN201910934881A CN110780846B CN 110780846 B CN110780846 B CN 110780846B CN 201910934881 A CN201910934881 A CN 201910934881A CN 110780846 B CN110780846 B CN 110780846B
Authority
CN
China
Prior art keywords
random number
physical random
speed
low
parallel
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
CN201910934881.7A
Other languages
English (en)
Other versions
CN110780846A (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.)
Taiyuan University of Technology
Original Assignee
Taiyuan University of Technology
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 Taiyuan University of Technology filed Critical Taiyuan University of Technology
Priority to CN201910934881.7A priority Critical patent/CN110780846B/zh
Publication of CN110780846A publication Critical patent/CN110780846A/zh
Application granted granted Critical
Publication of CN110780846B publication Critical patent/CN110780846B/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)
  • Dc Digital Transmission (AREA)

Abstract

本发明属于集成电路技术领域,具体为一种由低速物理随机数产生高速物理随机数的方法及装置,包括时钟模块、低速并行随机数阵列模块、吉比特收发器模块;通过并行低速率的物理随机数生器,利用吉比特收发器将低速物理随机数转换为高速物理随机数;本发明通过并行输出速率可控,位宽可调的低速物理随机数发生器实现了单路10Gbps高速物理随机数的输出,该物理随机数发生器的输出序列满足高速、实时产生的同时,具有良好的统计特性;物理随机数发生器所有组成部分全部集成于一块FPGA中,实现了高速物理随机数的小型化和集成化,适应当代通信技术、计算机技术以及芯片技术发展的需求。

Description

一种由低速物理随机数产生高速物理随机数的方法及装置
技术领域
本发明涉及集成电路、密码芯片领域,尤其是一种由低速物理随机数产生高速物理随机数的方法及装置,适用于保密通信领域。
背景技术
随机数发生器是科学计算、随机实验、密码学和通信等众多领域的关键组成部分。特别在保密通信领域,数据通信的安全性在很大程度上取决于随机数的质量和数量。
完美的加密应该基于香农“一次一密”的理论,即加密密钥为真随机数,且加密密钥的长度不得少于明文长度,密钥只能使用一次。在如今高速信息传输的时代,要对高速传输的数据进行绝对安全的加密,需要能够实时产生大于或等于数据传输速率的高速真随机数。
基于算法产生的伪随机数由于输出序列的周期性和可预测性,不适合应用于保密通信领域。相比于伪随机数发生器,物理随机数发生器通过随机的物理过程或随机物理现象产生,可以输出无周期、不可预测的随机序列,能更好运用于保密通信领域中。
物理随机数发生器可通过很多方法实现,如利用电阻的热噪声、振荡器的频率抖动等产生高质量的物理随机数。此外还有利用混沌激光、量子效应的方法,其能够产生高速的物理随机数。基于上述方法实现的物理随机数,一些由于较低的速率,一些则因为庞大的体积,已经很难适应如今器件小型化、可集成化,G bps甚至T bps通信速率的发展需求。
因此,发明一种小型化、可集成化的高速、实时物理随机数的产生方法和装置有着及其重要的意义。
发明内容
本发明克服现有技术存在的不足,提出了一种由低速物理随机数产生高速物理随机数的方法及装置,以适应高速率保密通信的需求。
本发明是通过如下技术方案实现的。
一种由低速物理随机数产生高速物理随机数的装置,包括时钟模块、低速并行随机数阵列模块、吉比特收发器模块;所述低速并行随机数阵列模块为并行的多个低速物理随机数发生器,所述的多个低速物理随机数发生器形成随机数发生器阵列,所述随机数发生器阵列能够产生低速并行物理随机数;所述随机数发生器阵列与所述的吉比特收发器相连接,通过所述的吉比特收发器将所述的低速并行物理随机数串行化输出高速、实时物理随机数;所述时钟模块使用差分时钟作为主时钟,通过吉比特收发器所产生的时钟信号用以随机数模块所有D触发器的工作时钟及吉比特收发器的数据发送时钟。
所述的低速物理随机数发生器是利用基本数字逻辑器件构造,所述低速物理随机数发生器通过N个二输入异或门、N+1个三输入异或门和N个D触发器实现;N个二输入异或门的输出分别级联到相邻异或门的输入上,混沌模拟信号经异或门的输出节点输出;N+1个三输入异或门的一个输入连接在相应二输入异或门的输出上,其另外两个输入信号分别连接到相邻三输入异或门经D触发器的输出上,任选三路D触发器输出的信号经1个三输入异或门输出为具有良好统计特性的物理随机数,其中其中N为3的倍数,且N≥9。
优选的,所述的低速物理随机数发生器共64个,共同构造低速并行随机数发生器阵列。
优选的,所述的随机数发生器阵列和吉比特收发器集成于FPGA中,高速实时物理随机数通过吉比特收发器的一对差分输出口输出。
一种由低速物理随机数产生高速物理随机数的方法,具体包括以下步骤:并行多个低速随机数发生器,构成随机数阵列模块,该阵列模块输出频率为0-500MHz的并行物理随机数;然后使用吉比特收发器,将低带宽并行的数据转换为高带宽串行数据输出。
优选的,并行64个速率为1bit/156.25MHz的低速随机数发生器构成随机数阵列模块。
更优的,所述的随机数阵列模块输出频率为156.25MHz、位宽为64bit的并行物理随机数,64bit的并行物理随机数最终通过吉比特收发器输出为10Gbps的高速、实时物理随机数。
优选的,所述的随机数发生器阵列和吉比特收发器集成于FPGA中,高速实时物理随机数通过吉比特收发器的一对差分输出口输出。
本发明相对于现有技术所产生的有益效果为。
1)本发明装置能够通过低速物理随机数发生器实时产生高速实时物理随机数,这种低速物理随机数发生器输出速率可控,位宽可调,同时该物理随机数具有良好的统计特性,可通过NIST SP-800 22中的统计测试。该装置同时能够产生速率可调,位数可调的低速串行或并行物理随机数。
2)本发明产生的高速实时物理随机数装置基于一块FPGA实现,逻辑全部采用数字器件构成,基于Verilog HDL代码编写实现,便于不同FPGA硬件平台间的移植。
3)物理随机数发生器所有组成部分全部集成于一块FPGA中,实现了高速物理随机数的小型化和集成化,适应当代通信技术、计算机技术以及芯片技术发展的需求。
附图说明
图1是本发明装置的电路结构框图。
其中100为时钟输入模块;200为低速并行物理随机数阵列模块;300为吉比特收发器模块。
图2是本发明差分时钟输入模块示意图。
图3是本发明单个低速物理随机数发生器电路图。
图4是本发明吉比特收发器原理图。
图5是本发明所述装置产生的时序图
图6是本发明所述装置所产生的10Gbps物理随机数的NIST测试结果。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,结合实施例和附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。下面结合实施例和附图详细说明本发明的技术方案,但保护范围不被此限制。
本发明基于Xilinx Kintex-7 XC7K325T FPGA平台实现,最终可产生 10Gbps的高速、实时物理随机数。其结构框图如图1所示,主要由时钟输入模块100、低速并行随机数阵列模块200、和吉比特收发器(GTX)300三个主要的模块组成。所有模块集成于一块FPGA中,10Gbps高速实时物理随机数通过吉比特收发器(GTX)的差分输出口输出。
所述时钟输入模块100如图2所示,该模块将双端差分时钟(refclk_n,refclk_p)转换为单端时钟(refclk)作为吉比特收发器(GTX)的时钟输入。
所述低速并行物理随机数阵列模块200如图3所示,该阵列模块由64个低速(1bit/156.25MHz)物理随机数构成,在吉比特收发器(GTX)300用户发送数据时钟频率(156.25MHz)下,以64bit位宽的数据形式输入到吉比特收发器(GTX)300中,通过吉比特收发器(GTX)的差分输出口输出10Gbps的高速、实时物理随机数。
所述低速并行物理随机数阵列模块200由PRNG0到PRNG63共64个相同的低速(1bit/156.25MHz)串行物理随机数PRNG构成。该低速串行物理随机数PRNG是由1个二输 入异或非门(2010)、N-1个二输入异或门(201i(1≤i≤N-1))、N+1个三输入异或门(202i(0≤i≤N- 1),204)和N个D触发器(203i(0≤i≤N-1))这些简单的数字器件实现的。N个二输入逻辑门(201) 的输出T[i](0≤i≤N-1)分别级联到相邻二输入逻辑门的输入上,混沌模拟信号T[i](0≤i≤N-1) 经异或门的输出节点输出。N个三输入异或门(202)的一个输入连接在相应二输入异或门(201) 的输出T[i](0≤i≤N-1)上,其另外两个输入信号分别连接到相邻三输入异或门经D触发器 (203)的输出R[i](0≤i≤N-1)上,任选三路D触发器输出的信号R[l](0≤l≤N-1),R[m](0≤m≤N- 1),R[n](0≤n≤N-1)(1≠m≠n)经1个三输入异或门(204)异或输出为具有良好统计特性的 物理随机数,其中N为3的倍数,且N>=9。该低速物理随机数不同于其它物理随机数的特 征在于速率0~1GHz可调,通过调整D触发器的时钟频率(clk)可实现不同码率物理随机数的 输出。该低速物理随机数不同于其它物理随机数的另外一个特征在于可通过调整N的取 值,任选经D触发器输出三路不同信号进行异或处理即可输出具有良好统计特性的物理随 机数。根据组合特性,当输出节点数为N时,共有
Figure SMS_1
路输出,可通过增大N的个数,实现更多路物理随机数的输出。本发明中D触发器的时钟频率设置为156.25MHz同一时钟频率,低速物理 随机数发生器的N选取为9,任意选择其中一路输出为1bit/156MHz的物理随机数。
所述吉比特收发器(GTX)模块300如图4所示,该模块在用户发送时钟(156.25MHz)频率下,将低速并行物理随机数阵列模块所产生的(64bit/156.25MHz)的并行低速数据串行化输出为10Gbps码率的高速、实时物理随机数。
吉比特收发器(GTX)300使用一对156.25MHz的差分时钟(refclk_n/p)输入作为时钟源,转换为单端时钟(refclk)作为吉比特收发器(GTX)的输入时钟。吉比特收发器(GTX)300的输出时钟TXOUTCLK经过混合时钟管理单元(MMCM)分频为TXUSRCLK和TXUSRCLK2,分别作为吉比特收发器(GTX)300的内部数据时钟和外部用户数据的发送时钟。外部用户数据的发送时钟(TXUSRCLK2, 156.25MHz)作为串行收发器(GTX)的用户数据发送时钟和低速并行物理随机数阵列模块中所有D触发器的工作时钟。
如图5所示,为了验证本发明所产生物理随机数的质量,我们用80GHz带宽的示波器观察了其输出时序。如图6所示,并从物理随机数发生器的输出采集1Gbit的物理随机数,对其进行NIST SP800-22 中所推荐的统计测试,该物理随机数可通过其所有的测试项,证明其良好的输出特性。
以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。

Claims (7)

1.一种由低速物理随机数产生高速物理随机数的装置,其特征在于,包括时钟模块、低速并行随机数阵列模块、吉比特收发器模块;所述低速并行随机数阵列模块为并行的多个低速物理随机数发生器,所述的多个低速物理随机数发生器形成随机数发生器阵列,所述随机数发生器阵列能够产生低速并行物理随机数;所述随机数发生器阵列与所述的吉比特收发器相连接,通过所述的吉比特收发器将所述的低速并行物理随机数串行化输出高速、实时物理随机数;所述时钟模块使用差分时钟作为主时钟,通过吉比特收发器所产生的时钟信号用以随机数模块所有D触发器的工作时钟及吉比特收发器的数据发送时钟;
所述的低速物理随机数发生器是利用基本数字逻辑器件构造,所述低速物理随机数发生器通过1个二输入异或非门、N-1个二输入异或门、N+1个三输入异或门和N个D触发器实现;N个二输入异或门的输出分别级联到相邻异或门的输入上,混沌模拟信号经异或门的输出节点输出;N+1个三输入异或门的一个输入连接在相应二输入异或门的输出上,其另外两个输入信号分别连接到相邻三输入异或门经D触发器的输出上,任选三路D触发器输出的信号经1个三输入异或门输出为具有良好统计特性的物理随机数,其中N为3的倍数,且N≥9。
2.根据权利要求1所述的一种由低速物理随机数产生高速物理随机数的装置,其特征在于,所述的低速物理随机数发生器共64个,共同构造低速并行随机数发生器阵列。
3.根据权利要求1所述的一种由低速物理随机数产生高速物理随机数的装置,其特征在于,所述的随机数发生器阵列和吉比特收发器集成于FPGA中,高速实时物理随机数通过吉比特收发器的一对差分输出口输出。
4.基于权利要求1所述装置的一种由低速物理随机数产生高速物理随机数的方法,其特征在于,具体包括以下步骤:并行多个低速随机数发生器,构成随机数阵列模块,该阵列模块输出频率为0-500MHz的并行物理随机数;然后使用吉比特收发器,将低带宽并行的数据转换为高带宽串行数据输出。
5.根据权利要求4所述的一种由低速物理随机数产生高速物理随机数的方法,其特征在于,并行64个速率为1bit/156.25MHz的低速随机数发生器构成随机数阵列模块。
6.根据权利要求5所述的一种由低速物理随机数产生高速物理随机数的方法,其特征在于,所述的随机数阵列模块输出频率为156.25MHz、位宽为64bit的并行物理随机数,64bit的并行物理随机数最终通过吉比特收发器输出为10Gbps的高速、实时物理随机数。
7.根据权利要求4所述的一种由低速物理随机数产生高速物理随机数的方法,其特征在于,所述的随机数发生器阵列和吉比特收发器集成于FPGA中,高速实时物理随机数通过吉比特收发器的一对差分输出口输出。
CN201910934881.7A 2019-09-29 2019-09-29 一种由低速物理随机数产生高速物理随机数的方法及装置 Active CN110780846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910934881.7A CN110780846B (zh) 2019-09-29 2019-09-29 一种由低速物理随机数产生高速物理随机数的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910934881.7A CN110780846B (zh) 2019-09-29 2019-09-29 一种由低速物理随机数产生高速物理随机数的方法及装置

Publications (2)

Publication Number Publication Date
CN110780846A CN110780846A (zh) 2020-02-11
CN110780846B true CN110780846B (zh) 2023-03-21

Family

ID=69384757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910934881.7A Active CN110780846B (zh) 2019-09-29 2019-09-29 一种由低速物理随机数产生高速物理随机数的方法及装置

Country Status (1)

Country Link
CN (1) CN110780846B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515228A (zh) * 2009-02-13 2009-08-26 华中科技大学 一种真随机数发生器
CN109830888A (zh) * 2019-01-24 2019-05-31 西南大学 一种基于硅基微腔混沌产生物理随机数装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2252450C2 (ru) * 2002-08-20 2005-05-20 Государственное образовательное учреждение высшего профессионального образования Самарский государственный технический университет Параллельный знаковый коррелометр
CN104615406B (zh) * 2014-12-29 2017-10-13 太原理工大学 具有可扩放性的高速并行真随机数产生方法
CN105045561A (zh) * 2015-08-12 2015-11-11 中国电子科技集团公司第四十一研究所 一种伪随机数产生方法
CN105335105B (zh) * 2015-12-22 2018-05-15 信阳师范学院 一种适用于fpga的qdr iv超高速存储控制器
CN105867878A (zh) * 2016-04-26 2016-08-17 合肥工业大学 一种高速并行真随机数发生器
EP3324286B1 (en) * 2016-11-18 2019-09-04 Siemens Aktiengesellschaft Generating true random numbers for an integrated circuit
CN107038015B (zh) * 2016-11-18 2020-04-07 杭州电子科技大学 一种高速真随机数发生器
CN107193532B (zh) * 2017-06-27 2023-08-18 浙江九州量子信息技术股份有限公司 一种基于分时交替采样的高速量子随机数发生系统
CN108345446B (zh) * 2018-03-08 2021-08-10 太原理工大学 一种高速随机数产生方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101515228A (zh) * 2009-02-13 2009-08-26 华中科技大学 一种真随机数发生器
CN109830888A (zh) * 2019-01-24 2019-05-31 西南大学 一种基于硅基微腔混沌产生物理随机数装置

Also Published As

Publication number Publication date
CN110780846A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN108345446B (zh) 一种高速随机数产生方法及装置
WO2019222866A1 (zh) 一种具有检测校正功能的真随机数产生方法与装置
CN108509180B (zh) 一种基于二输入异或门低功耗随机数产生装置
Demir et al. Random number generators based on irregular sampling and Fibonacci–Galois ring oscillators
Panda et al. A coupled variable input LCG method and its VLSI architecture for pseudorandom bit generation
CN113672199B (zh) 一种具备物理不可克隆函数功能的多熵源随机数发生器
CN105138307A (zh) 一种基于相位噪声的可集成真随机数产生方法及装置
WO2021232255A1 (zh) 真随机数发生器及电子设备
Gupta et al. Efficient hardware implementation of pseudo-random bit generator using dual-CLCG method
CN110795064B (zh) 一种Gbps量级的高速、实时物理随机数产生方法及装置
CN205015881U (zh) 一种基于相位噪声的可集成真随机数产生装置
CN110780846B (zh) 一种由低速物理随机数产生高速物理随机数的方法及装置
kumar Singh et al. Design of LFSR circuit based on high performance XOR gate
CN110750234B (zh) 一种超高速实时物理随机数产生方法
CN112084539B (zh) 一种基于混合布尔网络的多功能物理不可克隆函数装置
CN110795063B (zh) 一种功耗和速率可调的物理随机数发生方法
CN111782179B (zh) 一种真随机数发生器
Lu et al. High-efficiency TRNG Design Based on Multi-bit Dual-ring Oscillator
Lin et al. Parallel scrambler for high-speed applications
Wang et al. 100 MHz random number generator design using interleaved metastable NAND/NOR latches
CN111949242B (zh) 基于fpga的亚稳态真随机数发生器
CN114384969B (zh) 一种高速真随机数的产生系统
CN112130810B (zh) 一种安全的高速随机数发生器及其结构优化方法
CN116880801B (zh) 一种双熵源物理随机数发生器
Sadoudi et al. Real-time FPGA implementation of Lü's chaotic generator for cipher embedded systems

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