System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于随机数检测的非重叠模板的匹配方法和装置、电子设备制造方法及图纸_技高网

用于随机数检测的非重叠模板的匹配方法和装置、电子设备制造方法及图纸

技术编号:40317900 阅读:8 留言:0更新日期:2024-02-07 21:00
本申请提出一种用于随机数检测的非重叠模板的匹配方法和装置、电子设备以及非瞬时性计算机可读存储介质,所述匹配方法包括根据目标模板的长度,初始化目标模板数组和统计数组;利用所述目标模板,确定所述目标模板数组对应位置的元素值;移位所述非重叠模板,以得到所述非重叠模板的子序列;利用所述目标模板数组,判断所述子序列是否为所述目标模板;根据判断结果,更新所述统计数组。根据一些实施例,仅需对非重叠模板读取1次,即可确定非重叠模板中多个目标模板的非重叠次数统计。相比于现有技术,对硬件的要求大大降低,且减少了随机测试的整体测试耗时。

【技术实现步骤摘要】

本申请涉及随机数测试领域,具体而言,涉及一种用于随机数检测的非重叠模板的匹配方法和装置、电子设备以及非瞬时性计算机可读存储介质。


技术介绍

1、随机数在密码学、扩频通信、蒙特卡洛方法等
被大量使用,随机性测试因此也有着广泛应用。以密码学在生活中的应用——安全芯片为例,安全芯片在工作时需要利用外部物理噪音源,如微小抖动、环境温度等,以直接放大、振荡采样等方法产生难以预测的随机数,并将这些随机数作为数字签名和生成密钥的基础工具,产生的随机数的质量好坏将直接影响该芯片安全性的上下限。因此,在设计安全芯片的过程中,开发人员需要对该芯片产生的随机数做大量的测试。

2、随机数测试的核心是通过经过精心测试的方法对随机数的多项统计学特征进行测量和评估,nist推出的《nist-special publication800-22》测试标准(以下称“nist标准”)建立在缜密的理论分析之上,其专业性和权威性得到国际信息安全界广泛认可。但在现有技术中,与该标准一同发布的配套测试工具在测试速度上不尽人意。近年来,已有不少研究人员尝试对优化测试方法的实现,但大多集中在如何充分利用gpu等较新的硬件设备以实现多文件并行测试上。nist标准包含16项测试项,其中非重叠模板匹配测试耗时最多,占比在40%左右。

3、现有的非重叠模板匹配测试优化方案大多集中在如何充分利用gpu等性能更强大的硬件工具上,而这种方法对于性能较差或没有gpu硬件的设备不友好。


技术实现思路

1、本申请旨在提出一种用于随机数检测的非重叠模板的匹配方法和装置、电子设备以及非瞬时性计算机可读存储介质,以解决现有的非重叠模板匹配测试优化方案对硬件性能要求较高的问题。

2、根据本申请的一方面,提出一种用于随机数检测的非重叠模板的匹配方法,包括:根据目标模板的长度,初始化目标模板数组和统计数组;利用所述目标模板,确定所述目标模板数组对应位置的元素值;移位所述非重叠模板,以得到所述非重叠模板的子序列;利用所述目标模板数组,判断所述子序列是否为所述目标模板;根据判断结果,更新所述统计数组。

3、根据一些实施例,根据目标模板的长度,初始化目标模板数组和统计数组,包括:根据所述目标模板的长度,确定所述目标模板数组和所述统计数组的长度。

4、根据一些实施例,所述目标模板数组和所述统计数组的长度相等,且均满足如下公式:

5、n=2m+1,其中,m为所述目标模板的长度,n为所述统计数组和所述目标模板数组的长度。

6、根据一些实施例,利用所述目标模板,确定所述目标模板数组对应位置的元素值,包括:计算所述目标模板的十进制值;利用所述十进制值,确定所述目标模板数组的元素位置;将确定的所述目标模板数组的元素位置对应的值置为目标模板数组预设值。

7、根据一些实施例,在利用所述目标模板数组,判断所述子序列是否为所述目标模板之前,所述匹配方法还包括:根据所述目标模板的长度,初始化边界数组。

8、根据一些实施例,利用所述目标模板数组,判断所述子序列是否为所述目标模板,包括:记录所述子序列的最后一个元素在所述非重叠模板中的位置;计算所述子序列的十进制值;利用所述十进制值,确定所述目标模板数组的元素位置和所述边界数组的元素位置;判断所述目标模板数组的元素位置对应的值是否为目标模板数组预设值,以及所述边界数组的元素位置对应的值是否不大于所述子序列的最后一个元素在所述非重叠模板中的位置;若所述目标模板数组的元素位置对应的值为目标模板数组预设值,且所述边界数组的元素位置对应的值不大于所述子序列的最后一个元素在所述非重叠模板中的位置,则确定所述子序列为所述目标模板。

