CN105681024A - 一种单比特频数检测方法 - Google Patents

一种单比特频数检测方法 Download PDF

Info

Publication number
CN105681024A
CN105681024A CN201610014917.6A CN201610014917A CN105681024A CN 105681024 A CN105681024 A CN 105681024A CN 201610014917 A CN201610014917 A CN 201610014917A CN 105681024 A CN105681024 A CN 105681024A
Authority
CN
China
Prior art keywords
bit
frequency detection
sequence
calculate
bit frequency
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.)
Pending
Application number
CN201610014917.6A
Other languages
English (en)
Inventor
罗影
张文科
尹一桦
徐远泽
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.)
Chengdu Westone Information Industry Inc
Original Assignee
Chengdu Westone Information Industry Inc
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 Chengdu Westone Information Industry Inc filed Critical Chengdu Westone Information Industry Inc
Priority to CN201610014917.6A priority Critical patent/CN105681024A/zh
Publication of CN105681024A publication Critical patent/CN105681024A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种单比特频数检测方法,属于数据通信和信息安全领域,解决计算机在执行现有单比特频数检测方法时,效率低的问题;技术方案核心是:利用查表法直接得出w个比特中比特1的个数,并由此优化单比特频数检测的统计量计算;还可对单比特频数检测的判断过程进行优化,通过比较统计量erfc(|Sn|/(2n)1/2)不小于显著水平α时|Sn|的阈值来减少余差函数的计算。本发明具有检查效率高、占用存储空间小等优点。

Description

