CN1636184A - 使用自相关的随机性测试 - Google Patents

使用自相关的随机性测试 Download PDF

Info

Publication number
CN1636184A
CN1636184A CN03804263.0A CN03804263A CN1636184A CN 1636184 A CN1636184 A CN 1636184A CN 03804263 A CN03804263 A CN 03804263A CN 1636184 A CN1636184 A CN 1636184A
Authority
CN
China
Prior art keywords
random
generation
series
average
steps
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
Application number
CN03804263.0A
Other languages
English (en)
Other versions
CN100480988C (zh
Inventor
L·哈尔斯
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1636184A publication Critical patent/CN1636184A/zh
Application granted granted Critical
Publication of CN100480988C publication Critical patent/CN100480988C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex 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)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Complex Calculations (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Pinball Game Machines (AREA)
  • Investigating Strength Of Materials By Application Of Mechanical Stress (AREA)
  • Eye Examination Apparatus (AREA)
  • Absorbent Articles And Supports Therefor (AREA)

Abstract

本发明是用于实时测试由随机数发生器生成的随机数的方法和设备。在生成随机数序列时,存储多个最后的数,然后将存储的随机数移位预定量,以获得存储的随机数和移位的随机数之间位序列的特殊类型的点积。每当生成新的随机位时,计算平均自相关值。此后,通过将平均自相关值与预定的接受范围进行比较,确定所生成的随机数是否足够随机。

Description

使用自相关的随机性测试
技术领域
本发明涉及随机数发生器的领域,并且具体涉及生成真二进制随机序列的随机数发生器。
背景技术
随机数发生器在计算机时代是非常重要的。在实际应用中难以生成真正随机的序列。例如,在一定时间段内生成一系列1和0时,在随机数发生器的硬件部件中会发热。生成1位消耗的功率通常比生成0位要多。因此,如果生成长的1位序列,电路会变热。因此,如果电路在其热时生成1位,电路将“锁定”并且生成的绝大多数都是1位而很少有0位。如果在电路发热时生成0位,则可能出现不同的效果。在这种情况下,很少有长的1位子序列,这构成一种非随机特性。在密码应用中,这可能导致泄密的灾难性结局。
因此,在执行随机性测试时,需要检测硬件损害和部件故障。常规的随机性测试是通过扩展统计测试例如x-平方测试、Δ-测试等等在生成的随机数序列上执行的。然而,实时执行这种测试的成本很高,因为这样的测试需要大量的计算处理能力。
发明内容
本发明通过提供一种方法和设备来克服上述问题并提供附加的优点,所述方法和设备用于提供在线随机性测试,以确保生成的随机数足够随机。
按照本发明的一方面,提供用于评估由随机数发生器生成的随机数的一种方法。该方法包括以下步骤:生成随机位的连续流;在存储媒体中存储生成的随机位;将存储的随机序列移位预定量;计算存储的随机序列与移位的随机序列之间位序列的修正乘积,以确定平均相关值;和通过将确定的平均相关值与预定的接受范围进行比较,确定生成的随机数是否足够随机。修正乘积的值是-1和+1之一。该方法还包括以下步骤:如果任何平均自相关值未落在预定的接受范围内,确定所生成的随机数不够随机;在任何平均自相关值落在预定的接受范围之外时,通知生成的随机序列不够随机;以及在任何平均自相关值落在预定的接受范围之外时,生成新的一组随机序列。
按照本发明的另一方面,评估由随机数发生器生成的随机数的一种方法包括以下步骤:(a)使用随机数发生器生成和存储随机位流;(b)将存储的随机序列移位预定量;(c)计算存储的随机数和移位的随机数的位序列的修正乘积;(d)对修正乘积执行指数平均运算(A),以获得平均自相关值;(e)将平均自相关值与预定的接受范围进行比较;和(f)在任何平均自相关值落在预定的接受范围之外时,确定所生成的随机数不够随机。该方法还包括以下步骤:重复步骤(a)-(e),直至任何计算的指数平均运算(A)落到预定的接受范围之外;在重复步骤(a)-(e)超过预定次数时,通知生成了非随机数;并且在重复步骤(a)-(e)超过预定次数时,生成新的一组随机数。
按照本发明的再一方面,上述方法还包括以下步骤:每当生成新的位时,计算并将修正乘积应用于多个指数平均运算(A),以及在任何指数平均运算(A)的输出落到预定的接受范围之外时,确定所生成的随机数不够随机,其中按以下公式更新指数平均运算(A):
Anew=α·Aold±1,
其中α=1-1/n,并且α落在0和1之间(0<α<1)。
按照本发明的又一方面,用于评估由随机数发生器生成的随机数的一种设备包括:随机发生器单元,用于生成由二进制位构成的随机序列;检测器单元,耦合到随机发生器单元的输出,用于检测生成的随机序列是否不可预测;以及转换单元,耦合到随机发生器单元和检测器单元的输出,用于在确定生成的随机序列不够随机时,禁止所生成的随机序列流用于后续应用,其中存储所生成的随机位并且将之移位预定量,以获得存储的随机序列与移位的随机序列之间位序列的修正乘积,修正乘积被应用于指数平均运算(A),以确定平均自相关值,并且其中如果任何指数平均运算(A)的输出落在预定的接受范围之外,确定所生成的随机序列不够随机。该设备还包括用于在任何指数平均运算(A)的输出落在预定的接受范围之外时发送报警信号的装置。对于本领域技术人员来说,结合附图阅读以下的详细描述,本发明的上述及其他优点将变得显而易见。
附图说明
图1表示按照本发明一个实施例的随机发生模块的简化方框图;
图2示出表示按照本发明的一个实施例对一个随机数序列执行的随机性测试的示意图;和
图3是表示按照本发明的一个实施例测试生成的随机数的统计数字的操作步骤的流程图。
具体实施方式
在以下的说明中,为了解释而并非限制的目的,说明了具体的细节,例如具体结构、接口、技术等等,以提供本发明的透彻理解。然而,本领域技术人员都能明白,可以在脱离这些具体细节的其他实施例中实现本发明。为了简明扼要而省略了广泛公知的设备、电路和方法的具体细节,以免这些不必要的细节妨碍对
本发明的说明。
图1表示系统10的一个方框图,按照本发明的一个示例实施例该系统能够实时测试所生成的随机数的统计数字。系统10包括随机数发生器(RG)12、检测器14和转换器16。RG12可用于输出一系列随机数。在本文中,术语“随机数”意指任何二进制信号序列、信号的Gaussian或任何其他分布、代表零和一之间的数的信号序列、代表十进制数的信号序列、或包括理想随机性的任何其他形式。RG12还代表生成的信号能够变换成二进制位序列的任何设备。因而,本文中的RG12以任何常规或非常规方式生成二进制随机位。
检测器14检测RG12是否正确工作以生成对于多种用途足够随机的随机数据。因而,按照(下文所述)预定标准对RG12输出的随机数进行其随机性测试;如果通过,转换器16就允许生成的随机数用于后续应用,诸如任何电路、系统、处理程序、赌博应用、模拟、统计学采样、Diffie-Hellman密钥转换或诸如此类的使用由RG12提供的随机数的设备。例如,转换器16可以为密码系统、音频或视频噪声发生器、计算机程序或其他设备和处理过程提供输入。因而,在检测器14的控制下释放转换器16,以便在生成的随机数被认为不够随机时停止发送生成的随机数。
现在,将参照图2和3描述有关测试随机序列的统计学质量的细节。
参见图2,按照本发明的一个实施例,在RG12工作的同时对随机数进行实时测试,以确保所生成的随机数足够随机。在操作中,由RG12生成连续的随机位流。假定从RG12接收到这些随机数,运行自相关测试,以确保所生成的随机数图案将是不规则的。如图2所示,存储初始的随机序列a,然后向右移位规定量。尽管图2为了便于说明而表示向右移动一个时隙,但是应该理解本发明还能支持更大的移位。因此,图中移位的位数并不是对本发明范围强加限制。在其相应时隙上将初始序列a与新移位的序列b相比较,以获得2-位序列的修正点积。如果给定时隙中二进制值相同(如果ai=bi),就给要相加的对应项分配+1值;否则,给之分配-1(如果a≠b)。将这些项相加到一起,以构成2-位序列的修正点积,计算在移位版本减去不同位数之后有多少位置具有相同的比特。按照本发明的一个实施例,为了使生成的序列是真正随机的,-1和+1项的数量必须大致相等。在此,“大致”的意思是:提取n个采样,-1和+1出现的频率必须落在小于n的一个预定的门限范围之内。
从以下的数值表达式中可以更加容易地明白本发明的一些上述优点。对于b0,b1,b2,b3...,的位序列,从b0开始的k长度的自相关矢量如下。在此,如果我们将 解释为一种抽象乘法运算,如果两次运算相同,则其结果就是+1,如果不同,则是-1,自相关矢量的分量:
Figure A0380426300083
注意:ai的顺序值有许多共同元素。例如,用iam来表示从bi开始具有偏移m的相关值:
Figure A0380426300087
注意:仅有0a1的第一项和1a1的最后一项没有重复。因此,存储过去位或先前计算的2-位乘积
Figure A0380426300088
允许我们在与其长度k成比例的时间计算出整个自相关矢量。而且,为了节省存储和执行时间,在本发明中对自相关计算应用指数平均;然而,也可以采用本领域技术人员熟知的其它类型的平均技术。指数平均具有这样的性性,使得在每次在累加器A中更新平均值时,旧的平均值将具有不断减少的影响。连续执行测试以评估随机序列的统计学质量,因而必须在指数平均未被使用时周期性清除计数器。
指数平均按以下方式工作:每当获得一个数值b时,利用落在0和1之间的一个系数α(0<α<1)乘以累加器A并且然后加上b:Anew=α·Aold+b。为了得到有用的平均效果,α的值被选择为接近1,α=1-1/n,n>>1。在这种情况下,logα≈-1/n,而平均位的半衰期是k≈n·log2≈≈0.30103·n。在n位之后,最早一位的加权变成了(1-1/n)n≈1/e≈0.367879。在此处,e是自然算法的底(Euler常数),因而项n可以被称为一位的自然寿命。如果将被平均的所有值是1,累加器值是1+α+α2+...=1/(1-α)=n,而如果所有位都是0,则累加器值就是0。注意,指数平均的预期值是个别值的预期值的指数平均值。
从b0开始的指数自相关矢量定义为以下的无限求和:
Figure A0380426300091
Figure A0380426300092
Figure A0380426300093
指数自相关的若于优点(用iem代表从bi开始且偏移为m的指数相关值)如下:
(1)自相关矢量的连续值较容易计算:
Figure A0380426300095
(2)仅需要存储最后的k位(相对于具有标准相关的2k而言);和
(3)利用参数α=1-1/n(n是相关项的自然寿命),能够容易地(甚至动态地)改变相关的有效长度。
如上所述,指数平均用于随着累加器按一定的0<α<1系数递减而清除计数器;这样,累加器在运算模式期间从不会变得过大。一旦对每个累加器执行指数平均,将指数平均值与预定的接受范围相比较。在本实施例中,通过将每个累加器的值与预定的接受范围值相比较,确定所生成的随机数图案是否是基本上随机的。如果在平均过程期间任何累加器的值落到预定范围值之外,推断所生成的随机数不是不可预测的。或者,在测试反复失败时,可以设置一个门限值来通知用户。这样,能使用一组已知质量良好的随机序列事先确定指数平均限度,使得这些随机序列全都落在可接受范围内。测试中使用的实际范围由操作人员选择地设置,以便能够根据所生成的随机序列对于未被授权方是否是可预测的不同灵敏度而作出选择。
图3是表示按照本发明用于测试随机序列的统计质量的操作步骤的流程图。长方形单元代表计算机软件指令,而菱形单元代表影响利用长方形块表示的计算机软件指令的执行的计算机软件指令。或者,处理和判决框代表由功能上等效的电路例如数字信号处理器电路或专用集成电路(ASIC)执行的步骤。应注意:许多例行程序元素例如循环和变量的初始化以及临时变量的使用没有表示出。本领域技术人员将认识到,除非另有解释,所述步骤的具体顺序仅仅是为了说明,并且可以被改变而不脱离本发明的精神。
在操作中,在步骤100由随机数发生器12生成连续的二进制位的随机流。在一个环形缓冲器中存储生成的最后随机位之中选择的数量为k的随机位,然后在步骤120读出存储的随机数并进行处理用于比较目的。在步骤140计算最后生成的随机数和所有存储的随机数的特殊乘积。然后,在步骤160利用乘积-1或+1更新指数平均累加器,并且将累加器与预定的接受范围进行比较。如果任何累加器落在预定的接受范围之外,在步骤180,确定检测到规则的图案,并且将计数器增1。否则,该步骤返回到生成随机数的步骤100,并且将计数器复位。在步骤200,如果在步骤200中计数器的值大于门限值,在步骤220释放转换器16,以停止随机数流用于后续应用。此时,可以放弃所生成的随机数,并且能够对生成新随机数的整个处理程序进行初始化。或者,可以向操作人员通知:所生成的随机数不够随机。最后,如果在步骤200中计数器的值没有超过门限值,则处理程序返回到步骤100。
为了实现上述各个步骤,可以将它们编程为应用程序内包括的功能,并且本领域中熟练的程序员可以以例如C、Visual Basic、Java、Perl、C++等等的语言利用常规编程技术来完成。在一个实施例中,可以如下所述(使用C编程语言)构成图3中所述的方法。为了简化,采用浮点算法来完成测试。
附录:MS Visual C代码
/******************************************************************\
 * AutoCorr.c
 *      AutoCorr<#random bits><bit generator type><bit generator param>
 *      Generates test bits
 *      Calculates exponentially weighted autocorrelation at offsets 1..8
bit
 *      Prints test statistics
 * Rem:floating point arithmetic is used.
 *      Follow the example of BitAvg.c to convert to fix point.Larger
averaging
 *      length achieved if sums are decremented only at every k-th
iteration!
 * AutoCorr 1e8 0 0.5->
 * No large or small autocorrelation
 * 458.031  571.863
 * 451.444  566.108
 * 453.109  565.476
 * 454.889  567.197
 * 453.545  564.591
 * 454.121  577.029
 * 457.612  571.381
 * 451.539  571.281
 *
 * AutoCorr 1e6 1 01001110010001->
 * At bit 2099 the offset 6 autocorrelation 446.883 is out of range
 *
 * vers.1.0 04/17/01:Created by Laszlo Hars
 *
\******************************************************************/
#include<stdio.h>
#include<stdlib.h>
//#offsets=2^k for simple implementation of circular buffers
#define LOGOFFS  3
#define OFFSETS  (1<<LOGOFFS)
#define CIRC(X)  ((X)&(OFFSETS-1))
//Multiplyer=1-1/2^10
#define W        0.9990234375
#define AV       512.0
#define LO       447.0
#define HI       586.0
        <!-- SIPO <DP n="7"> -->
        <dp n="d7"/>
    #define MAX(A,B)((A)>(B)?(A):(B))

    #define MIN(A,B)((A)<(B)?(A):(B))

    //External function prototypes

    void BitGenInit(int argc,char*argv[]);

    unsigned int NextBit();

    int main(int argc,char*argv[])

    {

        int bits[OFFSETS],b,i,j,n=(int)atof(argv[1]);

        double a[OFFSETS],x[OFFSETS],y[OFFSETS];

        if( argc<4){

            printf(″Usage:AutoCorr<#random bits><bit generator type><bit

    generator params...>\n″);

            putchar(′\a′);                //rings the bell

            exit(1);}

         BitGenInit(argc,argv);

         for(j=0;j<OFFSETS;++j){         //at first j=0:offset 8,j=1:

    7,...j=7:offset 1

             bits[j]=NextBit();            //set up circular buffer of last

    few bits

             a[i]=AV:                      //ideal past

             x[j]=0.0;                     //max for debug,eval

             y[j]=1e9;}                    //min for debug,eval

         for(i=OFFSETS;i<n;++i){

             b=NextBit();

             for(j=0;j<OFFSETS;++j){     //j=CIRC[i]:offset 8,...

    j=CIRC[i+7]:offset 1

                 a[j]=a[j]*w+(bits[CIRC(i+j)]==b);

                 x[j]=MAX(a[j].x[j]):      //for debug,eval

                 y[j]=MIN(a[j].y[j]):      //for debug,eval

                 if(a[j]<LO||a[j]>HI){

                     printf(″At bit %d the offset %d autocorrelation %g is out of

    range\n″,i,OFFSETS-j,a [j]);

                     exit(2);}

             }

             bits[CIRC(i)]=b;

        }

        printf(″No large or small autocorrelation\n″);

    for(j=0;j<OFFSETS;++j)printf(″%g %g\n″,y[j],x[j]);//show the

    results for debug,eval

    }
尽管已经表示和描述了本发明的优选实施例,但是本领域的技术人员将理解:无需脱离本发明的真实范畴而可能对其中的组成单元进行各种各样的修改和变更以及等效的替代。另外,为了适应具体情况和本发明的教导,无需脱离其核心范围而还可以进行许多变更。因此,并不打算将本发明限于作为实现本发明的最佳模式而公开的具体实施例,并且本发明还包括落入所附的权利要求书范围内的所有实施例。

Claims (21)

1.用于评估由随机数发生器(12)生成的随机数的一种方法,该方法包括以下步骤:
-生成随机位的连续流;
-在存储媒体中存储所述生成的随机位;
-将所述存储的随机序列移位预定量;
-计算所述存储的随机序列与所述移位的随机序列之间位序列的修正乘积,以确定平均相关值;和
-通过将所述确定的平均相关值与预定的接受范围进行比较,确定所述生成的随机数是否足够随机。
2.按照权利要求1的方法,其中所述修正乘积的值是-1和+1之一。
3.按照权利要求2的方法,还包括以下步骤:在任何平均自相关值未落在所述预定的接受范围内时,确定所述生成的随机数不够随机。
4.按照权利要求2的方法,还包括以下步骤:在任何平均自相关值落在所述预定的接受范围之外时,通知所述生成的随机序列不够随机。
5.按照权利要求2的方法,还包括以下步骤:在任何平均自相关值落在所述预定的接受范围之外时,生成新的一组随机序列。
6.按照权利要求1的方法,还包括以下步骤:每当生成新的位时,将所述点积应用于多个指数平均运算(A)。
7.按照权利要求6的方法,其中按照以下公式更新所述指数平均运算(A):
Anew=α·Aold±1,
其中α=1-1/n,并且α落在0和1之间(0<α<1)。
8.按照权利要求6的方法,还包括以下步骤:在任何所述指数平均运算(A)的输出落到所述预定的接受范围之外时,确定所述生成的随机数不够随机。
9.用于评估由随机数发生器(12)生成的随机数的一种方法,该方法包括以下步骤:
(a)使用所述随机数发生器生成和存储随机位流;
(b)将所述存储的随机序列移位预定量;
(c)计算所述存储的随机数和所述移位的随机数之间位序列的修正乘积;
(d)对所述修正乘积执行指数平均运算(A),以获得平均自相关值;
(e)将平均自相关值与预定的接受范围进行比较;和
(f)在任何平均自相关值落在所述预定的接受范围之外时,确定所述生成的随机数不够随机。
10.按照权利要求9的方法,还包括以下步骤:
重复所述步骤(a)-(e),直至任何所述计算的指数平均运算(A)落到所述预定的接受范围之外。
11.按照权利要求9的方法,还包括以下步骤:在重复所述步骤(a)-(e)超过预定次数时,通知生成了非随机数。
12.按照权利要求9的方法,还包括以下步骤:在重复所述步骤(a)-(e)超过预定次数时,生成新的一组随机数。
13.按照权利要求9的方法,还包括以下步骤:按照以下公式更新所述指数平均运算(A):
Anew=α·Aold±1,
其中α=1-1/n,并且α落在0和1之间(0<α<1)。
14.用于评估由随机数发生器生成的随机数的一种设备,包括:
随机发生器单元(12),用于生成由二进制位构成的随机序列;
检测器单元(14),耦合到所述随机发生器单元(12)的输出,用于检测所述生成的随机序列是否足够随机;和
转换单元(16),耦合到所述随机发生器(12)和所述检测器单元(14)的输出,用于在确定所述生成的随机序列不够随机时禁止所述生成的随机序列流用于后续应用,
其中存储所述生成的随机位并且将所述生成的随机位移位预定量,以获得所述存储的随机序列与所述移位的随机序列之间位序列的修正乘积,将所述修正乘积应用于指数平均运算(A),以确定平均自相关值,以及其中如果任何所述指数平均运算(A)的输出落在预定的接受范围之外,确定所述生成的随机序列不够随机。
15.按照权利要求14的设备,还包括用于在任何所述指数平均运算(A)的输出落在所述预定的接受范围之外时发送报警信号的装置。
16.按照权利要求14的设备,其中按照以下公式执行所述指数平均运算(A):
Anew=α·Aold±1,
其中α=1-1/n,并且α落在0和1之间(0<α<1)。
17一种机器可读媒体,上面存储有代表指令序列的数据,并且该指令序列在由处理器执行时使该处理器:
-存储外部生成的二进制位的随机序列的多个位;
-将所述存储的随机序列移位预定量;
-计算所述存储的随机序列与所述移位的随机序列之间位序列的修正点积,以确定平均自相关值;和
-通过将所有所述确定的平均自相关值与预定的接受范围进行比较,确定所述生成的随机数是否足够随机。
18.按照权利要求17的存储媒体,其中在任何平均自相关值落在所述预定的接受范围之外时,确定所述生成的随机数不够随机。
19.按照权利要求17的存储媒体,其中在任何平均自相关值落在所述预定的接受范围之外时,所述处理器还用于生成新的一组随机位。
20.按照权利要求17的存储媒体,其中每当生成新的位时,所述处理器还用于将所述修正乘积应用于指数平均运算(A)。
21.按照权利要求21的存储媒体,其中按照以下公式计算所述指数平均运算(A):
Anew=α·Aold±1,
其中α=1-1/n,并且α落在0和1之间(0<α<1)。
CNB038042630A 2002-02-21 2003-02-03 使用自相关的随机性测试 Expired - Fee Related CN100480988C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/081,896 US6947960B2 (en) 2002-02-21 2002-02-21 Randomness test utilizing auto-correlation
US10/081,896 2002-02-21

Publications (2)

Publication Number Publication Date
CN1636184A true CN1636184A (zh) 2005-07-06
CN100480988C CN100480988C (zh) 2009-04-22

Family

ID=27733313

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038042630A Expired - Fee Related CN100480988C (zh) 2002-02-21 2003-02-03 使用自相关的随机性测试

Country Status (8)

Country Link
US (1) US6947960B2 (zh)
EP (1) EP1479000B1 (zh)
JP (1) JP2005518046A (zh)
CN (1) CN100480988C (zh)
AT (1) ATE441146T1 (zh)
AU (1) AU2003202736A1 (zh)
DE (1) DE60328965D1 (zh)
WO (1) WO2003071415A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239256A (zh) * 2016-12-27 2017-10-10 中国福利彩票发行管理中心 基于综合评价的彩票行业随机序列的随机性检测方法
CN108089840A (zh) * 2016-11-16 2018-05-29 三星电子株式会社 用于随机数产生器的随机性测试设备及方法
CN110489078A (zh) * 2019-08-16 2019-11-22 兆讯恒达微电子技术(北京)有限公司 一种随机数发生器的自检方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7219112B2 (en) * 2001-11-20 2007-05-15 Ip-First, Llc Microprocessor with instruction translator for translating an instruction for storing random data bytes
US7149764B2 (en) 2002-11-21 2006-12-12 Ip-First, Llc Random number generator bit string filter
US7136991B2 (en) * 2001-11-20 2006-11-14 Henry G Glenn Microprocessor including random number generator supporting operating system-independent multitasking operation
US20060064448A1 (en) * 2001-11-20 2006-03-23 Ip-First, Llc. Continuous multi-buffering random number generator
US7139785B2 (en) * 2003-02-11 2006-11-21 Ip-First, Llc Apparatus and method for reducing sequential bit correlation in a random number generator
US7505588B2 (en) * 2004-03-31 2009-03-17 Microsoft Corporation Stream cipher design with revolving buffers
US7876866B1 (en) * 2005-01-27 2011-01-25 Pmc-Sierra Us, Inc. Data subset selection algorithm for reducing data-pattern autocorrelations
JP4413858B2 (ja) * 2005-12-13 2010-02-10 株式会社東芝 乱数検定回路
US20070180411A1 (en) * 2006-01-27 2007-08-02 Wolfgang Swegat Method and apparatus for comparing semiconductor-related technical systems characterized by statistical data
KR20090012528A (ko) * 2007-07-30 2009-02-04 삼성전자주식회사 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법
US8805905B2 (en) * 2007-09-18 2014-08-12 Seagate Technology Llc On-line randomness test for restart random number generators
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
US8200727B2 (en) * 2008-02-14 2012-06-12 Apple Inc. Method and apparatus for verifying and diversifying randomness
US9594541B2 (en) * 2009-01-06 2017-03-14 Inside Secure System and method for detecting FRO locking
US8583711B2 (en) * 2009-12-02 2013-11-12 Seagate Technology Llc Random number generation system with ring oscillators
US8635260B2 (en) * 2009-12-02 2014-01-21 Seagate Technology Llc Random number generator incorporating channel filter coefficients
KR101818445B1 (ko) * 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들
US9819727B2 (en) 2013-02-28 2017-11-14 Amazon Technologies, Inc. Computing infrastructure for configurable-quality random data
US9049232B2 (en) 2013-02-28 2015-06-02 Amazon Technologies, Inc. Configurable-quality random data service
US10116441B1 (en) 2015-06-11 2018-10-30 Amazon Technologies, Inc. Enhanced-security random data
JP2022098951A (ja) * 2020-12-22 2022-07-04 ソニーセミコンダクタソリューションズ株式会社 乱数検定器及び乱数検定方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355366A (en) * 1980-11-28 1982-10-19 Ncr Corporation Circuitry for minimizing auto-correlation and bias in a random number generator
US4590601A (en) * 1984-12-24 1986-05-20 Gte Communication Systems Corporation Pseudo random framing detector circuit
US5754603A (en) * 1995-08-03 1998-05-19 Northern Telecom Limited Pseudo random number sequence synchronization in communications systems
US6130602A (en) * 1996-05-13 2000-10-10 Micron Technology, Inc. Radio frequency data communications device
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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089840A (zh) * 2016-11-16 2018-05-29 三星电子株式会社 用于随机数产生器的随机性测试设备及方法
CN107239256A (zh) * 2016-12-27 2017-10-10 中国福利彩票发行管理中心 基于综合评价的彩票行业随机序列的随机性检测方法
CN110489078A (zh) * 2019-08-16 2019-11-22 兆讯恒达微电子技术(北京)有限公司 一种随机数发生器的自检方法
CN110489078B (zh) * 2019-08-16 2021-05-25 兆讯恒达科技股份有限公司 一种随机数发生器的自检方法

Also Published As

Publication number Publication date
US20030158875A1 (en) 2003-08-21
WO2003071415A2 (en) 2003-08-28
ATE441146T1 (de) 2009-09-15
EP1479000A2 (en) 2004-11-24
WO2003071415A3 (en) 2004-06-17
CN100480988C (zh) 2009-04-22
AU2003202736A1 (en) 2003-09-09
US6947960B2 (en) 2005-09-20
JP2005518046A (ja) 2005-06-16
EP1479000B1 (en) 2009-08-26
DE60328965D1 (de) 2009-10-08

Similar Documents

Publication Publication Date Title
CN1636184A (zh) 使用自相关的随机性测试
CN1643493A (zh) 单比特游程频率的在线随机性测试
CN101226492B (zh) Raid系统和伽罗瓦域乘积计算方法
CN100437468C (zh) 哈达玛特变换在线随机性测试
CN110377267B (zh) 一种基于概率计算集中序列的有符号数的加/减法器
CN1802629A (zh) 通过重叠字计数的在线随机性测试
CN100583025C (zh) 间隙直方图在线随机性测试
CN1703667A (zh) 用于检测不规则图形的在线随机性测试
CN100480989C (zh) 间隙平均在线随机性测试
CN1643494A (zh) 函数间隙平均在线随机性测试
RU2698413C1 (ru) Устройство для сравнения чисел в системе остаточных классов
RU2233024C2 (ru) Способ и устройство для сжатия сигналов в формате с фиксированной запятой без введения смещения
CN117971160B (zh) 一种包括错误预测的乘法器
CN117348843A (zh) 块内频数检测装置及处理系统
Xunhuan et al. Method for generating two-dimensional dependent errors
Yaguchi et al. A new nonrecursive pseudorandom number generator based on chaos mappings
Downey Generating Pseudo-random Floating-Point Values
JP2005233834A (ja) 周波数検出装置
JP2007156620A (ja) 非同期式符号付き乗算器とそのアルゴリズム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070810

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070810

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090422

Termination date: 20210203

CF01 Termination of patent right due to non-payment of annual fee