多个不同长度子序列频数的获得方法、装置及电子设备制造方法及图纸

技术编号:22218820 阅读:23 留言:0更新日期:2019-09-30 01:13
本发明专利技术实施例提出一种多个不同长度子序列频数的获得方法、装置及电子设备,通过获得各个最长子序列的频数,各个最长子序列的统计对象为待检测数据,最长子序列的长度小于或等于待检测数据的总长度,因为每个最长子序列均包含至少两个相同或不同的剩余子序列,可以根据各个最长子序列的频数获得全部剩余子序列的频数,不用再单独去统计剩余子序列的频数,从而极大地减少了统计次数,从而降低了处理器的负载,提升了统计的效率。

A Method, Device and Electronic Equipment for Acquiring Frequencies of Multiple Subsequences of Different Length

【技术实现步骤摘要】
多个不同长度子序列频数的获得方法、装置及电子设备
本专利技术涉及信息技术
,具体而言,涉及一种多个不同长度子序列频数的获得方法、装置及电子设备。
技术介绍
目前许多统计检测方法,例如重叠子序列检测、近似熵检测等检测方法,都需要统计不同长度的子序列的频数。现有的统计方法中,需要依次统计每一长度子序列的频数,统计次数多,统计过程繁杂,效率很低,严重影响了检测效率,因此不同长度子序列统计频数的快速实现有着广泛的应用需求和非常重要的现实意义,比如可直接应用在重叠子序列频数和近似熵检测中。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种多个不同长度子序列频数的获得方法、装置、存储介质以及电子设备。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种多个不同长度子序列频数的获得方法,所述方法包括:获得各个最长子序列的频数,其中,所述各个最长子序列的统计对象为待检测数据,所述最长子序列的长度小于或等于所述待检测数据的总长度;根据所述各个最长子序列的频数获得全部剩余子序列的频数,其中,每个所述最长子序列均包含至少两个相同或不同的所述剩余子序列,所述剩余子序列的长度小于所述最长子序列的长度,所述剩余子序列的统计对象为所述待检测数据。第二方面,本专利技术实施例还提供了一种多个不同长度子序列频数的获得装置,所述装置包括:最长子序列的频数获得模块:用于获得各个最长子序列的频数,其中,所述各个最长子序列的统计对象为待检测数据,所述最长子序列的长度小于或等于所述待检测数据的总长度;剩余子序列的频数获得模块:用于根据所述各个最长子序列的频数获得全部剩余子序列的频数,其中,每个所述最长子序列均包含至少两个相同或不同的所述剩余子序列,所述剩余子序列的长度小于所述最长子序列的长度,所述剩余子序列的统计对象为所述待检测数据。第三方面,本专利技术实施例还提供了一种存储介质,所述存储介质存储有计算机指令,所述计算机指令在被读取并运行时执行第一方面所述的多个不同长度子序列频数的获得方法。第四方面,本专利技术实施例还提供了一种电子设备,所述电子设备包括处理器、存储器,所述存储器内安装有多个不同长度子序列频数的获得装置,所述多个不同长度子序列频数的获得装置包括一个或多个由所述处理器执行的软件功能模块,所述多个不同长度子序列频数的获得装置包括:最长子序列的频数获得模块:用于获得各个最长子序列的频数,其中,所述各个最长子序列的统计对象为待检测数据,所述最长子序列的长度小于或等于所述待检测数据的总长度;剩余子序列的频数获得模块:用于根据所述各个最长子序列的频数获得全部剩余子序列的频数,其中,每个所述最长子序列均包含至少两个相同或不同的所述剩余子序列,所述剩余子序列的长度小于所述最长子序列的长度,所述剩余子序列的统计对象为所述待检测数据。本专利技术实施例提供的一种多个不同长度子序列频数的获得方法、装置、存储介质以及电子设备的有益效果:通过根据各个最长子序列的频数获得全部剩余子序列的频数,减少了大量的流程,降低了处理器的负载,提升了统计效率。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例提供的电子设备的结构应用示意图;图2示出了本专利技术实施例提供的多个不同长度子序列频数的获得方法流程示意图;图3示出了本专利技术实施例提供的S10的子步骤流程示意图;图4示出了本专利技术实施例提供的S104的子步骤流程示意图;图5示出了本专利技术实施例提供的S104的另一种子步骤流程示意图;图6示出了本专利技术实施例提供的拼接数据示意图;图7示出了本专利技术实施例提供的S11的子步骤流程示意图;图8示出了本专利技术实施例提供的多个不同长度子序列频数的获得装置的功能单元示意图。图标:100-电子设备;101-处理器;102-存储器;103-总线;104-通信接口;201-最长子序列的频数获得模块;202-剩余子序列的频数获得模块。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。计算机系统的安全性需要依赖随机数,比如各种密码算法的密钥、国产密码算法SM2加密以及签名方案中生成的随机数等。在密码学中,随机性检测采用概率统计的方法分析测试随机数的随机性,判断待测试数据和真随机数在统计上是否难以区分,不同的检测算法从不同的侧面刻画两者之间的差距。国际上很多著名的密码算法都进行了大量的随机性检测评估,比如AES算法竞赛,我国的ZUC密码算法。美国国家标准与技术研究院发布特别出版物800-22文档《AStatisticalTestSuiteforRandomandPseudorandomNumberGeneratorsforCryptographicApplications》,我国于2016年颁布了GB/T32915-2016《信息安全技术二元序列随机性检测方法》,这两个文档都建议15种统计检测方法,它们都建议使用重叠子序列检测、近似熵检测等检测方法。在一些统计检测方法中,例如重叠子序列检测、近似熵检测,需要统计不同长度的子序列的频数。目前的统计方法往往是用每一个子序列依次遍历待检测数据,从而得到每一个子序列出现的频数。现有的统计方法需要遍历的次数过多,增加了计算机的负载,降低了统计的速率。为了便于理解,请参考下例,待检测数据为:01010101,需要统计长度为3和2的各个子序列的出现的频数,其中,长度为3的子序列包括:000、001、010、011、100、101、110、111,共8种;长度为2的子序列包括:00、01、10、11,共4种,在一种可能的实现方式中,将010和待检测数据中每一个连续的三位比较,当相同时,则010的频数加1,当不同时,010的频数不变,经过6次比较后,方能得到010出现的频数为3,同样的,每一个其本文档来自技高网...