一种单比特频数检测方法
技术领域
本发明涉及数据通信和信息安全领域,尤其是涉及一种单比特频数检测方法。
背景技术
随机序列在密码应用技术中占有非常重要的地位,香农的完善保密系统以及现代密码系统都将随机序列视为安全算法的根本。现在的计算机安全系统大量使用随机序列,如密钥的产生、数字签名、身份认证等,这充分体现了随机数的应用价值。在应用密码学中,随机性检测的目的是采用概率统计方法分析测试随机数发生器等生成的序列的随机性,判断待检序列在统计上是否难以和真随机数区分开。不同的检测算法从不同的角度刻画待检序列与真随机序列之间的差距。在经过多年的研究和发展后随机性检测已经取得了丰硕的成果,目前已有大量的随机性检测算法,并且新的检测算法还在不断涌现。
美国国家标准与技术研究院(NationalInstituteofStandardsandTechnology,NIST)发布的SP800-22标准建议了16种用于随机性测试的统计检验方法,2009年,我国国家密码管理局发布了《随机性检测规范》建议了15种用于随机性测试的统计检验方法,其中单比特频数检测是二者共有的检测项。单比特频数检测的目的是检验待n比特的待检序列中0、1比特是否服从均匀分布,即保证0、1比特的个数大致相同。单比特频数检测是随机性测试的基础,应首先进行。如果该检测都无法通过,那么不用进行其他测试即可表明该序列不随机。因此,这两种检测具有非常重要的作用,必须具备极高的检测效率,以便快速剔除那些明显不满足随机性特征的待检样本。
现有单比特频数检测的方法是:先将输入的待检数据的比特0和1分别转为-1和1表示,然后计算统计量累加和——0和1个数的差值,接着以此为基础计算P值,并与显著水平α比较,判断检序列是否通过检测。现有单比特频数检测算法中,需要计算n比特序列的累加和需要执行n次查表和n次加法,另外还需计算统计量的余差函数。大量的测试表明该检测算法的效率并不高,实际检测工作中需要更加高效快捷的检测系统,进而大大提高整个随机性检测规范的检测效率。
发明内容
本发明的目的在于:针对现有技术存在的问题,提供一种单比特频数检测方法,解决计算机在执行现有单比特频数检测方法时,效率低的问题。
本发明的发明目的通过以下技术方案来实现:
一种单比特频数检测方法,其特征在于,该方法包括步骤:
(1)将待检序列按长度w划分为非重叠的子序列,利用查表法计算每个子序列中比特1的个数Ni
(2)利用查表得到的Ni计算累积和
(3)计算统计值 V = | S n | / n ;
(4)根据公式计算P值,若P大于等于显著水平α,则认为待检序列通过检测。
作为进一步的技术方案,所述查表法为:对每个子序列,从头至尾依序取连续w个比特数,并利用查表直接得出这连续w个比特中比特1的个数。
作为进一步的技术方案,所述查表法的w值取8最合适:8比特是完整的一个字节,无需进行字节间的拼接或拆分;并且此时表的规模仅为256字节,适和绝大部分处理系统。
一种单比特频数检测方法,其特征在于,该方法包括步骤:
(1)将待检序列的逐比特转换为Xi,转换方式为:比特0和1分别转化为-1和1;
(2)对转换后的序列求和,得到累积和
(3)先计算出P=erfc(|Sn|/(2n)1/2)≥α时|Sn|的阈值(上界)s,然后比较|Sn|和阈值s,若|Sn|≤s,则认为待检序列通过检测。
作为进一步的技术方案,所述查表法为:对每个子序列,从头至尾依序取连续w个比特数,并利用查表直接得出这连续w个比特中比特1的个数。
作为进一步的技术方案,所述查表法的w值取8最合适:8比特是完整的一个字节,无需进行字节间的拼接或拆分;并且此时表的规模仅为256字节,适和绝大部分处理系统。
作为进一步的技术方案,对n=1000000,α=0.01而言,阈值s=2575。
一种单比特频数检测方法,其特征在于,该方法包括步骤:
(1)将待检序列按长度w划分为非重叠的子序列,利用查表法计算每个子序列中比特1的个数Ni
(2)利用查表得到的Ni计算累积和
(3)先计算出P=erfc(|Sn|/(2n)1/2)≥α时|Sn|的阈值(上界)s,然后比较|Sn|和阈值s,若|Sn|≤s,则认为待检序列通过检测。
作为进一步的技术方案,所述查表法为:对每个子序列,从头至尾依序取连续w个比特数,并利用查表直接得出这连续w个比特中比特1的个数。
作为进一步的技术方案,所述查表法的w值取8最合适:8比特是完整的一个字节,无需进行字节间的拼接或拆分;并且此时表的规模仅为256字节,适和绝大部分处理系统。
作为进一步的技术方案,对n=1000000,α=0.01而言,阈值s=2575。
与现有技术相比,本发明系统具有检查效率高、占用存储空间小等优点。
附图说明
图1是单比特频数检测方法实施例1的流程图。
图2是单比特频数检测方法实施例2的流程图。
图3是单比特频数检测方法实施例3的流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例1
经研究发现,现有单比特频数检测效率并不高的主要原因是:比特数量统计采用了单比特统计方式,使得每次只能处理一个比特,CPU的字长没有得到充分利用,如果能一次处理多个比特,那么处理速度将会有明显的提升。因此本发明提供一种单比特频数检测方法,该方法的主要原理为:利用查表法直接得出w个比特中比特1的个数,进而大大减小CPU计算次数,提高处理效率。
本实施例的该方法可通过以下系统实现,如图1所示,该系统包括查表计算各字节中1的个数模块、按字节计算累加和模块、计算统计量模块、计算P值并与显著水平比较模块。待检数据流经过查表计算各字节中1的个数模块可得到每个字节中比特1的个数,这些统计出的个数进入按字节计算累加和模块,后者统计出整个序列的累加和值后送入计算统计量模块,后者计算特定的统计量并送入计算P值并与显著水平比较模块以分析待检序列是否通过检测并反馈判断结果。
查表计算各字节中1的个数模块:主要完成查表计算各字节中1的个数模块步骤S1:将待检序列按长度w划分为非重叠的子序列,利用查表法计算每个子序列中比特1的个数Ni
按字节计算累加和模块:主要完成按字节计算累加和步骤S2:利用查表得到的Ni计算累积和 S n = n - 2 Σ i = 1 n / w N i .
所述查表法为:对每个子序列,从头至尾依序取连续w个比特,并利用查表直接得出这连续w个比特中比特1的个数,反复多次查表可得到每个子序列中比特1的个数Ni。查表法中表的元素个数为2w。综合分析w比特的获取以及表的规模后得出w取8较合适。首先,8比特刚好是一个字节,无需做额外的字节拆分或拼接;其次,表的规模为256字节,适合绝大部分系统。记B=B1||…||BL为连续L个字节形成的数组,其中Bi,1≤i≤L为一个字节。记g(B,t)表示计算B1||…||Bt这t个字节中比特1的总个数。g(B,1)表示计算1个字节B1中比特1的个数,可通过1次查表实现,g(B,t)可通过t次查表实现。
计算统计量模块:主要完成计算统计量步骤S3:计算统计值
计算P值并与显著水平比较模块:主要完成计算P值并与显著水平比较步骤S4:根据公式计算P值,若P大于等于显著水平α,则认为待检序列通过检测。
实施例2
经研究发现,现有单比特频数检测效率并不高的另一个主要原因是:计算P值时使用了计算较复杂的余差函数。因此本实施例对传统实现的主要改进为:避免计算较复杂的余差函数,即通过比较累积和|Sn|与P值大于等于显著水平α时累积和的阈值s来减少余差函数的计算量。
本实施例的该方法可通过以下系统实现,如图2所示,该系统包括转换序列模块、按位计算累加和模块、比较累加和与阈值模块。待检数据流经过转换序列模块得到一个新的序列,该序列进入按位计算累加和模块,后者统计出整个序列的累加和值后送入比较累加和与阈值模块以分析待检序列是否通过检测并反馈判断结果。
转换序列模块:主要完成转换序列步骤S1:将待检序列进行逐比特转换,转化方法是0和1转化为-1和1。
按位计算累加和模块:主要完成按位计算累加和步骤S2:对转换后的序列逐比特累加计算累积和 S n = Σ i = 1 n X i .
比较累加和与阈值模块:主要完成比较累加和与阈值步骤S3:先计算出P=erfc(Sn/(2n)1/2)≥α时累积和绝对值|Sn|-的阈值(上界)s,然后比较累积和绝对值|Sn|--和阈值s,若|Sn|≤s,则认为待检序列通过检测。对n=1000000,α=0.01而言,阈值s=2575。
实施例3
本实施例主要在在实施例1和实施例2的基础上做改进,改进原理是:利用查表加速改进实施例2中的转换序列步骤和按位计算累加和步骤,消除了大量冗余的计算;同时,通过比较累积和|Sn|与P值大于等于显著水平α时累积和的阈值s来避免实施例1中的余差函数计算。
本实施例的该方法可通过以下系统实现,如图3所示,该系统包括查表计算各字节中1的个数模块、按字节计算累加和模块、比较累加和与阈值模块。待检数据流经过查表计算各字节中1的个数模块可得到每个字节中比特1的个数,这些统计出的个数进入按字节计算累加和模块,后者送入比较累加和与阈值模块以分析待检序列是否通过检测并反馈判断结果。
查表计算各字节中1的个数模块:主要完成查表计算各字节中1的个数模块步骤S1:将待检序列按长度w划分为非重叠的子序列,利用查表法计算每个子序列中比特1的个数Ni
按字节计算累加和模块:主要完成按字节计算累加和步骤S2:利用查表得到的Ni计算累积和 S n = n - 2 Σ i = 1 n / w N i .
所述查表法为:对每个子序列,从头至尾依序取连续w个比特,并利用查表直接得出这连续w个比特中比特1的个数,反复多次查表可得到每个子序列中比特1的个数Ni。查表法中表的元素个数为2w。综合分析w比特的获取以及表的规模后得出w取8较合适。首先,8比特刚好是一个字节,无需做额外的字节拆分或拼接;其次,表的规模为256字节,适合绝大部分系统。记B=B1||…||BL为连续L个字节形成的数组,其中Bi,1≤i≤L为一个字节。记g(B,t)表示计算B1||…||Bt这t个字节中比特1的总个数。g(B,1)表示计算1个字节B1中比特1的个数,可通过1次查表实现,g(B,t)可通过t次查表实现。
比较累加和与阈值模块:主要完成比较累加和与阈值步骤S3:先计算出P=erfc(Sn/(2n)1/2)≥α时累积和绝对值|Sn|的阈值(上界)s,然后比较累积和绝对值|Sn|和阈值s,若Sn≤s,则认为待检序列通过检测。对n=1000000,α=0.01而言,阈值s=2575。
在IntelCorei33400MHz处理器、4GBDDR31600MHz内存、WinXPSP3操作系统、VC6.0的测试平台上实测传统实现方式和本实施例的实现方式。从表1的对比可知,传统实现方式实现的单比特频数检测1902微秒,而本实施例的检测对应的检测时间为65.3微秒,检测速度分别提升了29.2倍。本实施例实现的一种具有单比特频数检测方法,具有检查效率高、占用存储空间小、模块可重用等优点。
表1
算法 优化前耗时T1 优化后耗时T2 T1:T2
单比特频数检测 1902微秒 65.3微秒 29.2
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,应当指出的是,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种单比特频数检测方法,其特征在于,该方法包括步骤:
(1)将待检序列按长度w划分为非重叠的子序列,利用查表法计算每个子序列中比特1的个数Ni
(2)利用查表得到的Ni计算累积和
(3)计算统计值
(4)根据公式计算P值,若P大于等于显著水平α,则认为待检序列通过检测。
2.根据权利要求1所述的一种单比特频数检测方法,其特征在于,所述查表法为:对待检序列,从头至尾依序取连续w个比特数,并利用查表直接得出这连续w个比特中比特1的个数。
3.根据权利要求1所述的一种单比特频数检测方法,其特征在于,所述查表法的w值取8。
4.一种单比特频数检测方法,其特征在于,该方法包括步骤:
(1)将待检序列逐比特转换为Xi,转换方式为:比特0和1分别转化为-1和1;
(2)对转换后的数值求和,得到累积和
(3)先计算出erfc(|Sn|/(2n)1/2)≥α时累积和绝对值|Sn|的阈值(上界)s,然后比较|Sn|和阈值s,若|Sn|≤s,则认为待检序列通过检测。
5.根据权利要求4所述的一种单比特频数检测方法,其特征在于,对n=1000000,α=0.01而言,阈值s=2575。
6.一种单比特频数检测方法,其特征在于,该方法包括步骤:
(1)将待检序列按长度w划分为非重叠的子序列,利用查表法计算每个子序列中比特1的个数Ni
(2)利用查表得到的Ni计算累积和
(3)先计算出erfc(|Sn|/(2n)1/2)≥α时累计和绝对值|Sn|的阈值(上界)s,然后比较|Sn|和阈值s,若Sn≤s,则认为待检序列通过检测。
7.根据权利要求6所述的一种单比特频数检测方法,其特征在于,对n=1000000,α=0.01而言,阈值s=2575。
CN201610014917.6A 2016-01-11 2016-01-11 一种单比特频数检测方法 Pending CN105681024A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610014917.6A CN105681024A (zh) 2016-01-11 2016-01-11 一种单比特频数检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610014917.6A CN105681024A (zh) 2016-01-11 2016-01-11 一种单比特频数检测方法