9、根据一些实施例,利用所述目标模板数组,判断所述子序列是否为所述目标模板,还包括:若所述子序列为所述目标模板,则利用所述子序列的十进制值、所述目标模板的长度和所述子序列的最后一个元素在所述非重叠模板中的位置更新所述边界数组。

10、根据一些实施例,通过下式更新所述边界数组:

11、boundary[var]=point+m

12、其中,boundary为所述边界数组,var为所述子序列的十进制值,point为所述子序列的最后一个元素在所述非重叠模板中的位置,m为所述目标模板的长度。

13、根据一些实施例,在根据判断结果,更新所述统计数组之后,所述匹配方法还包括重复执行如下步骤,直至移动至所述非重叠模板的最后一位:移位所述非重叠模板,以得到所述非重叠模板的子序列;利用所述目标模板数组,判断所述子序列是否为所述目标模板;根据判断结果,更新所述统计数组。

14、根据本申请的一方面,提出一种非重叠模板的匹配装置,包括:数组初始化单元,用于根据目标模板的长度,初始化目标模板数组和统计数组;目标模板元素值确定单元,用于利用所述目标模板,确定所述目标模板数组对应位置的元素值;非重叠模板移位单元,用于移位所述非重叠模板,以得到所述目标模板数组的子序列;子序列判断单元,用于利用所述目标模板数组,判断所述子序列是否为所述目标模板;统计数组更新单元,根据判断结果,更新所述统计数组。

15、根据本申请的一方面,提出一种电子设备,包括:处理器;以及存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如前任一实施例所述的匹配方法。

16、根据本申请的一方面,提出一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如前任一实施例所述的匹配方法。

17、根据一些实施例,仅需对非重叠模板读取1次,即可确定非重叠模板中多个目标模板的非重叠次数统计。相比于现有技术,对硬件的要求大大降低,且减少了随机测试的整体测试耗时。

18、应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

本文档来自技高网...

【技术保护点】

1.一种用于随机数检测的非重叠模板的匹配方法,其特征在于,包括:

2.根据权利要求1所述的匹配方法,其特征在于,根据目标模板的长度,初始化目标模板数组和统计数组,包括:

3.根据权利要求2所述的匹配方法,其特征在于,所述统计数组和所述目标模板数组的长度相等,所述目标模板数组和所述统计数组的长度均满足如下公式:

4.根据权利要求1所述的匹配方法,其特征在于,利用所述目标模板,确定所述目标模板数组对应位置的元素值,包括:

5.根据权利要求1所述的匹配方法,其特征在于,在利用所述目标模板数组,判断所述子序列是否为所述目标模板之前,所述匹配方法还包括:

6.根据权利要求5所述的匹配方法,其特征在于,利用所述目标模板数组,判断所述子序列是否为所述目标模板,包括:

7.根据权利要求6所述的匹配方法,其特征在于,利用所述目标模板数组,判断所述子序列是否为所述目标模板,还包括:

8.根据权利要求7所述的匹配方法,其特征在于,通过下式更新所述边界数组:

9.根据权利要求1所述的匹配方法,其特征在于,在根据判断结果,更新所述统计数组之后,所述匹配方法还包括重复执行如下步骤,直至移动至所述非重叠模板的最后一位:

10.一种非重叠模板的匹配装置,其特征在于,包括:

11.一种电子设备,包括:

12.一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如权利要求1-9中任一项所述的匹配方法。

...

【技术特征摘要】

1.一种用于随机数检测的非重叠模板的匹配方法,其特征在于,包括:

2.根据权利要求1所述的匹配方法,其特征在于,根据目标模板的长度,初始化目标模板数组和统计数组,包括:

3.根据权利要求2所述的匹配方法,其特征在于,所述统计数组和所述目标模板数组的长度相等,所述目标模板数组和所述统计数组的长度均满足如下公式:

4.根据权利要求1所述的匹配方法,其特征在于,利用所述目标模板,确定所述目标模板数组对应位置的元素值,包括:

5.根据权利要求1所述的匹配方法,其特征在于,在利用所述目标模板数组,判断所述子序列是否为所述目标模板之前,所述匹配方法还包括:

6.根据权利要求5所述的匹配方法,其特征在于,利用所述目标模板数组,判断...

【专利技术属性】
技术研发人员:陈彦霖黄金尚丁金妃张振山
申请(专利权)人:国民技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1