System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及信息安全领域,尤其涉及一种序列随机性检测方法及装置。
技术介绍
1、目前,随着信息化和计算机技术的发展,人们在享受信息化带来的众多好处的同时,网络安全问题已成为信息时代人类共同面临的挑战。随机数发生器的输出被称为随机数,广泛应用于各个领域。因此,为保证随机数发生器产生质量优异且稳定的随机数,就需要对随机数的随机性进行检测。
2、目前,随机数检测过程占用内存过多,难以满足对物联网安全设备、工业控制安全设备等资源紧缩型设备。
技术实现思路
1、本申请实施例提供一种序列随机性检测方法及装置,用以减少内存占用。
2、第一方面,本申请实施例提供的一种序列随机性检测方法,包括:
3、获取n字节的待检测序列,n为大于1的正整数;根据所述待检测序列中的前k字节中的比特的比特和值确定至少一个比特集合,任一所述比特集合包含所述前k字节中多个连续的比特,所述多个连续的比特中的最后一个比特对应的比特和值为设定值,且所述多个连续的比特中的最后一个比特以外的比特对应的比特和值非为所述设定值,k为小于n的正整数;根据所述比特集合中比特的比特和值的数值分布信息确定所述待检测序列是否通过随机性检测。
4、根据该方法,本申请在检测的过程中,不需要一次性将全部字节转换为比特,而是根据待检测序列中的部分比特求和得到比特序列,仅存储部分比特求和得到的比特和值,并得到比特和值对应的数值分布信息,遍历全部序列后可以获得全部序列对应的数值分布信息,并根据数值分布信息
5、在一种可能的设计中,所述待检测序列的比特和值根据所述待检测序列的比特值以及所述比特值对应的调整值确定,其中,不同比特值对应的调整值不同,并且相同的比特值对应的调整值相同。
6、根据该设计,本申请中,比特值为0对应的调整值为-1,比特值为1对应的调整值为1,根据比特值(比如比特值为b1=0、b2=1、b3=1)确定比特值对应的调整值(比如,调整值为d1=-1、d2=1、d3=1)。该设计用于令比特和值不存在两个相邻的值均为0的情况,避免后续计算圈数时额外计算多余的圈数,保证统计圈数的准确性,提高检测效率。
7、在一种可能的设计中,任一比特集合对应的数值分布信息用于指示所述比特集合对应的取值为目标值的比特和值的个数,所述目标值不包括所述设定值。
8、根据该设计,在根据多个比特得到比特和值后,将等于目标值的比特和值的个数确定为比特和值的数值分布信息,目标值的范围不包括设定值。比如由多个比特确定的比特和值序列为{1,2,1,2,1,2},目标值为1和比特和值的个数为3,目标值为2的比特和值的个数为3。将数值分布信息记为state(x),x即目标值,state(1)=3,state(2)=3,因此在计算出比特和值后,可获得比特和值等于目标值的个数并作为数值分布信息,可以将一串比特和值序列转化为通过数值表示的数值分布信息,进一步减少设备的内存占用。
9、在一种可能的设计中,所述根据所述比特集合中比特的比特和值的数值分布信息确定所述待检测序列是否通过随机性检测,包括:根据所述数值分布信息、所述比特集合的个数和所述目标值确定所述目标值对应的第二数值;在所述目标值对应的第二数值满足随机性条件的情况下,确定所述待检测序列通过随机性检测。
10、根据该设计,本申请可根据数值分布信息、比特集合的个数、目标值确定目标值对应的第二数值,通过对目标值的第二数值作统计运算,若多个目标值的第二数值通过相同的方式得到的计算结果与阈值比较,若全部的目标值的第二数值与阈值的比较结果均满足随机性条件,则确定待检测序列通过随机性检测,采用该设计可提高确定待检测序列通过随机性检测的准确性。
11、在一种可能的设计中,所述根据所述数值分布信息、所述比特集合的个数和所述目标值确定所述目标值对应的第二数值,包括:根据所述数值分布信息和所述比特集合的个数确定所述目标值对应的比特集合的个数;根据所述目标值对应的比特集合的个数、所述比特集合的个数和所述目标值确定所述目标值对应的第二数值。
12、根据该设计,根据目标值对应的比特集合获得目标值对应的第二数值,比如统计比特值对应的比特集合的个数得到第二数值,采用的统计方法可提高获得第二数值的准确性。
13、在一种可能的设计中,所述目标值对应的第二数值满足随机性条件包括:任一目标值对应的第二数值大于或等于阈值。
14、根据该设计,判断多个目标值对应的第二数值是否满足随机性条件,仅当所有的目标值对应的第二数值都满足随机性条件,则确定待检测序列通过随机性检测,若任一目标值对应的第二数值不满足随机性条件,则确定待检测序列未通过随机性检测,采用该设计可使提高对待检测序列的随机性检测的准确性。
15、第二方面,本申请实施例提供的一种序列随机数检测装置,包括:
16、获取模块,用于获取n字节的待检测序列,n为大于1的正整数;处理模块,用于根据所述待检测序列中的前k字节中的比特的比特和值确定至少一个比特集合,任一所述比特集合包含所述前k字节中多个连续的比特,所述多个连续的比特中的最后一个比特对应的比特和值为设定值,且所述多个连续的比特中的最后一个比特以外的比特对应的比特和值非为所述设定值,k为小于n的正整数;所述处理模块,还用于根据所述比特集合中比特的比特和值的数值分布信息确定所述待检测序列是否通过随机性检测。
17、在一种可能的设计中,所述待检测序列的比特和值根据所述待检测序列的比特值以及所述比特值对应的调整值确定,其中,不同比特值对应的调整值不同,并且相同的比特值对应的调整值相同。
18、在一种可能的设计中,任一比特集合对应的数值分布信息用于指示所述比特集合对应的取值为目标值的比特和值的个数,所述目标值不包括所述设定值。
19、在一种可能的设计中,所述处理模块,具体用于:根据所述数值分布信息、所述比特集合的个数和所述目标值确定所述目标值对应的第二数值;在所述目标值对应的第二数值满足随机性条件的情况下,确定所述待检测序列通过随机性检测。
20、在一种可能的设计中,所述处理模块,具体用于:根据所述数值分布信息和所述比特集合的个数确定所述目标值对应的比特集合的个数;根据所述目标值对应的比特集合的个数、所述比特集合的个数和所述目标值确定所述目标值对应的第二数值。
21、在一种可能的设计中,所述目标值对应的第二数值满足随机性条件包括:任一目标值对应的第二数值大于或等于阈值。
22、第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面及其任意一种设计的方法。
23、第四方面,本申请实施例还提供了一种电子设备,包括存储器本文档来自技高网...
【技术保护点】
1.一种序列随机性检测方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述待检测序列的比特和值根据所述待检测序列的比特值以及所述比特值对应的调整值确定,其中,不同比特值对应的调整值不同,并且相同的比特值对应的调整值相同。
3.如权利要求1所述的方法,其特征在于,任一比特集合对应的数值分布信息用于指示所述比特集合对应的取值为目标值的比特和值的个数,所述目标值不包括所述设定值。
4.如权利要求1所述的方法,其特征在于,所述根据所述比特集合中比特的比特和值的数值分布信息确定所述待检测序列是否通过随机性检测,包括:
5.如权利要求4所述的方法,其特征在于,所述根据所述数值分布信息、所述比特集合的个数和所述目标值确定所述目标值对应的第二数值,包括:
6.如权利要求5所述的方法,其特征在于,所述目标值对应的第二数值满足随机性条件包括:任一目标值对应的第二数值大于或等于阈值。
7.一种序列随机性检测装置,其特征在于,包括:
8.如权利要求7所述的装置,其特征在于,所述待检测序列的比特和值根据所
9.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~6中任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有程序代码,当所述程序代码在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~6中任一所述方法的步骤。
...【技术特征摘要】
1.一种序列随机性检测方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述待检测序列的比特和值根据所述待检测序列的比特值以及所述比特值对应的调整值确定,其中,不同比特值对应的调整值不同,并且相同的比特值对应的调整值相同。
3.如权利要求1所述的方法,其特征在于,任一比特集合对应的数值分布信息用于指示所述比特集合对应的取值为目标值的比特和值的个数,所述目标值不包括所述设定值。
4.如权利要求1所述的方法,其特征在于,所述根据所述比特集合中比特的比特和值的数值分布信息确定所述待检测序列是否通过随机性检测,包括:
5.如权利要求4所述的方法,其特征在于,所述根据所述数值分布信息、所述比特集合的个数和所述目标值确定所述目标值对应的第二数值,包括:
6.如权利要求...
【专利技术属性】
技术研发人员:罗影,郝香,胡伯良,
申请(专利权)人:北京海泰方圆科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。