基于分组处理的伪随机序列的随机性检测方法 【技术领域】
本发明属于信号检测领域,特别涉及伪随机序列的随机性检测方法,可广泛应用于测量测距、扩频通信、软件测试、雷达导航和数据保密等领域。
背景技术
通过随机数发生器产生的伪随机序列,其随机性直接影响到应用的安全有效性,因此要判断该应用是否安全有效,必须要先保证该伪随机序列的随机性性能良好,而对伪随机序列的随机性检测一直都是序列随机性检测中的难点。要检测一个序列是否拥有真正随机序列的特性可以从几个方面进行检测:
1)周期性特征;
2)序列中符号“0”和“1”出现的比例;
3)序列中的游程的分布情况;
4)序列的异相自相关函数;
5)序列的复杂度,例如线性复杂度;
6)序列的可压缩情况;
为了测试一个序列是否满足随机序列的这些性质而提出了多种具有针对性的随机性检测方法,例如二元矩阵秩测试和频谱测试可以测试序列的周期特性;频率测试和分块频率测试可以测试序列中符号“0”和“1”出现的比例;线性复杂度测试、最大阶复杂度测试和二阶复杂度测试可以测试序列的复杂度。
目前序列的随机性测试已经有六十多种,它们都只能是针对随机性的某些性质进行测试,如块内频数检验用来检验序列中符号“0”和“1”出现的比例是否均衡、累加和检验判断待检序列的最大偏移是否过大、矩阵秩检验用来检验待检序列中给定长度的子序列之间的线性独立性等,也就是说每个测试的通过只能说明该序列满足某个或者某几个随机特性,但并不能确保此序列同时满足其他的随机特性,不能满足实际应用中的安全有效的要求,即每一种随机性检测方法都存在局限性和片面性,影响检测的精确度。
【发明内容】
本发明的目的在于针对目前所存在的随机性检测技术的不足,提出了一种基于分组处理的伪随机序列的随机性检测方法,在不影响原序列的随机性的基础上,通过对原序列进行分组处理来改变原序列的一些排列性质,以克服现有技术在随机性检测问题上的局限性和片面性,使得对原序列的随机性检测结果更加全面、更加准确。
为实现上述目的,本发明根据随机序列经过如分组线性映射,分组模2加的处理之后仍是随机序列的原则,对待测序列进行一系列分组处理后得到的检测结果和直接检测的检测结果相比较,从而得出更加准确全面的检测结果,具体方案如下:
技术方案一:基于分组线性映射的伪随机序列的随机性检测方法,包括如下过程:
1)设置待测二元序列为a1,a2,...,an,n为序列长度;
2)对待测序列进行分组线性映射:
设分组长度为整数d,分组后的序列记为:b1,b2,...,bm,m=n/d,其中bi=(ad(i-1)+1,ad(i-1)+2,...,ad(i-1)+d),1≤i≤m;
设向量k=1,2,...,2d-1,dk分别表示数值1,2,...,2d-1;用向量对bi进行线性运算,得到2d-1个分组线性映射序列簇为c1k,c2k,...,cmk,其中1≤i≤m,k=1,2,...,2d-1;
3)设置标准随机序列S,并通过渗透测试法,对长度为m的标准随机序列S进行统计,得到一组相对应的标准统计值DEV=(H1,H2,...,H100),其中j对应不同的森林点火方式,1≤j≤100,MAXlayerj为由标准序列S决定的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木地方差;
4)对2d-1个分组线性映射序列簇c1k,c2k,...,cmk,1≤k≤2d-1分别用渗透测试的测试方法进行统计,得到第k个序列簇的一组统计值dev1k=(h1k,1,h1k,2,...,h1k,100),1≤j≤100,max1k,layerj为由第k个分组线性映射序列簇决定的第j种点火方式对应layer的燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的方差;
5)利用Kolmogorv-Smirnov检测法将各个分组线性映射序列簇得到的统计值dev1k(1≤k≤2d-1)分别与标准统计值DEV进行比较,得到分组线性映射序列dev1k与标准统计值DEV之间的最大距离
6)选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值;
7)将D1k(1≤k≤2d-1)分别与Dε进行比较,若所有D1k≤Dε,则待测序列a1,a2,...,an具有随机特性,反之若存在一个D1k>Dε,则待测序列a1,a2,...,an不具有随机特性。
技术方案二:基于分组二次非线性变换的伪随机序列的随机性检测方法,包括如下过程:
1>设置待测二元序列为a1,a2,...,an,n为序列长度;
2>对待测序列进行二次非线性变换:
设分组长度为奇整数d,分组后的序列记为:b1,b2,...,bm,m=n/d,其中bi=(ad(i-1)+1,ad(i-1)+2,...,ad(i-1)+d),1≤i≤m;
设向量二次函数为f(x1,x2,...,xd)=x1x2+x3x4+...+xd-2xd-1+xd;
将bi作为函数参数代入到二次函数f(x1,x2,...,xd)中,计算ci=f(ad(i-1)+1,ad(i-1)+2,...,ad(i-1)+d),i=1,2,...,m,得到长度为m的二次非线性变换序列c1,c2,...,cm;
3>设置标准随机序列S,并通过渗透测试法,对长度为m标准随机序列S进行统计得到一组相对应的标准统计值DEV=(H1,H2,...,H100),其中j对应不同的森林点火方式,1≤j≤100,MAXlayerj为由标准序列S决定的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的方差;
4>对二次非线性变换序列c1,c2,...,cm用渗透测试的测试方法进行统计,得到一组统计值dev2=(h21,h22,...,h2100),1≤j≤100,max2layerj为由序列c1,c2,...,cm决定的第j种点火方式对应layer的燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的方差;
5>利用Kolmogorv-Smirnov检测法将二次非线性变换序列得到的统计值dev2分别与标准统计值DEV进行比较,得到dev2与DEV之间的最大距离
6>选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值;
7>将D2与Dε进行比较,若D2≤Dε,则待测序列a1,a2,...,an具有随机特性,反之若D2>Dε,则待测序列a1,a2,...,an不具有随机特性。
技术方案三:基于分组大数表决的伪随机序列的随机性检测方法,包括如下过程:
<1>设置待测二元序列为a1,a2,...,an,n为序列长度;
<2>对待测序列进行分组大数表决:
设分组长度为奇整数d,分组后的序列记为:b1,b2,...,bm,其中m=n/d,bi=(ad(i-1)+1,ad(i-1)+2,...,ad(i-1)+d),1≤i≤m;
对分组序列bi(1≤i≤m)进行大数表决,得到长度为m大数表决序列c1,c2,...,cm。
<3>设置标准随机序列S,并通过渗透测试法,对长度为m标准随机序列S进行统计得到一组相对应的标准统计值DEV=(H1,H2,...,H100),其中
j对应不同的森林点火方式,1≤j≤100,MAXlayerj为由标准序列S决定的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的方差;
<4>对分组大数表决序列c1,c2,...,cm用渗透测试的测试方法进行统计,得到一组统计值dev3=(h31,h32,...,h3100),1≤j≤100,max3layerj为由序列c1,c2,...,cm决定的第j种点火方式对应layer的燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的方差;
<5>利用Kolmogorv-Smirnov检测法将分组大数表决序列c1,c2,...,cm得到的统计值dev3与标准统计值DEV进行比较,得到dev3与DEV之间的最大距离
<6>选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值;
<7>将D3与Dε进行比较,若D3≤Dε,则待测序列a1,a2,...,an具有随机特性,反之若D3>Dε,则待测序列不具有随机特性。
技术方案四:基于分组逐位线性映射的伪随机序列的随机性检测方法,包括如下过程:
(1)设置待测二元序列为a1,a2,...,an,n为序列长度;
(2)对待测序列进行逐位线性映射:
设窗口宽度为d,窗口从位1开始逐位移动,设第i个窗口中的数据为bi=(ai,ai+1,...,ai+d-1),1≤i≤n-d+1;
设向量k=1,2,...,2d-1,dk分别表示数值1,2,...,2d-1;对窗口中的数据bi=(ai,ai+1,...,ai+d-1)用向量进行线性运算
得到2d-1个逐位线性映射序列簇:c1k,c2k,...,cmk,m=n-d+1,k=1,2,3,...,2d-1;
(3)设置标准随机序列S,并通过渗透测试法,对长度为m标准随机序列S进行统计得到一组相对应的标准统计值DEV=(H1,H2,...,H100),其中j对应不同的森林点火方式,1≤j≤100,MAXlayerj为由标准序列S决定的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的方差;
(4)对2d-1个逐位线性映射序列簇c1k,c2k,...,cmk分别用渗透测试的测试方法进行统计,得到第k个序列簇的一组统计值dev4k=(h4k,1,h4k,2,...,h4k,100),其中1≤k≤2d-1,1≤j≤100,max4k,layerj为由第k个分组线性映射序列簇决定的第j种点火方式对应layer的燃烧树木的最大值,MEANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的平均值,VARIANlayerj为由标准序列S决定的第j种点火方式对应layer的燃烧树木的方差;
(5)利用Kolmogorv-Smirnov检测法将各个逐位线性映射序列簇得到的统计值dev4k(1≤k≤2d-1)分别与标准统计值DEV进行比较,得到分组逐位线性映射序列dev4k与标准统计值DEV之间的最大距离
(6)选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值;
(7)将D4k(1≤k≤2d-1)分别与Dε进行比较,若所有D4k≤Dε,则待测序列a1,a2,...,an具有随机特性,反之若存在一个D4k>Dε,则待测序列a1,a2,...,an不具有随机特性。
技术方案五:基于分组模2加的伪随机序列的随机性检测方法,包括如下过程:
A).设置待测二元序列为a1,a2,...,an,n为序列长度;
B).将待测序列a1,a2,...,an进行分组模2加:
设分组长度为整数d,分组后的序列记为:b1,b2,...,bm,m=n/d,其中bi=(ad(i-1)+1,ad(i-1)+2,...,ad(i-1)+d),1≤i≤m;
将b2j-1与b2j逐位进行模2加得到分组序列cj,1≤j≤m/2,将cj级联得到总长度为(m/2)×d比特的分组模2加序列c1,c2,...cm/2;
C)设置标准随机序列S5,并通过渗透测试法,对长度为n/2标准随机序列S5进行统计得到一组相对应的标准统计值DEV5=(H51,H52,...,H5100),其中j对应不同的森林点火方式,1≤j≤100,MAX5layerj为由标准序列S5决定的第j种点火方式对应的layer燃烧树木的最大值,MEAN5layerj为由标准序列S5决定的第j种点火方式对应layer的燃烧树木的平均值,VARIAN5layerj为由标准序列S5决定的第j种点火方式对应layer的燃烧树木的方差;
D)对分组模2加序列用渗透测试的测试方法进行统计,得到一组统计值dev5=(h51,h52,...,h5100),1≤j≤100,max5layerj为由c1,c2,...,cm/2决定的第j种点火方式对应layer的燃烧树木的最大值,MEAN5layerj为由标准序列S5决定的第j种点火方式对应layer的燃烧树木的平均值,VARIAN5layerj为由标准序列S5决定的第j种点火方式对应layer的燃烧树木的方差;
E)利用Kolmogorv-Smirnov检测法将分组模2加序列得到的统计值dev5与标准统计值DEV5进行比较,得到dev5与DEV5之间的最大距离
F)选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值;
G)将D5与Dε进行比较,若D5≤Dα,则待测序列a1,a2,...,an具有随机特性,反之若D5>Dα,则待测序列a1,a2,...,an不具有随机特性。
本发明由于对待测序列先进行预处理,例如分组线性映射或逐位线性映射或二次非线性变换或大数表决或分组模2加,通过预处理得到新的序列,再对新序列进行渗透测试,因而能够检验待测序列更多的随机特性,弥补了已有方法检测随机特性时的单一性,提高了检测结果的全面性,同时避免了已有方法对序列随机性检测的误判的情况,提高了检测的准确度和可信度。
【附图说明】
图1是本发明的检测流程图;
图2是本发明的分组线性映射子流程图;
图3是本发明的分组二次非线性变换子流程图;
图4是本发明的分组大数表决子流程图;
图5是本发明的分组逐位线性映射子流程图;
图6是本发明的分组模2加子流程图。
实施实例方式
实施例一,对待测序列进行分组线性映射后进行伪随机序列随机性检测。
参照图1和图2,本实例的实现步骤如下:
步骤一,输入长度为n=108的待测序列a1,a2,...,an。
步骤二,取分组长度d=100,将长度为108的原序列分成长度为106的100个小分组b1,b2,...,b100,其中1≤i≤100,记m=106。
步骤三,对小分组bi(1≤i≤100)分别用渗透测试方法进行统计:
1)取一个标准随机序列S,对标准随机序列求标准统计数据DEV=(H1,H2,...,H100),其中1≤j≤100,MAXlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的最大值,MEANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的平均值,VARIANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的方差;
2)对小分组bi(1≤i≤100)分别用渗透测试的测试方法进行统计,得到一组统计值dev1k=(h1k,1,h1k,2,...,h1k,100),
其中1≤k≤100,1≤j≤100,
max1k,layerj为由第k个序列决定的的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为标准序列S决定的的第j种点火方式对应的layer燃烧树木的平均值,VARIANlayerj为标准序列S决定的的第j种点火方式对应的layer燃烧树木的方差;
3)利用Kolmogorv-Smirnov检测法比较数据dev1k=(h1k,1,h1k,2,...,h1k,100)和DEV=(H1,H2,...,H100),得到最大距离其中1≤k≤100。
步骤四,选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值,c(ε)的值如表1所示:
表1:不同分位点ε对应的距离标准值因子系数c(ε)值
ε 0.10 0.05 0.025 0.01 0.005 0.001 c(ε) 1.22 1.36 1.48 1.63 1.73 1.95
例如:选定ε=0.10,n1=100,n2=100,则距离标准值因子系数c(ε)=1.22,距离标准值为Dε=0.172534;选定ε=0.05,n1=100,n2=100,则距离标准值因子系数c(ε)=1.36,距离标准值为Dε=0.192333;选定ε=0.025,n1=100,n2=100,则距离标准值因子系数c(ε)=1.48,距离标准值为Dε=0.209303。
步骤五,将D1k分别与选定ε相应的距离标准值Dε进行比较,若所有D1k≤Dε,则待测序列a1,a2,...,an满足随机特性,若存在一个D1k>Dε,则待测序列a1,a2,...,an不满足随机特性。例如当选定ε=0.10时,距离标准值为Dε=0.172534,若所有D1k≤0.172534时,待测序列a1,a2,...,an具有随机特性,否则若存在一个D1k>0.172534,则待测序列a1,a2,...,an不具有随机特性。
实施例二,对待测序列进行二次非线性变换后进行伪随机序列随机性检测。
参照图1和图3,本实例的实现步骤如下:
步骤1,输入长度为n=1.01×108的待测序列a1,a2,...,an。
步骤2,取分组长度d=101,将长度为1.01×108的原序列分成长度为101的106个小分组b1,b2,...,bm,记m=106,将每一个小分组bi=(a101(i-1)+1,a101(i-1)+2,...,a101(i-1)+101)作为函数系数带入二次非线性函数f(x1,x2,...,x101)=x1x2+x3x4+...+x99x100+x101,求ci=f(a101(i-1)+1,a101(i-1)+2,...,a101(i-1)+101),i=1,2,...,106,得到长度为m=106的序列c1,c2,...,cm。
步骤3,对二次非线性变换后的序列c1,c2,...,cm用渗透测试方法进行统计:
(3a)取一个标准随机序列S,对标准随机序列求标准数据DEV=(H1,H2,...,H100);
其中1≤j ≤100。MAXlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的最大值,MEANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的平均值,VARIANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的方差;
(3b)对变换后的序列c1,c2,...,cm用渗透测试的测试方法进行统计,得到一组统计值dev2=(h21,h22,...,h2100),
其中
max2layerj为由序列c1,c2,...,cm决定的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为标准序列S决定的第j种点火方式对应的layer燃烧树木的平均值,VARIANlayerj为标准序列S决定的第j种点火方式对应的layer燃烧树木的方差;
(3c)利用Kolmogorv-Smirnov检测法比较数据dev2=(h21,h22,...,h2100)和DEV=(H1,H2,...,H100),得到最大距离
步骤4,选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值,c(ε)的值如表1所示。
步骤5,将D2与选定ε相应的距离标准值Dε进行比较,若D2≤Dε,则待测序列a1,a2,...,an满足随机特性,反之若D2>Dε,则待测序列a1,a2,...,an不满足随机特性。例如当选定ε=0.05时,距离标准值为Dε=0.192333,若D2≤0.192333时,待测序列a1,a2,...,an具有随机特性,否则若D2>0.192333,则待测序列a1,a2,...,an不具有随机特性。
实施例三,对待测序列进行大数表决后进行伪随机序列随机性检测。
参照图1和图4,本实例的实现步骤如下:
步骤A,输入长度为n=1.01×108待测序列a1,a2,...,an。
步骤B,取分组长度d=101,将长度为1.01×108的原序列分成长度为101的106个小分组b1,b2,...,bm,记m=106,对每一个小分组bi=(a101(i-1)+1,a101(i-1)+2,...,a101(i-1)+101),求1≤i≤m,得到长度为m的序列c1,c2,...,cm。
步骤C,对大数表决后的序列c1,c2,...,cm用渗透测试方法进行统计:
(C1)取一个标准随机序列S,对标准随机序列求标准数据DEV=(H1,H2,...,H100),
其中1≤j≤100。MAXlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的最大值,MEANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的平均值,VARIANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的方差;
(C2)对变换后的序列c1,c2,...,cm用渗透测试的测试方法进行统计,得到一组统计值dev3=(h31,h32,...,h3100),
其中1≤j≤100,max3layerj为由序列c1,c2,...,cm决定的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为标准序列决定的第j种点火方式对应的layer燃烧树木的平均值,VARIANlayerj为标准序列决定的第j种点火方式对应的layer燃烧树木的方差;
(C3)利用Kolmogorv-Smirnov检测法比较数据dev3=(h31,h32,...,h3100)和DEV=(H1,H2,...,H100),得到最大距离
步骤D,选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值,c(ε)的值如表1所示。
步骤E,将D3与选定ε相应的距离标准值Dε进行比较,若D3≤Dε,则待测序列a1,a2,...,an满足随机特性,反之若D3>Dε,则待测序列a1,a2,...,an不满足随机特性。例如当选定ε=0.025时,距离标准值为Dε=0.209303,若D3≤0.209303时,待测序列a1,a2,...,an具有随机特性,否则若D3>0.209303,则待测序列a1,a2,...,an不具有随机特性。
实施例四,对待测序列进行分组逐位线性映射后进行伪随机序列随机性检测。
参照图1和图5,本实例的实现步骤如下:
第一步,输入长度为n=2×106的待测序列a1,a2,...,an。
第二步,取窗口宽度为d=106,将长度为2×106的原序列逐位截取成长度为106的106个小分组其中1≤i≤106,记m=106;
第三步,对小分组bi(1≤i≤106)用渗透测试方法进行统计:
首先,取一个标准随机序列S。对该序列求标准数据DEV=(H1,H2,...,H100),其中1≤j≤100,MAXlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的最大值,MEANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的平均值,VARIANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的方差;
其次,对小分组bi(1≤j≤106)分别用渗透测试的测试方法进行统计,得到一组统计值
dev4k=(h4k,1,h4k,2,...,h4k,100),其中1≤k≤106,1≤j≤100,max4k,layerj为由第k个序列决定的的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为标准序列S决定的的第j种点火方式对应的layer燃烧树木的平均值,VARIANlayerj为标准序列S决定的的第j种点火方式对应的layer燃烧树木的方差;
然后,利用Kolmogorv-Smirnov检测法比较数据dev4k=(h4k,1,h4k,2,...,h4k,100)和DEV=(H1,H2,...,H100),得到最大距离其中1≤k≤106。
第四步,选定分位点ε,计算距离标准值其中n1和n2分别表示参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值,c(ε)的值如表1所示。
第五步,将D4k分别与选定ε相应的距离标准值Dε进行比较,若所有D4k≤Dε,则待测序列a1,a2,...,an满足随机特性,若存在一个D4k>Dε,则待测序列a1,a2,...,an不满足随机特性。例如当选定ε=0.01时,距离标准值为Dε=0.2305168,若所有D4k≤0.2305168时,待测序列a1,a2,...,an具有随机特性,否则若存在一个D4k>0.2305168,则待测序列a1,a2,...,an不具有随机特性。
实施例五,对待测序列进行分组模2加后进行伪随机序列随机性检测。
参照图1和图6,本实例的实现步骤如下:
第1步,输入长度为n=2×106待测序列a1,a2,...,an。
第2步,,取分组长度d=100,将长度为2×106的原序列分成长度为100的2×104个小分组b1,b2,...,bL-1,bL,
其中L=2×104,bj=(a100(j-1)+1,a100(j-1)+2,...,a100(j-1)+100),1≤j≤L,将b2i-1与b2i逐位进行模2加后级联,得到一个长度为m=106的分组模2加序列c1,c2,...,cm。
第3步,对分组模2加序列c1,c2,...,cm用渗透测试方法进行统计:
(3.1)取一个标准随机序列S,对标准随机序列求标准数据DEV=(H1,H2,...,H100),
其中1≤j≤100。MAXlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的最大值,MEANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的平均值,VARIANlayerj为标准随机序列S决定的第j种点火方式对应的layer树木燃烧的方差;
(3.2)对变换后的序列c1,c2,...,cm用渗透测试的测试方法进行统计,得到一组统计值dev5=(h51,h52,...,h5100),其中1≤j≤100,max5layerj为由序列c1,c2,...,cm决定的第j种点火方式对应的layer燃烧树木的最大值,MEANlayerj为标准序列决定的第j种点火方式对应的layer燃烧树木的平均值,VARIANlayerj为标准序列决定的第j种点火方式对应的layer燃烧树木的方差;
(3.3)利用Kolmogorv-Smirnov检测法比较数据dev5=(h51,h52,...,h5100)和DEV=(H1,H2,...,H100),得到最大距离
第4步,选定分位点ε,计算距离标准值其中n1和n2分别表示
参与比较的两组数据的个数,c(ε)为距离标准值因子系数的值,c(ε)的值如表1所示。
第5步,将D5与选定ε相应的距离标准值Dε进行比较,若D5≤Dε,则待测序列a1,a2,...,an满足随机特性,反之若D5≤Dε,则待测序列a1,a2,...,an不满足随机特性。例如当选定ε=0.005时,距离标准值为Dε=0.275772,若Dε≤0.275772时,待测序列a1,a2,...,an具有随机特性,否则若Dε>0.275772,则待测序列a1,a2,...,an不具有随机特性。