Publications (1)

Publication Number Publication Date
CN105681024A true CN105681024A (zh) 2016-06-15

Family

ID=56299947

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610014917.6A Pending CN105681024A (zh) 2016-01-11 2016-01-11 一种单比特频数检测方法

Country Status (1)

Country Link
CN (1) CN105681024A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617653A (zh) * 2018-12-06 2019-04-12 四川长虹电器股份有限公司 序列测试的优化实现方法
CN110308892A (zh) * 2019-07-01 2019-10-08 湖南国科微电子股份有限公司 一种基于查表法的游程测试方法
CN112632558A (zh) * 2020-12-23 2021-04-09 工业信息安全(四川)创新中心有限公司 一种工控安全设备的分块中最长的零行程测试方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888282A (zh) * 2010-04-22 2010-11-17 北京邮电大学 一种基于随机性分析的数据加密功能的检验方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101888282A (zh) * 2010-04-22 2010-11-17 北京邮电大学 一种基于随机性分析的数据加密功能的检验方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗影等: "《单比特频数检测和块内频数检测的快速实现研究》", 《通信技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617653A (zh) * 2018-12-06 2019-04-12 四川长虹电器股份有限公司 序列测试的优化实现方法
CN110308892A (zh) * 2019-07-01 2019-10-08 湖南国科微电子股份有限公司 一种基于查表法的游程测试方法
CN110308892B (zh) * 2019-07-01 2023-08-22 湖南国科微电子股份有限公司 一种基于查表法的游程测试方法
CN112632558A (zh) * 2020-12-23 2021-04-09 工业信息安全(四川)创新中心有限公司 一种工控安全设备的分块中最长的零行程测试方法及装置