【技术保护点】
1.一种多个不同长度子序列频数的获得方法,其特征在于,所述方法包括:获得各个最长子序列的频数,其中,所述各个最长子序列的统计对象为待检测数据,所述最长子序列的长度小于或等于所述待检测数据的总长度;根据所述各个最长子序列的频数获得全部剩余子序列的频数,其中,每个所述最长子序列均包含至少两个相同或不同的所述剩余子序列,所述剩余子序列的长度小于所述最长子序列的长度,所述剩余子序列的统计对象为所述待检测数据。

【技术特征摘要】
1.一种多个不同长度子序列频数的获得方法,其特征在于,所述方法包括:获得各个最长子序列的频数,其中,所述各个最长子序列的统计对象为待检测数据,所述最长子序列的长度小于或等于所述待检测数据的总长度;根据所述各个最长子序列的频数获得全部剩余子序列的频数,其中,每个所述最长子序列均包含至少两个相同或不同的所述剩余子序列,所述剩余子序列的长度小于所述最长子序列的长度,所述剩余子序列的统计对象为所述待检测数据。2.根据权利要求1所述的多个不同长度子序列频数的获得方法,其特征在于,所述获得各个最长子序列的频数的步骤包括:获得待检测数据和长度集合,其中,所述长度集合为待统计频数的子序列的长度的集合;从所述长度集合中筛选出最大长度t;分别统计I个所述最长子序列的频数,其中,I=2t。3.根据权利要求2所述的多个不同长度子序列频数的获得方法,其特征在于,所述待检测数据的总长度为n比特,所述分别统计I个所述最长子序列的频数的步骤包括:通过F次遍历分别统计I个所述最长子序列的频数,其中,F=n-t+1。4.根据权利要求2所述的多个不同长度子序列频数的获得方法,其特征在于,当所述待检测数据为字节数据时,所述待检测数据的总长度为r字节,在所述获得待检测数据和长度集合之后,所述分别统计I个所述最长子序列的频数的步骤包括:获取α个加载数据,其中,每个所述加载数据均包括w个字节,8w≥t,α=r/w;分别统计I个所述最长子序列在所述α个加载数据中的频数;分别统计I个所述最长子序列在任意两个相邻的所述加载数据的拼接部中的频数;分别将I个最长子序列在所述α个加载数据中的频数和所述拼接部中的频数累加,以分别统计I个最长子序列的频数。5.根据权利要求4所述的多个不同长度子序列频数的获得方法,其特征在于,所述分别统计I个所述最长子序列在所述α个加载数据中的频数的步骤包括:将v1(t)[i]初始化为零,其中,v1(t)[i]表征长度为t的第i个子序列在α个加载数据中的频数,0≤i≤2t-1;依次加载α个加载数据;初始化第二索引值g为0,依据算式1更新v1(t)[i]:{i=(O1>>g)∧Mask2,v1(t)[i]=v1(t)[i]+1,g=g+1}(1)其中,0≤g≤8w-t,Mask2=2t-1,Mask2表征第二取掩码,O1表征当前的加载数据;所述分别统计I个所述最长子序列在任意两个相邻的所述加载数据的拼接部中的频数的步骤包括:将v2(t)[i]初始化为零,其中,v2(t)[i]表征长度为t的第i个子序列在拼接部中的频数,0≤i≤2t-1;依次加载相邻的两个加载数据;依据算式2更新v2(t)[i]:{i=(O1>>g)∨(O2<...

【专利技术属性】
技术研发人员:罗影王鹏李先强竹贝芬曾伟周海涛
申请(专利权)人:江苏芯盛智能科技有限公司
类型:发明
国别省市:江苏,32

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

1