CN108319448B - 一种用于随机数发生器中实现高速随机提取的方法 - Google Patents
一种用于随机数发生器中实现高速随机提取的方法 Download PDFInfo
- Publication number
- CN108319448B CN108319448B CN201810106571.1A CN201810106571A CN108319448B CN 108319448 B CN108319448 B CN 108319448B CN 201810106571 A CN201810106571 A CN 201810106571A CN 108319448 B CN108319448 B CN 108319448B
- Authority
- CN
- China
- Prior art keywords
- random number
- original data
- random
- extraction
- toeplitz matrix
- 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
Images
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
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)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种用于随机数发生器中实现高速随机提取的方法,用于实现高效、安全的随机数制备。其实现步骤如下,步骤1:根据监控数据所计算出的安全随机数含量;步骤2:检查随机提取设备的性能和资源情况,计算每次提取操作的最佳原始数据长度n,确定对应的Toeplitz矩阵大小,并构造对应的Toeplitz矩阵;步骤3:存储n长度原始数据,根据原始数据序列每一比特的值决定Toeplitz矩阵各列之间的运算规则;步骤4:当原始数据产生速率与随机提取速率不匹配时,调用若干个模块并行运行步骤3。本发明通过改变矩阵运算规则,实现了一种用于随机数发生器中的随机提取方法,满足加密应用中对实时高速安全的随机数产生的要求。
Description
技术领域
本发明涉及量子随机数生成领域,特别涉及基于量子源制备真随机数的随机提取步骤,尤其是一种基于量子源实时估算真随机数比率并进行低复杂度的高速实时进行随机提取,从而产生真随机数的方案。
背景技术
随机数在数值模拟、统计抽样、博彩、加密等领域有着广泛的应用。它的随机性影响着各种应用的性能。特别在量子密钥分发系统中,高速实时的随机数发生器是保证系统无条件安全及高性能的重要基础。怎样安全可靠地产生高速、真随机的随机序列是密码学领域重要的研究方向,具有重要的理论研究价值和迫切的实际应用需求。量子随机数发生器基于量子力学理论内在的随机性,理论可证能产生具有真正不可预测性的无穷长真随机数序列。实际加密系统需要高速安全的随机数产生,然而在实际系统中,安全的随机提取运行速率一直是限制系统整体速率的瓶颈,如何在有限的资源情况下进行低复杂度和高速的随机提取显得尤为重要。
现有的多数随机提取方法,多基于取最低有效位和异或操作实现高速的随机提取,然而,这种随机提取方法的安全性并没有被严格证明,难以保证最终所产生的随机数的安全性。本方案基于通用散列函数中的Toeplitz Hashing方案,从理论上已被证明其安全性,可以有效消除经典噪声的影响,从而产生安全的随机数输出。与此同时,先前的实现方案由于算法复杂度较高等原因,在实际运行时往往难以取得较高的运行速度,及随机提取速率与随机产生速率间有较大的差距。为了尽可能的弥补这一差距,本方案通过优化随机提取算法,充分调用计算平台的并行运算性能,从而有效提高了随机提取的速率。在计算平台缓存资源充足的前提下,本算法有能力实现一种无穷快的随机提取速率。
发明内容
(一)要解决的技术问题
针对随机数发生器中可证安全的随机提取速率与随机产生速率间存在较大的差距,本发明提出了一种用于随机数发生器中实现高速随机提取的方法,是一种将Toeplitz矩阵运算转化为矩阵列运算从而简化运算算法复杂度的方法。这种方法可以弥补安全随机提取速率与随机产生之间速率不匹配的问题,有效降低提高随机提取的算法复杂度。
(二)技术方案
本发明提供的一种用于随机数发生器中实现高速随机提取的方法,包括三个步骤:
步骤1:根据监控数据所计算出的安全随机数含量;
步骤2:检查随机提取设备的性能和资源情况,计算每次提取操作的最佳原始数据长度n,确定对应的Toeplitz矩阵大小,并构造对应的Toeplitz矩阵;
步骤3:存储n长度原始数据,根据原始数据序列每一比特的值决定Toeplitz矩阵各列之间的运算规则;
步骤4:当原始数据产生速率与随机提取速率不匹配时,调用若干个模块并行运行步骤3。
上述步骤按照顺序依次进行。
所述的系统实现根据监控所得的测量数据计算测量数据中真随机数的含量,是指预先调节系统参数测得所需数据,并根据最小熵公式计算所采集下来的数据中真随机数的含量,步骤1包括如下步骤:
其中,所述步骤1a中调节系统中的本征光光功率,ADC的动态电压输入范围为采集下来的数据方差的4至5倍,从而充分利用ADC的有效位数。
所述的检查随机提取设备的性能和资源情况,计算每次提取操作的最佳原始数据长度n,确定对应的Toeplitz矩阵大小,并构造对应的Toeplitz矩阵,是指计算平台的运行速度和内存大小是有限的,实际运行过程中需考虑硬件的承载能力,确定最优的单次数据运行的数据块大小,从而确定对应的矩阵,步骤2包括如下步骤:
步骤2a:检查随机提取设备的性能和资源情况,通过不断调整每次操作的原始数据长度,和对应的大小的Toeplitz矩阵,确定最优的单次提取操作的最佳原始数据长度n和对应的Toeplitz矩阵;
步骤2b:根据步骤2a确定的Toeplitz矩阵大小,调用预存的随机比特,构造Toeplitz矩阵。
所述的根据原始数据序列每一比特的值决定Toeplitz矩阵各列之间的运算规则,是指根据原始数据序列每一比特的值,决定Toeplitz矩阵各列之间是否进行异或操作,步骤3包括如下步骤:
步骤3b:当第i个原始数据序列比特为0时,中间变量bi=bi-1,即bi保持不变。
步骤3c:当i等于n时,中间变量bn即为当次矩阵操作的结果。
所述的当原始数据产生速率与随机提取速率不匹配时,调用若干个模块并行运行步骤3,是指由于计算平台的资源有限,难以对长序列进行高速随机提取操作,需要将高速产生的随机比特缓存于缓存介质中,并调用若干个模块依此执行步骤3操作,从而弥补原始数据产生速率与随机提取速率之间的速度差,步骤4包括如下步骤:
步骤4a:将高速产生的随机比特缓存于缓存介质中;
步骤4b:确定原始数据产生速率与随机提取速率之间的速率差距,调用多个模块依此执行步骤3操作实现随机提取。
步骤4c:将步骤4b计算结果依此输出即为随机提取结果。
(三)有益效果
本发明通过调整Toeplitz矩阵的运算算法,将矩阵相乘操作转变为矩阵列运算,大幅度降低算法的复杂度,实现在相同资源下随机提取速率提升千倍以上,有效的利用计算和存储资源,大大提高了资源利用率,提高了效率。弥补了高速随机产生速率与低速随机提取之间的差距,从而实现高速安全的随机提取操作。
附图说明
图1为本发明的优化算法实现过程示意图
其中,t为m+n-1比特随机数,ai取t的低m比特,ri为输入的n比特原始数据的第i比特的值,当ri为1时,中间变量bi=ai异或bi-1,当ri为0时,bi维持不变。算法中根据Toeplitz矩阵的特点,设计了以右移t同时取t的低m比特的方式来实现Toeplitz矩阵的构造。通过以上算法,使得随机提取的复杂度降低。
具体实施方式
本发明通过优化Toeplitz Hashing随机提取操作算法,降低算法运行复杂度,充分利用计算平台的计算资源,实现在相同资源情况下高效实时随机提取,弥补现有高速随机产生速率和低速随机提取速率之间的差距,实现安全高速的随机提取。具体步骤如下:
1.适当地调节系统中的本征光光功率以获取多组测量数据M的方差且ADC的动态电压输入范围为采集下来的数据标准差σM的4至5倍。而后通过关闭本振光以获取多组电噪声E的方差根据最小熵计算公式获得安全的随机数含量γ;
2.检查随机提取设备的性能和资源情况,通过不断调整每次操作的原始数据长度,和对应的大小的Toeplitz矩阵,确定最优的单次提取操作的最佳原始数据长度n和对应的Toeplitz矩阵;调用预存的n+m-1比特长度的随机比特,构造Toeplitz矩阵,其中m≤nγ。
3.根据原始数据序列每一比特的值决定Toeplitz矩阵各列之间的运算规则,如附图1所示,当第i个原始数据序列比特为1时,中间变量其中ai为Toeplitz矩阵的第i列;当第i个原始数据序列比特为0时,中间变量bi=bi-1,即bi保持不变。当i等于n时,中间变量bn即为当次矩阵操作的结果。
4.由于实际情况中原始数据产生速率与单个模块的随机提取速率不能完全匹配,当原始数据产生速率大于随机提取速率时,调用若干个模块并行运行步骤3,是指由于计算平台的资源有限,难以对长序列进行高速随机提取操作,需要将高速产生的随机比特缓存于缓存介质中,并调用若干个模块依此执行步骤3操作,从而弥补原始数据产生速率与随机提取速率之间的速度差,将上述若干个模块的计算结果依此输出即为随机提取结果。
Claims (4)
1.一种用于随机数发生器中实现高速随机提取的方法,其特征在于,包括:
步骤1:根据监控数据计算出安全随机数含量;
步骤2:检查随机提取设备的性能和资源情况,计算每次提取操作的最佳原始数据长度n,确定对应的Toeplitz矩阵大小,并构造对应的Toeplitz矩阵;
包括如下步骤:
步骤2a:检查FPGA的资源配置,包括FPGA处理速度、内存大小、显示查找表资源;
步骤2b:以单次处理的原始数据长度为Toeplitz矩阵的列数n,以单次处理的原始数据长度和安全随机数含量的乘积值来确定Toeplitz矩阵的行数m,调用m+n-1比特预存的随机数作为种子构造Toeplitz矩阵;
步骤2c:根据FPGA资源情况,确定原始数据长度和Toeplitz矩阵T的大小为m×n;
步骤3:存储n长度原始数据,根据原始数据序列每一比特的值决定Toeplitz矩阵各列之间的运算规则;包括如下步骤:
步骤3a:存储比特长度为n的原始数据和比特长度为m+n-1的随机数t;
步骤3b:每一运算周期,t右移1比特,并取t的末m比特为Toeplitz矩阵的对应列,当对应原始数据序列的第i比特ri为1时,中间变量否则,当对应原始数据序列的第i比特ri为0时,中间变量bi=bi-1,即bi保持不变;当对应原始数据序列的第i比特ri为n时,中间变量bn即为当次矩阵操作的结果;其中ai为Toeplitz矩阵的第i列;
步骤4:当原始数据产生速率与随机提取速率不匹配时,调用若干个模块并行运行步骤3;上述步骤按照顺序依次进行。
3.根据权利要求1所述的一种用于随机数发生器中实现高速随机提取的方法,其特征在于,所述步骤4包括如下步骤:
步骤4a:当原始数据产生速率与随机提取速率不匹配时,将采集到的原始数据收集缓存于缓存介质中,并划分为k个比特长度为m的原始数据模块,使得随机提取速率不小于原始数据产生速率;
步骤4b:调用k个模块并行运行步骤2;
步骤4c:将随机提取所得的数据实时输出。
4.根据权利要求1所述的一种用于随机数发生器中实现高速随机提取的方法,其特征在于,所述步骤1中根据监控数据计算出安全随机数含量在系统运行过程中按一定比例随机进行,计算所得安全随机数的含量用于下一时间段的随机提取;
步骤3a中所述的m+n-1比特随机数为预先存入的安全随机数,该随机数定期更新,更新所用随机数为系统自身生成的随机数;
步骤3b中利用将t右移1比特并取低m比特的方式构造Toeplitz矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810106571.1A CN108319448B (zh) | 2018-02-02 | 2018-02-02 | 一种用于随机数发生器中实现高速随机提取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810106571.1A CN108319448B (zh) | 2018-02-02 | 2018-02-02 | 一种用于随机数发生器中实现高速随机提取的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108319448A CN108319448A (zh) | 2018-07-24 |
CN108319448B true CN108319448B (zh) | 2022-06-07 |
Family
ID=62902707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810106571.1A Active CN108319448B (zh) | 2018-02-02 | 2018-02-02 | 一种用于随机数发生器中实现高速随机提取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108319448B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114741202B (zh) * | 2022-04-27 | 2024-10-15 | 苏州浪潮智能科技有限公司 | 一种fpga设备的算法配置方法、装置、设备及存储介质 |
CN115361127B (zh) * | 2022-08-23 | 2024-10-18 | 中国科学院计算技术研究所 | 一种量子随机数后处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713879A (zh) * | 2013-12-30 | 2014-04-09 | 中国科学技术大学 | 基于光子到达时间的无偏高速量子随机数发生器 |
CN105022606A (zh) * | 2015-06-30 | 2015-11-04 | 中国科学技术大学先进技术研究院 | 基于激光相位波动的超高速量子随机数发生器和发生方法 |
CN106155629A (zh) * | 2016-06-15 | 2016-11-23 | 中国科学技术大学 | 随机数高速实时处理器及其实现方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6862489B2 (en) * | 2003-01-31 | 2005-03-01 | Yieldboost Tech, Inc. | System and method of monitoring, predicting and optimizing production yields in a liquid crystal display (LCD) manufacturing process |
WO2008013008A1 (fr) * | 2006-07-26 | 2008-01-31 | Japan Science And Technology Agency | Procédé de communication secrète et dispositif de communication secrète de celui-ci |
-
2018
- 2018-02-02 CN CN201810106571.1A patent/CN108319448B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713879A (zh) * | 2013-12-30 | 2014-04-09 | 中国科学技术大学 | 基于光子到达时间的无偏高速量子随机数发生器 |
CN105022606A (zh) * | 2015-06-30 | 2015-11-04 | 中国科学技术大学先进技术研究院 | 基于激光相位波动的超高速量子随机数发生器和发生方法 |
CN106155629A (zh) * | 2016-06-15 | 2016-11-23 | 中国科学技术大学 | 随机数高速实时处理器及其实现方法 |
Non-Patent Citations (2)
Title |
---|
Highspeed and bias-free optical random number generator;Wei,W.,et.al;《IEEE Photonics Technology Letters》;20121231;全文 * |
连续变量量子密钥分发协议的安全性证明及协议改进;张一辰;《中国优秀博士学位论文全文数据库·信息科技辑》;20170610;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108319448A (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhen et al. | Chaos-based image encryption scheme combining DNA coding and entropy | |
Nematzadeh et al. | Binary search tree image encryption with DNA | |
Wang et al. | A new chaos-based fast image encryption algorithm | |
WO2023040365A1 (zh) | 基于多尺度压缩感知和马尔科夫模型的图像加密方法 | |
CN106778304B (zh) | 一种具有明文相关置乱机制的快速混沌图像加密方法 | |
CN108319448B (zh) | 一种用于随机数发生器中实现高速随机提取的方法 | |
US11757616B2 (en) | Image encryption method based on improved class boosting scheme | |
CN109145624A (zh) | 一种基于Hadoop平台的多混沌文本加密算法 | |
Li et al. | High-speed and adaptive fpga-based privacy amplification in quantum key distribution | |
CN112819168A (zh) | 一种格密码加解密中的环多项式乘法器电路 | |
CN114911455B (zh) | 基于fpga的高速伪随机数生成方法及高速伪随机数生成器 | |
Song et al. | Multi-image reorganization encryption based on SLF cascade chaos and bit scrambling | |
Awad et al. | New chaotic permutation methods for image encryption | |
CN105138306A (zh) | 一种数据位数可选的伪随机信号发生方法 | |
CN111966329B (zh) | 一种基于物理不可克隆函数puf的真随机数发生器 | |
CN106201435B (zh) | 基于细胞神经网络的伪随机数生成方法 | |
CN204856461U (zh) | 一种数据位数可选的伪随机信号发生器 | |
CN204883682U (zh) | 一种多通道伪随机信号发生器 | |
CN118153703B (zh) | 一种基于字处理的量子随机数后处理方法及装置 | |
Lee et al. | Low complexity digit-serial multiplier over GF (2^ m) using Karatsuba technology | |
Beirami et al. | A performance metric for discrete-time chaos-based truly random number generators | |
Liu et al. | A Spatiotemporal Chaotic Sequence Based on Coupled Chaotic Tent Map Lattices System With Uniform Distribution. | |
CN113179160B (zh) | 一种适用于qkd中私钥放大的最优输入码长处理方法及单元 | |
Zhou et al. | Image encryption algorithms based on chaos through dual scrambling of dynamic Josephus ring and bit | |
Liu et al. | Parallel HAIFA Hashing Algorithm Based on Lorenz Chaos |
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 |