CN107301033A - 一种真随机数发生器最大熵速率的测试方法 - Google Patents
一种真随机数发生器最大熵速率的测试方法 Download PDFInfo
- Publication number
- CN107301033A CN107301033A CN201710444751.6A CN201710444751A CN107301033A CN 107301033 A CN107301033 A CN 107301033A CN 201710444751 A CN201710444751 A CN 201710444751A CN 107301033 A CN107301033 A CN 107301033A
- Authority
- CN
- China
- Prior art keywords
- rate
- data
- entropy rate
- random number
- 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.)
- Granted
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
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)
Abstract
本发明属于信息安全和真随机数发生器技术领域,具体为一种真随机数发生器最大熵速率的测试方法。本发明公开的真随机数发生器最大熵速率的测试方法,包括:参数选取、数据采集、分块计算和分析拟合四个步骤。本发明利用随机数据流分块后计算得到的平均熵速率随着数据块长度的减小和数据率的提高而发生饱和的特性,对饱和熵速率与数据块长度关系曲线进行线性拟合,拟合直线当数据块长度为1时对应的函数值即为最大熵速率。本发明能够有效解决真随机数发生器的测试中最大熵速率无法唯一确定的问题。
Description
技术领域
本发明属于信息安全和真随机数发生器技术领域,具体涉及真随机数发生器最大熵速率的测试方法。
背景技术
硬件实现真随机数发生器时,由于物理机制的约束决定了它的熵速率具有一个最大值,即最大熵速率。当数据率高于最大熵速率时,只会导致输出数据流的信息熵下降。因此,最大熵速率是反映真随机数发生器随机特性的重要性能指标,通过测试确定最大熵速率是真随机数发生器在信息安全领域应用的关键。
公知的真随机数生器最大熵速率的测试方法,如图1所示:在采样速率Ri下,对随机数据发生器输出的随机数据流进行采样得到总长度为M的采集数据Xi,其数据率即为采样速率;对上述采样数据根据以下公式求得信息熵:
H(Xi)=-(p0×log2p0+p1×log2p1)
其中:p0和p1分别是长度为M的采集数据中“0”和“1”所占的比例,进而根据以下公式求得熵速率:
H'(Xi)=Ri×H(Xi)
因此,最大熵速率为:
H'max(X)=max{H'(Xi)}
上述方法的缺点在于:通过上述测试方法得到的熵速率将会随着采样速率的提高而不断提高,如图2所示,因此无法唯一地确定最大熵速率;即使得到了最大熵速率也只因受限于测试条件,而无法真实反映随机数发生器的随机性能。
发明内容
为解决上述真随机数发生器的最大熵速率无法唯一测试确定的问题,本发明提供一种真随机数发生器最大熵速率的测试方法。
本发明提供的真随机数发生器最大熵速率的测试方法,利用随机数据流分块后计算得到的平均熵速率随着数据块长度的减小和数据率的提高而发生饱和的特性,对饱和熵速率与数据块长度关系曲线进行线性拟合,拟合直线当数据块长度为1时对应的函数值即为最大熵速率。本发明能够有效解决真随机数发生器的测试中最大熵速率无法唯一确定的问题。具体包括如下4个步骤:参数选取(S1)、数据采集(S2)、分块计算(S3)和分析拟合(S4);见图3所示。其中:
(1)参数选取(S1):选取一组采样速率组成数据率集合F={Ri}(i=1,2,...,r),选取一组数据块长度组成块长度集合L={Kj}(j=1,2,...,k);
(2)数据采集(S2):选取数据率集合F中的一个元素Ri作为采样速率,对真随机数据发生器输出的随机数据流进行采样得到总长度为M的采集数据Di;遍历数据率集合F中所有的元素,得到r组采集数据{Xi}(i=1,2,...,r);
(3)分块计算(S3):遍历数据率集合F和块长度集合L中元素的所有组合{(Ri,Kj)},重复子步骤S3-1到S3-4,计算得到r*k个平均熵速率:
S3-1:以Kj为块长度将数据率为Ri、总长度为M的采集数据Di分成不交叠的N块数据,组成集合X={xn}(n=1,2,...,N),根据关系式1计算块数N;
关系式1:
S3-2:根据关系式2计算第n块数据xn的信息熵H(xn);
关系式2:H(xn)=-(p0×log2p0+p1×log2p1);
关系式2中p0和p1分别是在长度为Kj的数据块中“0”和“1”所占的比例;
S3-3:根据关系式3计算N块数据的平均信息熵Have(X);
关系式3:
S3-4:根据关系式4计算在数据率Ri、块长度Kj条件下采集数据Di的平均熵速率H’ave(X);
关系式4:H'ave(X)=Ri×Have(X);
(4)分析拟合(S4):以块长度({Kj})为参数,作出平均熵速率H’ave(X)与数据率的一族共k条关系曲线1;关系曲线1具有平均熵速率随着数据率的提高而饱和的特性,从而可以得到以块长度为变量的一组共k个饱和熵速率H’sat(X);作出饱和熵速率H’sat(X)与块长度({Kj})的关系曲线2;对关系曲线2进行线性拟合,得到的拟合直线当块长度等于1时对应的函数值即为最大熵速率H’max(X)。
上述真随机数发生器最大熵速率的测试方法,所述参数选取步骤中,所选择的数据率集合F中必须包含大于所测真随机数发生器理论熵速率的元素,才能从平均熵速率H’ave(X)与数据率的关系曲线中得到饱和熵速率。
本发明的有益效果是通过测试真随机数发生器输出数据流,唯一地确定待测真随机数发生器的最大熵速率,为其在信息安全领域中的应用提供了重要的测试依据。
附图说明
图1是公知的传统最大熵速率的测试方法。
图2是利用公知的统熵最高速率的测试方法,所测得的熵速率与数据率的关系曲线。
图3是本发明的一种真随机数最大熵速率的测试方法。
图4是本发明的实施例,以块长度为参数,测试得到的平均信息熵与数据率的关系曲线。
图5是本发明的实施例,以块长度为参数,测试得到的平均熵速率与数据率的关系曲线。
图6是本发明的实施例,通过对饱和熵速率与块长度关系曲线的线性拟合,得到最大熵速率。
具体实施方式
为了便于理解,以下将结合具体的附图和实施方式对本发明进行详细地描述。需要指出的是,图4、图5、图6仅是本发明的实施举例和解释,并不用于限定本发明权利要求范围内的具体实施的形式和细节。对于本领域的普通技术人员,在不付出创造性劳动的前提出,还可以根据这些附图获得其它附图。在本发明范围内作出各种不同的修正和变化,这些修正和变化也纳入本发明的范围内。
图3是本发明的一种真随机数最大熵速率的测试方法,包括:参数选取(S1)、数据采集(S2)、分块计算(S3)和分析拟合(S4)四个步骤。
实施例:按照本发明的步骤,对某一真随机数发生器的最大熵速率进行测试。
按照本发明的步骤一,选取了共15个频点数据率:F={10kHz,20kHz,50kHz,100kHz,200kHz,500kHz,1MHz,2MHz,5MHz,10MHz,20MHz,50MHz,100MHz,250MHz,500MHz};选取了共5种块长度:L={16,32,64,128,256}。
按照本发明的步骤二,采用上述选取的每一个数据率作为采样率,对真随机数的输出数据流进行采样;对于每个采样频点,测试采集的数据长度M=4Mbits=222bits。
按照本发明的步骤三,根据关系式1、关系式2、关系式3和关系式4对采集数据进行计算,得到15*5个平均信息熵和15*5个平均熵速率。
图4是将步骤三中得到的平均信息熵的计算结果,以块长度为参数、数据率为自变量作出的一族共5条关系曲线。可以观察到:平均信息熵随着数据率的提高经过了由平坦到逐渐下降的变化过程;并且,在同一数据率下,平均熵速率随着块长度的减小而减小。
图5是按照本发明的步骤四,将步骤三中得到的平均熵速率的计算结果,以块长度为参数、数据率为自变量作出的一族共5条关系曲线,即上述关系曲线1。可以观察到:平均熵速率随着数据率的提高经过了由线性上升到逐渐平坦(饱和)的变化过程,曲线平坦部分对应的熵速率即为饱和熵速率;并且,在同一数据率下,饱和熵速率随着块长度的减小而减小。
图6是按照本发明的步骤四,根据图5得到的一组饱和熵速率,作出的饱和熵速率与块长度的关系曲线,即上述关系曲线2。可以观察到:饱和熵速率与块长度呈现出线性关系。对该关系曲线进行线性拟合,拟合直线当块长度为1时对应的函数值就是该真随机数的最大熵速率,即:903584.71位/秒。
Claims (2)
1.一种真随机数发生器最大熵速率的测试方法,其特征在于,包括:参数选取(S1)、数据采集(S2)、分块计算(S3)和分析拟合(S4)四个步骤;
(1)参数选取(S1):选取一组采样速率组成数据率集合F={Ri}(i=1,2,...,r),选取一组数据块长度组成块长度集合L={Kj}(j=1,2,...,k);
(2)数据采集(S2):选取数据率集合F中的一个元素Ri作为采样速率,对真随机数据发生器输出的随机数据流进行采样,得到总长度为M的采集数据Di;遍历数据率集合F中所有的元素,得到r组采集数据{Xi}(i=1,2,...,r);
(3)分块计算(S3):遍历数据率集合F和块长度集合L中元素的所有组合{(Ri,Kj)},重复子步骤S3-1到S3-4,计算得到r*k个平均熵速率:
S3-1:以Kj为块长度将数据率为Ri、总长度为M的采集数据Di分成不交叠的N块数据,组成集合X={xn}(n=1,2,...,N),根据关系式1计算块数N;
关系式1:
S3-2:根据关系式2计算第n块数据xn的信息熵H(xn);
关系式2:H(xn)=-(p0×log2p0+p1×log2p1);
关系式2中p0和p1分别是在长度为Kj的数据块中“0”和“1”所占的比例;
S3-3:根据关系式3计算N块数据的平均信息熵Have(X);
关系式3:
S3-4:根据关系式4计算在数据率Ri、块长度Kj条件下采集数据Di的平均熵速率H’ave(X);
关系式4:H'ave(X)=Ri×Have(X);
(4)分析拟合(S4):以块长度({Kj})为参数,作出平均熵速率H’ave(X)与数据率的一族共k条关系曲线1;关系曲线1具有平均熵速率随着数据率的提高而饱和的特性,从而可以得到以块长度为变量的一组共k个饱和熵速率H’sat(X);作出饱和熵速率H’sat(X)与块长度({Kj})的关系曲线2;对关系曲线2进行线性拟合,得到的拟合直线当块长度等于1时对应的函数值即为最大熵速率H’max(X)。
2.根据权利要求1所述的真随机数发生器最大熵速率的测试方法,其特征在于,所述参数选取步骤中,所选择的数据率集合F中包含大于所测真随机数发生器理论熵速率的元素,能从平均熵速率H’ave(X)与数据率的关系曲线中得到饱和熵速率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710444751.6A CN107301033B (zh) | 2017-06-13 | 2017-06-13 | 一种真随机数发生器最大熵速率的测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710444751.6A CN107301033B (zh) | 2017-06-13 | 2017-06-13 | 一种真随机数发生器最大熵速率的测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107301033A true CN107301033A (zh) | 2017-10-27 |
CN107301033B CN107301033B (zh) | 2021-09-17 |
Family
ID=60135506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710444751.6A Active CN107301033B (zh) | 2017-06-13 | 2017-06-13 | 一种真随机数发生器最大熵速率的测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107301033B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688092A (zh) * | 2019-09-04 | 2020-01-14 | 湖南遥昇通信技术有限公司 | 一种随机数生成方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6701236B2 (en) * | 2001-10-19 | 2004-03-02 | Yamaha Hatsudoki Kabushiki Kaisha | Intelligent mechatronic control suspension system based on soft computing |
CN101044449A (zh) * | 2004-07-23 | 2007-09-26 | 高通股份有限公司 | 用于随机数生成器的方法和装置 |
CN102542169A (zh) * | 2012-01-09 | 2012-07-04 | 中国科学院地理科学与资源研究所 | 一种在水文频率计算过程中进行线型选择的方法 |
CN103975373A (zh) * | 2011-11-30 | 2014-08-06 | 塞尔蒂卡姆公司 | 评估密码熵 |
US20140304316A1 (en) * | 2011-02-08 | 2014-10-09 | University Of Manitoba | True Random Number Generator Using GPU and Signal Processing Techniques |
US8874632B2 (en) * | 2011-03-07 | 2014-10-28 | Samsung Electronics Co., Ltd. | Apparatus for generating random number |
CN105247471A (zh) * | 2013-05-23 | 2016-01-13 | 新思公司 | 用于动态调谐对于随机数生成器的反馈控制的系统和方法 |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
CN106464236A (zh) * | 2014-05-12 | 2017-02-22 | 高通股份有限公司 | 熵源 |
-
2017
- 2017-06-13 CN CN201710444751.6A patent/CN107301033B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6701236B2 (en) * | 2001-10-19 | 2004-03-02 | Yamaha Hatsudoki Kabushiki Kaisha | Intelligent mechatronic control suspension system based on soft computing |
CN101044449A (zh) * | 2004-07-23 | 2007-09-26 | 高通股份有限公司 | 用于随机数生成器的方法和装置 |
US20140304316A1 (en) * | 2011-02-08 | 2014-10-09 | University Of Manitoba | True Random Number Generator Using GPU and Signal Processing Techniques |
US8874632B2 (en) * | 2011-03-07 | 2014-10-28 | Samsung Electronics Co., Ltd. | Apparatus for generating random number |
CN103975373A (zh) * | 2011-11-30 | 2014-08-06 | 塞尔蒂卡姆公司 | 评估密码熵 |
CN102542169A (zh) * | 2012-01-09 | 2012-07-04 | 中国科学院地理科学与资源研究所 | 一种在水文频率计算过程中进行线型选择的方法 |
CN105247471A (zh) * | 2013-05-23 | 2016-01-13 | 新思公司 | 用于动态调谐对于随机数生成器的反馈控制的系统和方法 |
CN106464236A (zh) * | 2014-05-12 | 2017-02-22 | 高通股份有限公司 | 熵源 |
CN105867877A (zh) * | 2016-03-25 | 2016-08-17 | 中国科学技术大学 | 一种基于fpga的真随机数发生器 |
Non-Patent Citations (3)
Title |
---|
SANU K. MATHEW 等: "μ RNG: A 300–950 mV, 323 Gbps/W All-Digital Full-Entropy True Random Number Generator in 14 nm FinFET CMOS", 《IEEE》 * |
宋晓东 等: "连续压实指标最大熵统计分布模型研究", 《路基工程》 * |
邓焕 等: "基于振荡器的高性能真随机数发生器", 《硅微电子学》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688092A (zh) * | 2019-09-04 | 2020-01-14 | 湖南遥昇通信技术有限公司 | 一种随机数生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107301033B (zh) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104614976B (zh) | 一种基于fpga的时间数字变换器 | |
Ma et al. | Postprocessing for quantum random-number generators: Entropy evaluation and randomness extraction | |
DE102013205091A1 (de) | Verfahren zum erkennen unbefugter fremdeinwirkungen auf daten | |
CN104897961A (zh) | 基于互乘法窗函数的三谱线插值fft谐波分析方法及系统 | |
CN103810169B (zh) | 一种挖掘社区领域专家的方法和装置 | |
CN101900761B (zh) | 一种高准确度非整周期采样谐波分析测量方法 | |
CN104280612A (zh) | 一种基于单频电流传输特性的分布式谐波源辨识方法 | |
CN110285044A (zh) | 基于树莓派的水泵振动监测分析仪及方法 | |
Chen et al. | Chinese Gini coefficient from 2005 to 2012, based on 20 grouped income data sets of urban and rural residents | |
CN107301033A (zh) | 一种真随机数发生器最大熵速率的测试方法 | |
CN109257159A (zh) | 新型高维超混沌系统的构造方法 | |
CN108776264A (zh) | 数字示波器的fft分析装置 | |
CN206470388U (zh) | 在动态负荷下的计量性能的评估装置 | |
CN102928805B (zh) | 多表位数字化电能表校验仪 | |
CN108490380A (zh) | 一种电压电流互感器在线校验系统 | |
Arandia-Perez et al. | Modeling automatic meter reading water demands as nonhomogeneous point processes | |
CN103869155A (zh) | 一种基于plc高速输入的发电机频率测量方法及装置 | |
CN110414755A (zh) | 一种对评价对象进行评价的方法和装置 | |
CN109639319B (zh) | 一种基于复杂电力线拓扑环境下的多源端噪声建模方法 | |
CN101149410A (zh) | 一种基于眼图和误码率关系的抖动分析方法 | |
CN107220921A (zh) | 一种对能耗在线监测系统所采集数据的验证方法 | |
CN103105532A (zh) | 一种改进傅里叶变换的谐波电能计量系统及其控制方法 | |
Ranucci et al. | Periodogram and likelihood periodicity search in the SNO solar neutrino data | |
Foot | Are four neutrino models ruled out? | |
CN103560921B (zh) | 一种网络流数据的归并方法 |
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 |