Similar Documents

Publication Publication Date Title
CN105634728A (zh) 一种块内频数检测方法
US9317517B2 (en) Hashing scheme using compact array tables
CN105681024A (zh) 一种单比特频数检测方法
CN105678083A (zh) 一种具有单比特频数检测和块内频数检测的快速检测方法
CN106156615B (zh) 基于类可分性判距的旁路区分器方法及系统
Chen et al. A new discrete Fourier transform randomness test
CN111639351B (zh) 基于自编码器和Henon映射的电池溯源管理编码加解密方法
CN112861121B (zh) 一种块内最大1、0游程检测合并优化实现方法及装置
Hashemi et al. Invariant G 2 V algorithm for computing SAGBI-Gröbner bases
CN112667395A (zh) 一种块内最大1游程检测方法及装置
CN106375082B (zh) 一种伪随机数产生方法
CN111914276A (zh) 芯片信息泄露分析方法和装置
CN112632558B (zh) 一种工控安全设备的分块中最长的零行程测试方法及装置
CN117459322B (zh) 基于物联网的计算机软件数据加密方法
US9667420B2 (en) Method for rapidly generating coordinate point in embedded system
CN113282803B (zh) 工作量证明算法优化方法、装置、计算机设备和存储介质
Wang et al. Differential power analysis attack and countermeasures on MCrypton
Zhao et al. An Automatically Privacy Protection Solution for Implementing the Right to Be Forgotten in Embedded System
CN118153703B (zh) 一种基于字处理的量子随机数后处理方法及装置
Rukhin Statistical testing of randomness: New and old procedures
Arya Fastbit-radix sort: Optimized version of radix sort
CN117077182B (zh) 用于电子商务管理系统数据的安全存储方法
CN112561236B (zh) 基于频繁项集挖掘的告警信息压缩方法
Fang et al. A Zero Chip Area Overhead Mapping Core Watermarking Algorithm
CN115269187A (zh) 一种工业控制安全的行程分配测试方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160615