CN1643494A - 函数间隙平均在线随机性测试 - Google Patents
函数间隙平均在线随机性测试 Download PDFInfo
- Publication number
- CN1643494A CN1643494A CN03806861.3A CN03806861A CN1643494A CN 1643494 A CN1643494 A CN 1643494A CN 03806861 A CN03806861 A CN 03806861A CN 1643494 A CN1643494 A CN 1643494A
- Authority
- CN
- China
- Prior art keywords
- random
- gap length
- predetermined acceptance
- bit
- acceptance ranges
- 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.)
- Pending
Links
- 238000001583 randomness test Methods 0.000 title description 5
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012360 testing method Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000012935 Averaging Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000528 statistical test Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Operations Research (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明是用于实时测试由随机数生成器生成的随机数的方法和设备。利用随机数生成器生成随机比特流,然后所生成的随机比特受到函数指数平均间隙长度计算,其中具有完全相同比特模式的多个子序列的出现之间的距离被识别,并且被应用于函数权重以及指数平均,以便获得平均间隙长度。将平均间隙长度与预定验收范围相比较,由此如果平均间隙长度重复地超出预定验收范围达预定次数以上,那么确定所生成的随机比特是不充分地随机的。
Description
发明背景
1.发明领域
本发明涉及随机数生成器领域,具体来讲,涉及一种用于生成真二进制随机序列的数字数据处理的设备和方法。
2.相关技术说明
许多电子设备具备随机数生成器,用于各种随机应用。特别是在这样的计算机时代,其中随机性对于确保安全性来说是极其重要的,由此随机数生成器尤其重要。然而,在实际应用中,很难生成真随机序列。例如,当随机数生成器在一时间周期上生成1的和0的序列时,随机数生成器的硬件部件中通常产生热量。生成1比特往往比生成0比特消耗更多功率。照此,如果生成1比特的长序列,那么电路变热,会令所述电路“闭锁(latch up)”,由此大部分情况下生成1比特而很少地生成0比特。当生成0比特同时电路变热时,可能产生不同的效果。在该情况下,1比特的长子序列变得非常罕有。在长子序列经常由0的或者1的相等比特组成的随机序列中,如前段中所描述的那样,偏离的0/1频率误差将具有破坏安全的灾难性结果。
许多应用的安全性取决于随机数字生成的实际随机性。因此,当进行随机性测试时,必须进行硬件篡改和部件故障的检测。常规的随机性测试对生成的随机数字序列通过大量的统计测试执行,诸如X2测试、Δ测试等等。然而,由于这种测试需要大量的计算处理功率,因此实时执行这种测试是费用浩大的。
发明简述
本发明克服了上述问题,并且通过提供一种用于提供在线随机性测试以确保生成的随机数充分地随机的方法和设备,由此提供了额外的优点。
根据本发明的一方面,一种用于当生成随机数流时测试随机性的方法,包括以下步骤:生成随机二进制比特的连续流;将所生成的随机比特应用于指数函数间隙平均计算,以计算在完全相同的比特模式出现之间的加权平均间隙长度;以及,通过将指数间隙运算的输出与预定验收范围(acceptance range)比较,来确定所生成的随机比特是否是充分地随机的,其中,该预定验收范围由操作者选择以便获得所希望的安全阈值水平。所述方法还包括以下步骤:当平均间隙长度重复地超出预定验收范围达到预定次数以上时,确定所生成的随机比特是不充分地随机的;当平均间隙长度重复地超出预定验收范围达到预定次数以上时,通知所生成的随机比特是不充分地随机的;当平均间隙长度重复地超出预定验收范围达预定次数以上时,生成一个新的随机比特组;以及,当平均间隙长度重复地超出预定验收范围达到预定次数以上时,拒绝所生成的随机比特用于后续的应用。
依照本发明的另一方面,一种用于测试由随机数生成器生成的随机数的方法,包括以下步骤:(a)利用随机数生成器生成随机比特流,(b)把所生成的随机比特应用到间隙长度计算运算;(c)把间隙长度运算的输出应用于函数指数平均,以获得函数-平均-间隙的长度;(d)将所述函数-平均-间隙的长度与预定验收范围进行比较;以及,(e)确定函数平均间隙的长度是否超出预定验收范围达预定次数以上。所述方法还包括以下步骤:当函数-平均-间隙的长度超出预定验收范围达预定次数以上时,确定所生成的随机比特是不充分地随机的,如果函数-平均-间隙的长度在预定验收范围内,重复步骤(a)-(e),直到所述函数-平均-间隙的长度超出预定验收范围;当重复步骤(a)-(e)达预定次数以上时,通知生成了是不充分地随机的数;以及,当重复步骤(a)-(e)达预定次数以上时,生成一个新的随机数组。
依照本发明的再一方面,一种用于测试由随机数生成器生成的随机数的设备,包括:用于生成包括二进制比特的随机数的装置;用于根据指数函数平均间隙长度测试来检测所生成的随机序列是否是不充分地随机的装置;以及,用于当确定所生成的随机序列是不充分地随机之时,为后续的应用控制所生成的随机序列的流动的装置,其中,执行指数-函数-平均间隙长度运算,以便计算完全相同比特模式的至少两次出现之间的平均间隙长度,并且其中,如果平均间隙长度重复地超出预定验收范围达预定次数以上,那么确定所生成的随机序列是不充分地随机的。所述设备还包括用于当平均间隙长度重复地超出预定验收范围达预定次数以上时,发送报警信号的装置,所述报警信号表明所生成的随机序列是不充分地随机的;以及,用于当平均间隙长度重复地超出预定验收范围达预定次数以上时,生成一个新的随机比特组的装置。
又一个方面在于:本发明可以依照为特定所需要的硬件、软件或者硬件和软件的组合来实现。
此外,本发明可以以简单的、可靠的并且廉价的设备实现。
当结合附图阅读以下详细说明时,这些及其他优点将对所述领域技术人员而言变得更加显而易见。
附图简述
图1举例说明了依照本发明实施例的随机数生成模块的简化框图;
图2示出了举例说明依照本发明实施例的随机数序列的“间隙”概念的图;以及
图3是举例说明依照本发明实施例的测试所生成的随机数的统计量的运算步骤流程图。
实施例的详细说明
在随后的描述中,为了说明的目的而不是限制,叙述了特定细节,诸如特定的体系结构、接口、技术等,以便提供对本发明的彻底的了解。然而,对于本领域技术人员显而易见的是,可以在脱离这些特定细节的情况下,依照其他实施例来实施本发明。为了简明并且清楚,省略了对众所周知的设备、电路和方法的详细说明,以免因不必要的细节而使本发明的描述变得模糊。
图1举例说明了依照本发明示范性实施例的随机数生成系统10的简化框图。系统10包括随机数生成器(RG)12,用于生成一连串随机数,还包括检测器14和开关16。应注意的是,系统10可以依照硬件和软件、由各种装置实现,并且还可以通过各式各样的控制器和处理器实现。此公开内容中的RG 12表示任何能够生成信号的设备,所述信号可以转换为二进制比特序列、信号的高斯型或者任何其他分布、表示0和1之间的数的信号序列、表示十进制数的信号序列、或者包括所要求的随机性的任何其他形式。开关16可以表示到加密系统、音频或者视频噪声生成器、计算机程序或者其他设备和过程的输入。
在操作中,RG 12生成随机数的连续流,在此期间,检测器14依照预定准则(稍后解释)来检测所生成的随机数字是否是真随机的。如果确定它们在预定验收水平内是充分地随机的,那么开关16允许所生成的随机数用于后续的应用,诸如任何电路、系统、过程、游戏应用、模拟、统计抽样、Diffie-Hellman密钥交换以及使用由RG 12提供的随机数的其他等等。作为选择,如果确定所生成的随机数是不充分地随机的,那么可以生成一个新的随机数组。
现在,将参照图2和3、就确定所生成的随机数是否是充分地随机的来进行详细说明。
参照图2,在RG 12处于操作中以便验证所生成的随机数字是充分地随机的同时、依照本发明的实施例实时测试随机数。当处理由RG 12生成的随机比特连续流时,检测器14计算相同比特模式的出现之间的间隙的函数平均。应该注意的是,存在各种平均法,这些方法可以依照本发明的技术实现;然而,优选使用如下所述的指数平均。
如图2所示,每当处理新的随机比特时,将新比特添加到先前的比特序列,直到收集了预定数目k个比特。可以存在2k个长度为k的比特模式,并且在完全相等的间隙模式的出现之间的间隙可以是任意大的。图2为了解释说明的目的,举例说明了一组6比特块作为一个k=6比特的单位;然而,应该理解的是,本发明可以支持任何正数个k比特。由此,不应该将附图中的6比特组规定为对本发明范围的限制。k的优选值范围从6到16比特。
指数平均累加器A被初始化,以计算k比特的任何两次完全相同模式之间的间隙长度的平均函数。当检测到相同比特模式重复出现时,计算上次出现和在前的那个之间的间隙。相同比特模式出现之间的个别间隙可以极大地变化,由此获得平均值可以给与随机性相对稳定的测量。应注意的是,如果每个不同模式出现之间的平均间隙必须被监控的话,那么需要使用许多计数器或者累加器(A)。为了节省计算资源,在本发明的实施例中,不同模式再次出现之间的所有间隙在单个累加器(A)中求平均。如果间隙的这种函数f获得平均而非间隙长度,这强调个别间隙值之间的差异,那么测试的灵敏性被极大地改善。大的间隙值偶而也出现在理想地随机序列中,由此,f的固有必要条件在于它不必对大的间隙给予过高的权重。否则,偶然的大间隙往往令理想地随机序列使测试失败。这种函数f可以任意地选择。两个示例是log函数和最小函数min(x,m),其中m为任意参数。
在所述实施例中,连续地运行函数间隙平均计算过程。照此,累加器A必须周期地清零,以避免溢出。为此目的,在本发明中使用了指数平均,其中在执行平均加法以前,累加器A以确定的0<α<1因子而减少,因此它决不会变得很大。也就是说,为了节省存储和执行时间,在本发明中应用了对函数间隙平均计算的指数平均。指数平均具有这样的属性,其中每当在累加器A中更新平均数时,老的平均值将具有减少的效应。
为了具有有益的平均效应,将α的值选择为接近1,α=1-1/n,n>>1。在该情况下,logα≈-1/n,并且平均值的半衰期是k≈n·log 2≈0.30103·n。在n个步骤之后,最旧的平均值权重变成(1-1/n)n≈1/e≈0.367879。这里,e是自然对数的底数(Euler常数);因此可以将项n称为平均值的自然寿命。如果要求平均的全部值是1,那么累加器值是1+α+α2+...=1/(1-α)=n,而如果全部比特是0,那么累加器值是0。应注意的是,指数平均的期望值是单个随机变量的期望值的指数平均。如果它们是均匀分布的二进制比特,那么期望值是1/2+1/2α+1/2α2+...=n/2。
依照本发明实施例的指数-间隙平均依照以下方式工作。每当获得间隙长度值x时,在0和1之间(0<α<1)的因子α倍增到累加器A,然后将加权函数应用于间隙长度,并且将由此产生的值f(x)加到累加器:Anew=α·Aold+f(x),其中x表示当前间隙长度。在本发明的一个实施例中,f(x)表示当前间隙长度和预定恒定值之间的最小值m。截止(cut-off)值m可以被调节,以便操作者为任意特定需要而有选择地微调所述测试。
一旦在累加器中执行指数平均,就将指数平均累加器A的值与预定验收范围相比较。也就是说,通过将累加器的值与预定验收范围值进行比较,来确定所生成的随机数模式是否不是充分地随机的。如果累加器的值在平均处理期间超出预定范围值,那么推断所生成的随机数字使不充分地随机的。这里,当测试重复失败时,可以设定阈值以通知用户。
在所述实施例中,可以根据从利用已知的良好资源的随机数的大量模拟获得的数据来有选择地调节确切的边界,在所述随机数中可以获得理想的间隙分布。这种随机序列可以购买,并且可以例如从各种网络资源处下载,所述网络资源包括“
www.fourmil.ab.ch/botbits”和“lavarand.sgi.com”。由此,操作者有选择地设置用于测试的实际范围,以便可以做出不同的灵敏度选择,所述灵敏度关于所生成的随机序列是否可被未被授权的当事方预测到。
图3是举例说明依照本发明的用于测试随机序列的统计质量的操作步骤流程图。矩形单元表明计算机软件指令,而菱形单元表示影响由矩形块表示的计算机软件指令的执行的计算机软件指令。作为选择,所述处理和判定块表示由功能等效电路执行的步骤,所述功能等效电路诸如数字信号处理器电路或者专用集成电路(ASIC)。应该注意的是,没有示出许多例行程序单元、诸如循环和变量初始化以及临时变量的使用。本领域中普通技术人员将理解的是,除非另有说明,否则在此描述的步骤的特定顺序仅仅是举例说明,并且在不脱离本发明精神的情况下可以变化。
如图3所示,在步骤120,随机性测试处理由随机数生成器12生成的随机二进制比特的连续流。在步骤140,所生成的随机比特受到函数平均间隙计算,其中计算并且更新规定长度的完全相同比特模式之间的函数间隙分布。也就是说,每当发现相同比特模式之间的间隙时,在步骤140,在累加器A中更新指数平均间隙值。这里,先前的指数平均函数间隙值以因子α(0<α<1)减少,然后,按加入的函数f加权的间隙长度如下:Anew=α·Aold+f(x),使得旧的平均间隙值将具有减小效应。这里,函数f可以是操作者选择的任何函数。最简单的选择是f(x)=min(x,m),另一个有益的选择是f(x)=log(x)。
此后,在步骤160,将受到指数平均运算之后的平均函数间隙值与预定验收范围相比较。如果累加器A的值超出预定验收范围,那么在步骤200确定已经检测到非随机的模式,并且计数器加1。否则,在步骤180重置计数器,并且控制返回到步骤120,以便生成其他随机数。在步骤220,如果计数器的值大于阈值,那么在步骤240发送所生成的随机数是不充分地随机的通知。作为选择,可以使开关16无效,以停止随机数流用于后续的应用。然后,可以丢弃所生成的随机数,并且可以启动利用生成的新的随机数的整个过程。如果在步骤220计数器的值没有超过阈值,则重复生成随机数的这一步骤。
如上所述的各种步骤可以通过将它们编程为函数、并入应用程序内来实现,并且所述技术领域的普通程序员可以利用通常的编程技术、利用诸如C、Visual Basic、Java、Perl、C++等等语言来实现。在示范性的实施例中,图3中描述的方法可以如下构造(利用C程序设计语言)。为简单起见,我们利用浮点运算实现测试。
附录:MS Visual C代码
这里列出了测试的两个变种。它们在函数f和初始化、验收范围常数方面不同。这些程序在其他方面相同。
/***************************************************\ * GapFun.c * GapFun<#random words><bit generator type><bit generator param> * 生成测试比特 * 对8比特字(不重叠的)执行截断的GapFun测试 * 使用循环计数器 * 截断间隙的指数平均 * 打印测试统计量 * * 另一个测试必须验证相等的字频率 * * GapFun 5e6 0 0.5 * 指数8比特字统计量的最大值最小值=159492 172722 * * GapFun 5e6 0 0.47->[没有检测到比Maurer大的偏置] * 指数8比特字统计量的最大值最小值=157347 171238 * * GapFun 5e6 2 8 0 1160->[较少8比特值均匀地设置通过(150 或者170失败)] * 指数8比特字统计量的最大值最小值=164864 165999 * Vers.1.0 04/22/01:由Laszlo Hars创建 * <dp n="d7"/> \******************************************************* / #include<stdio.h> #include<stdlib.h> #include<math.h> //乘数=1-1/2^10 #define W 0.9990234375 #define W0 1.66e5 #define LO 1.57e5 #define HI 1.75e5 #define WDLEN 8 #define WDNUM(1<<WDLEN) #define MAX(A,B)((A)>(B)?(A):(B)) #define MIN(A,B)((A)<(B)?(A):(B)) #define FUN(x)MIN(x,WDNUM) #define MASK16((1<<16)-1) typedef unsigned_int16 uint16;//具有循环差的16比特计 数器 // 外部函数原型 void BitGenInit(int argc,char *argv[]); unsigned int NextBit(); int main(int argc,char *argv[]) { int d,i,k,wd,n=(int)atof(argv[I]); uint16 t[WDNUM]; <dp n="d8"/> double s=W0,smin=1e9,smax=-1e9; if(argc<4){ printf(″Usage:GapFun<#random words><bit generator type> <bit generator params...>\n″), putchar(‘\a’);//响铃 exit(1);} BitGenInit(argc,argv); for(i=0;i<9*WDNUM;++i){ //初始化表 wd=NextBit(); for(k=1;k<WDLEN;++k) wd=(wd<<1)+NextBit(); t[wd]=(i&MASK16); } for(i=9*WDNUM;i<n;++i){ wd=NextBit(); for(k=1;k<WDLEN;++k) wd=(wd<<1)+NextBit(); d=(i&MASK16)-t[wd]; t[wd]=(i&MASK16); if(d<=0)d=d+MASK16+1;// 循环计数 s=s*W+FUN(d); // 指数平均 smax=MAX(s,smax); smin=MIN(s,smin); if(smin<LO||smax>HI){ printf(″Too large bias at word %d in 8-bit word statistics %g[%g %g]\n″,i,s,LO,HI); exit(2);} <dp n="d9"/> } printf(“Min Max of exponential 8-bit word statistics=%g %g\n″,smin,smax); // printf(″Last average is %g\n″,s); } /******************************************************* ****\ * Maurer.c * Maurer<#random words><bit generator type><bit generator param> * 生成测试比特 * 对8比特字(不重叠的)执行Maurer-Hars通用测试 * 使用循环计数 * 指数平均代替中值 * 打印测试统计量 * * 另一测试必须验证相等字频率 * * Maurer 5e6 0 0.5 * 指数8比特字统计量的最小值最大值=5021.54 6186.95 * * Maurer 1e6 0 0.48->[一些偏置保持未检测] * 指数8比特字统计量的最小值最大值=5012.34 5574.65 * * Maurer 1e6 2 8 01132->[规律设置的少数比特通过(所有8 比特值的52%)] * 指数8比特字统计量的最小值最大值=5007.72 5573.45 * * Vers.1.0 04/18/01:由Laszlo Hars创建 * <dp n="d10"/> \******************************************************* ******/ #include<stdio.h> #include<stdlib.h> #include<math.h> //乘数=1-1/2^10 #define W 0.9990234375 #define W0 5574.0 #define LO 5000.0 #define HI 6214.0 #define WDLEN 8 #define WDNUM(1<<WDLEN) #define MAX(A,B)((A)>(B)?(A):(B)) #define MIN(A,B)((A)<(B)?(A):(B)) #defineMASK16((1<<16)-1) typedef unsigned_int16 utnt16;//具有循环差的16比特计 数器 // 外部函数原型 void BitGenInit(int argc,chaT *argv[]); unsigned int NextBit(); int main(int argc,char *argv[]) { int d,i,k,wd,n=(int)atof(argv[1]); uint16 t[WDNUM]; double s=W0,smin=1e9,smax==-1 e9; <dp n="d11"/> if(argc<4){ printf(″Usage:Maurer<#random words><bit generator type><bit generator params..>\n″); putchar(‘\a′);//响铃 exit(1);} BitGenInit(argc,argv); for(i=0;i<9*WDNUM;++i){//初始化表 wd=NextBit(); for(k=1;k<WDLEN;++k) wd=(wd<<1)+NextBit(); t[wd]=(i&MASK16); } for(i=9*WDNUM;i<n;++i){ wd=NextBit(); for(k=1;k<WDLEN;++k) wd=(wd<<1)+NextBit(); d=(i&MASK16)-t[wd]; t[wd]=(i&MASK16); if(d<=0)d=d+MASK16+1;// 循环计数 s=s*W+log(d); // 指数平均 smax=MAX(s,smax); smin=MIN(s,smin); if(smin<LO||smax>HI){ printf(″Too large bias at word %d in 8-bit word statistics %g [%g %g]\n″,i,s,LO,HI); exit(2);} } printf(″Min Max of exponential 8-bit word statistics= <dp n="d12"/> %g %g\n″,smin,smax); }
虽然已经图解并且描述了本发明的优选实施例,但是本领域技术人员将理解的是,在不脱离本发明的真实范围的情况下,可以对本发明做出各种改变和修改,并且可以等效替代本发明的各个单元。另外,在不脱离中心范围的情况下,许多修改可以执行以适合于特殊的情况和本发明的教导。因此,应理解的是,本发明不限于依照用于执行本发明的最佳方式公开的具体实施例,而是本发明包括属于所附权利要求书范围的所有实施例。
Claims (22)
1.一种用于当生成随机数流时测试随机性的方法,所述方法包括以下步骤:
生成随机二进制比特的连续流;
将所述生成的随机比特应用于指数函数间隙平均计算,以便计算出现至少两个完全相同比特模式出现之间的加权平均间隙长度;以及,
通过将所述指数间隙运算的输出与预定验收范围进行比较,来确定所述生成的随机比特是否是充分地随机的。
2.如权利要求1所述的方法,其中所述预定验收范围由操作者选择,以便获得所期望的安全阈值水平。
3.如权利要求1所述的方法,还包括以下步骤:当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,确定所述生成的随机比特是不充分地随机的。
4.如权利要求1所述的方法,还包括以下步骤:当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,通知所述生成的随机比特是不充分地随机的。
5.如权利要求1所述的方法,还包括以下步骤:当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,生成一个新的随机比特组。
6.如权利要求1所述的方法,还包括以下步骤:当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,拒绝所述生成的随机比特用于后续的应用。
7.一种用于测试由随机数生成器生成的随机数的方法,所述方法包括以下步骤:
(a)利用所述随机数生成器生成随机比特流;
(b)把所述生成的随机比特应用于间隙长度运算;
(c)把所述间隙长度运算的输出应用于函数指数平均,以获得函数平均间隙长度;
(d)将函数平均间隙长度与预定验收范围进行比较;以及,
(e)确定函数平均间隙长度是否超出所述预定验收范围达预定次数以上。
8.如权利要求7所述的方法,其中所述预定验收范围由操作者选择,以便获得所期望的安全阈值水平。
9.如权利要求7所述的方法,还包括以下步骤:当函数平均间隙长度超出所述预定验收范围达所述预定次数以上时,确定所述生成的随机比特是不充分地随机的。
10.如权利要求7所述的方法,进一步包括步骤:
如果函数平均间隙长度在所述预定验收范围内,那么重复所述步骤(a)-(e),直到函数平均间隙长度超出所述预定验收范围。
11.如权利要求10所述的方法,还包括以下步骤:当所述步骤(a)-(e)被重复所述预定次数以上时,通知生成了是不充分地随机的数。
12.如权利要求7所述的方法,还包括以下步骤:当所述步骤(a)-(e)被重复了所述预定次数以上时,生成一个新的随机数组。
13.一种用于测试由随机数生成器生成的随机数的设备,包括:
用于生成包括二进制比特的随机序列的装置(12);
用于根据指数函数平均间隙长度运算来检测所述生成的随机序列是否是不充分地随机的装置(14);以及,
用于当确定所述生成的随机序列是不充分地随机之时,为后续的应用控制所述生成的随机序列的流动的装置(16),
其中所述指数-函数-平均间隙长度运算被执行,以计算完全相同比特模式至少两次出现之间的平均间隙长度,并且其中,如果平均间隙长度重复地超出预定验收范围达预定次数以上,那么确定所述生成的随机序列是不充分地随机的。
14.如权利要求13所述的设备,还包括:用于当平均间隙长度重复地超出所述预定验收范围达所述预定次数以上时,发送所述生成的随机序列是不充分地随机的报警信号的装置。
15.如权利要求13所述的方法,还包括:用于当平均间隙长度重复地超出所述预定验收范围达所述预定次数以上时,生成一个新的随机比特组的装置。
16.如权利要求13所述的设备,其中所述预定验收范围由操作者选择,以便获得所期望的安全阈值水平。
17.一种机器可读介质,其上存储有表示指令序列的数据,并且当由处理器执行时,所述指令序列令处理器执行:
处理由随机数生成器(12)生成的随机二进制比特的连续流;
将所述生成的随机比特应用于指数-函数-平均间隙长度计算,以计算完全相同比特模式至少两次出现之间的平均间隙长度;以及,
通过将所述指数间隙运算的输出与预定验收范围进行比较,来确定所述生成的随机比特是否是不充分地随机的。
18.如权利要求17所述的机器可读介质,其中所述预定验收范围由操作者选择,以便获得所期望的安全阈值水平。
19.如权利要求17所述的机器可读介质,其中所述处理器还可进一步操作,以便当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,确定所述生成的随机比特是不充分地随机的。
20.如权利要求17所述的机器可读介质,其中所述处理器还可进一步操作,以便当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,通知所述生成的随机比特是不充分地随机的。
21.如权利要求17所述的机器可读介质,其中所述处理器还可进一步操作,以便当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,处理一个新的随机比特组。
22.如权利要求17所述的机器可读介质,其中所述处理器还可进一步操作,以便当平均间隙长度重复地超出所述预定验收范围达预定次数以上时,拒绝所述生成的随机比特用于后续的应用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/106,950 US20030187889A1 (en) | 2002-03-26 | 2002-03-26 | Functional gap average on-line randomness test |
US10/106,950 | 2002-03-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1643494A true CN1643494A (zh) | 2005-07-20 |
Family
ID=28452583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN03806861.3A Pending CN1643494A (zh) | 2002-03-26 | 2003-02-26 | 函数间隙平均在线随机性测试 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030187889A1 (zh) |
EP (1) | EP1490752A1 (zh) |
JP (1) | JP2005521157A (zh) |
CN (1) | CN1643494A (zh) |
AU (1) | AU2003206087A1 (zh) |
WO (1) | WO2003081420A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102422591A (zh) * | 2009-05-19 | 2012-04-18 | 索尼公司 | 数据发送方法和设备,数据通信方法和设备 |
CN110147220A (zh) * | 2018-02-12 | 2019-08-20 | 西门子股份公司 | 物理随机数生成器的测试 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8676870B2 (en) * | 2007-09-18 | 2014-03-18 | Seagate Technology Llc | Active test and alteration of sample times for a ring based random number generator |
US8805905B2 (en) * | 2007-09-18 | 2014-08-12 | Seagate Technology Llc | On-line randomness test for restart random number generators |
US9780948B1 (en) * | 2016-06-15 | 2017-10-03 | ISARA Corporation | Generating integers for cryptographic protocols |
KR20180055299A (ko) | 2016-11-16 | 2018-05-25 | 삼성전자주식회사 | 난수 생성기의 랜덤성 시험 장치 및 방법 |
US11636280B2 (en) * | 2021-01-27 | 2023-04-25 | International Business Machines Corporation | Updating of statistical sets for decentralized distributed training of a machine learning model |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675649A (en) * | 1995-11-30 | 1997-10-07 | Electronic Data Systems Corporation | Process for cryptographic key generation and safekeeping |
CA2217916A1 (en) * | 1996-10-09 | 1998-04-09 | Dew Engineering And Development Limited | Random number generator and method for same |
US6675126B2 (en) * | 2001-03-27 | 2004-01-06 | Kabushiki Kaisha Toyota Chuo Kenkyusho | Method, computer program, and storage medium for estimating randomness of function of representative value of random variable by the use of gradient of same function |
US6675113B2 (en) * | 2002-03-26 | 2004-01-06 | Koninklijke Philips Electronics N.V. | Monobit-run frequency on-line randomness test |
-
2002
- 2002-03-26 US US10/106,950 patent/US20030187889A1/en not_active Abandoned
-
2003
- 2003-02-26 CN CN03806861.3A patent/CN1643494A/zh active Pending
- 2003-02-26 JP JP2003579083A patent/JP2005521157A/ja not_active Withdrawn
- 2003-02-26 WO PCT/IB2003/000797 patent/WO2003081420A1/en not_active Application Discontinuation
- 2003-02-26 EP EP03702971A patent/EP1490752A1/en not_active Withdrawn
- 2003-02-26 AU AU2003206087A patent/AU2003206087A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102422591A (zh) * | 2009-05-19 | 2012-04-18 | 索尼公司 | 数据发送方法和设备,数据通信方法和设备 |
CN110147220A (zh) * | 2018-02-12 | 2019-08-20 | 西门子股份公司 | 物理随机数生成器的测试 |
Also Published As
Publication number | Publication date |
---|---|
WO2003081420A1 (en) | 2003-10-02 |
US20030187889A1 (en) | 2003-10-02 |
EP1490752A1 (en) | 2004-12-29 |
AU2003206087A1 (en) | 2003-10-08 |
JP2005521157A (ja) | 2005-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100480990C (zh) | 单比特游程频率的在线随机性测试 | |
US6947960B2 (en) | Randomness test utilizing auto-correlation | |
JP4220398B2 (ja) | アダマール変換オンライン不規則性検査 | |
US6993543B2 (en) | Gap histogram on-line randomness test | |
CN108491318A (zh) | 一种序列检测方法、电子设备及存储介质 | |
CN1643494A (zh) | 函数间隙平均在线随机性测试 | |
CN100480989C (zh) | 间隙平均在线随机性测试 | |
EP1479001A2 (en) | On-line randomness test for detecting irregular pattern | |
US11921623B2 (en) | Device and method for testing a sequence generated by a random number generator | |
De Micco et al. | Stochastic degradation of the fixed-point version of 2D-chaotic maps | |
US20040005053A1 (en) | Cryptographical pseudo-random number generation apparatus and program | |
CN111897514B (zh) | 基于随机模型和在线监测的trng评估方法 | |
CN111897514A (zh) | 基于随机模型和在线监测的trng评估方法 | |
Sotomayor et al. | Model reduction and identification of wastewatertreatment plants-A subspace approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |