一种F-检验优化实现方法、存储介质以及实现设备

文档序号:33171318发布日期:2023-02-04 02:36阅读:27来源:国知局
一种F-检验优化实现方法、存储介质以及实现设备
一种f-检验优化实现方法、存储介质以及实现设备
技术领域
1.本发明属于,具体涉及一种f-检验优化实现方法、存储介质以及实现设备。


背景技术:

2.随着工业控制生产环境从封闭走向开放,工业控制系统由单机走向互联,联网工控设备和系统有增无减,工业信息安全事件频发。为增强工业信息安全,大量有针对性的工业控制安全防护产品被研制出来,如入侵检测产品、安全网关、监测预警、主机安全防护、工业互联网安全监测、工业嵌入式软件信息安全等,随机比特生成器作为上述安全产品的最核心的模块被集成了这些产品中。根据国家密码管理局颁布的密码行业标准gm/t 0062-2018《密码产品随机数检测要求》,这些随机比特生成器产生的随机数需要进行仔细检测,确保其产生的随机数比特质量满足要求。
3.f-检验,也被称为频率检验,是最基础最重要的随机数质量检验方法之一,同时也被《应用密码学手册》列为五项基本检验方法之一。f1检验的目的是用来保证待检数据中0比特和1比特的个数大致相同。传统的f-检验需要待检数据为二元序列,若不是则需转化为二元序列,然后执行如下步骤。第1步:对n比特序列样本,统计其中的比特0和1的个数,分别记为σ和φ。第2步:计算f-检验的检验统计量第3步:计算p值,p=igamc(1/2,ψ/2)。第4步:如果p≥α,则认为待检序列通过f-检验;否则,待检序列未通过f-检验。其中,α为显著性水平,igamc为不完全伽马函数。传统的f-检验方法采用基于比特的处理方式,即只能按比特进行逐比特地处理待检数据,而在工业控制系统的安全防护类产品中等待进行f-检验的数据通常是来自随机数发生器的随机数,这些数据数都以字节来表示,不会以比特来表示。因此,传统的f-检验采取的逐比特处理方式,会导致如下众多问题:
4.(a)增加字节转比特的过程,自然就增加了执行流程的复杂度。
5.(b)增加了存储空间占用,比如以常用的比特长度n=1,000,000为例,就需要在存储空间及其紧张的工控安全设备中开辟出1mb字节的存储空间存储转换得到的比特序列。
6.(c)这一过程必然降低执行效率。工业控制系统的安全防护类产品的数据处理能力有限,f-检验的效率太低会影响工业控制设备的稳定性和实时性,对工业系统健康运行埋下隐患。
7.(d)工业控制系统的安全防护类产品对浮点运算的处理能力较弱,甚至不具备浮点处理能力。上述实现方式的步骤2和步骤3,特别是是步骤3计算不完全伽马函数igamc需要涉及大量的浮点运算,这对工业控制系统的安全防护类产品而言是极大的挑战,可能导致数据无法得到适时相应,甚至为工业控制系统的稳定运行埋下隐患。
8.因此,一种f-检验优化实现方法、存储介质以及实现设备亟待提出。


技术实现要素:

9.为解决现有技术存在的缺陷,本发明提供一种f-检验优化实现方法、存储介质以及实现设备。
10.为了解决上述技术问题,本发明提供了如下的技术方案:
11.本发明提供一种f-检验优化实现方法,应用于工业控制系统的安全防护装置,包括以下步骤:若工业控制系统的安全防护装置中运行环境支持浮点运算,则进入基于浮点运算的实现方法;若工业控制系统的安全防护装置中不支持浮点运算,则进入无浮点运算的实现方法。
12.优选的,所述基于浮点运算的实现方法包括以下步骤:
13.步骤11:利用查表法统计待检验序列b中比特0的个数;其中,b=b0,b1,...,b
n-1
,以字节形式表示的待检序列;
14.步骤12:计算统计量ψ,
15.其中,σ为比特0的个数,φ为比特1的个数;n为待检数据的比特长度,n是8的整数倍;n为待检数据的字节长度,n=8n;
16.步骤13:比较统计量ψ与阈值α,计算p=igamc(1/2,ψ/2);如果p≥α,则认为待检序列通过f-检验;否则,待检序列未通过f-检验;其中,α为显著性水平。
17.优选的,所述步骤11中利用查表法统计待检验序列b中比特0的个数,具体包括以下步骤:
18.步骤111:初始化比特0的个数,即σ

0;
19.步骤112:for i=0,1,2,

,n-1do;
20.σ

σ+t[bi];
[0021]
end for。
[0022]
优选的,所述无浮点运算的实现方法包括以下步骤:
[0023]
步骤21:预处理建表,建立1个表t,t[x]表示一个字节的值x中有多少个比特为0,0≤x≤255;
[0024]
步骤22:利用查表法统计待检验序列b中比特0的个数;其中,b=b0,b1,...,b
n-1
,以字节形式表示的待检序列;
[0025]
步骤23:计算统计量ψ’,ψ’=(2σ-n)2;
[0026]
其中,σ为比特0的个数;n为待检数据的比特长度,n是8的整数倍;n为待检数据的字节长度,n=8n;
[0027]
步骤24:不支持浮点运算的环境下的阈值γ采用如下方式计算,
[0028][0029]
步骤25:比较统计量ψ’与阈值y;如果ψ’≤γ,则认为待检序列通过f-检验;否则,待检序列未通过f-检验;其中,α为显著性水平。
[0030]
优选的,所述步骤22中利用查表法统计待检验序列b中比特0的个数,具体包括以下步骤:
[0031]
步骤221:初始化比特0的个数,即σ

0;
[0032]
步骤222:for i=0,1,2,

,n-1do;
[0033]
σ

σ+t[bi];
[0034]
end for。
[0035]
本发明还提供一种计算机可读存储介质,其上存储有软件程序,该程序被处理器
执行时实现上述的f-检验优化实现方法。
[0036]
本发明还提供一种f-检验优化实现设备,包括处理器、如上所述的计算机可读存储介质、以及存储在计算机可读存储介质上并可在处理器上运行的软件程序,所述处理器用于执行计算机可读存储介质上存储的可执行软件程序。
[0037]
本发明相较于现有技术,具有以下有益效果:
[0038]
本发明直接对工业控制系统的安全防护类产品生成的字节数据做处理,避免了传统检验方法中要将数据做比特转化的操作,并且基于查表统计,计算量大幅度下降,减少了工作流程和工作量,提升了检测效率,进而提升了工业控制系统的安全防护装置的实时响应性,从侧面增强了工业控制系统的稳定性和健壮性。同时,还节约了大量的数据存储空间,在资源占用方面极具优势。
附图说明
[0039]
图1是本发明基于浮点运算的实现方法的工作流程图;
[0040]
图2是本发明无浮点运算的实现方法的工作流程图。
具体实施方式
[0041]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0042]
实施例1
[0043]
本实施例提供一种f-检验优化实现方法,应用于工业控制系统的安全防护装置,包括以下步骤:若工业控制系统的安全防护装置中运行环境支持浮点运算,则进入基于浮点运算的实现方法,如图1所示,该实现方法包括以下步骤:
[0044]
步骤11:利用查表法统计待检验序列b中比特0的个数;其中,b=b0,b1,...,b
n-1
,以字节形式表示的待检序列;具体包括以下步骤:
[0045]
步骤111:初始化比特0的个数,即σ

0;
[0046]
步骤112:for i=0,1,2,...,n-1 do;
[0047]
σ

σ+t[bi];
[0048]
end for;
[0049]
步骤12:计算统计量ψ,
[0050]
其中,σ为比特0的个数,φ为比特1的个数;n为待检数据的比特长度,n是8的整数倍;n为待检数据的字节长度,n=8n;
[0051]
步骤13:比较统计量ψ与阈值α,计算p=igamc(1/2,ψ/2);如果p≥α,则认为待检序列通过f-检验;否则,待检序列未通过f-检验;其中,α为显著性水平。
[0052]
若工业控制系统的安全防护装置中不支持浮点运算,则进入无浮点运算的实现方法,如图2所示,该实现方法包括以下步骤:
[0053]
步骤21:预处理建表,建立1个表t,t[x]表示一个字节的值x中有多少个比特为0,0≤x≤255;
[0054]
步骤22:利用查表法统计待检验序列b中比特0的个数;其中,b=b0,b1,l,b
n-1
,以字
节形式表示的待检序列;具体包括以下步骤:
[0055]
步骤221:初始化比特0的个数,即σ

0;
[0056]
步骤222:for i=0,1,2,...,n-1 do;
[0057]
σ

σ+t[bi];
[0058]
end for;
[0059]
步骤23:计算统计量ψ’,ψ’=(2σ-n)2;
[0060]
其中,σ为比特0的个数;n为待检数据的比特长度,n是8的整数倍;n为待检数据的字节长度,n=8n;
[0061]
步骤24:不支持浮点运算的环境下的阈值γ采用如下方式计算,
[0062][0063]
其中,α为显著性水平;
[0064]
步骤25:比较统计量ψ’与阈值γ;如果ψ’≤γ,则认为待检序列通过f-检验;否则,待检序列未通过f-检验。
[0065]
本实施例还提供一种计算机可读存储介质,其上存储有软件程序,该程序被处理器执行时实现上述的f-检验优化实现方法。
[0066]
本实施例还提供一种f-检验优化实现设备,包括处理器、如上所述的计算机可读存储介质、以及存储在计算机可读存储介质上并可在处理器上运行的软件程序,所述处理器用于执行计算机可读存储介质上存储的可执行软件程序。
[0067]
在一些实施例中,处理器是一种集成电路芯片,具有信号的处理能力。在实现过程中,一种f-检验优化实现方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器是通用处理器,包括但不限于中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件或者晶体管逻辑器件。
[0068]
在一些实施例中,计算机可读存储介质包括但不限于内存、闪存、寄存器或者其结合。计算机可读存储介质可以包含高速随机存取存储器(ram:random access memory),也可以包括非易失存储器(non-volatile memory),例如至少一个磁盘存储器。计算机可读存储介质用于存储一个或多个程序,例如一种f-检验优化实现方法对应的程序,当一个或多个程序被处理器执行时,执行上述一种f-检验优化实现方法。
[0069]
在一些实施例中,还包括总线,总线包括但不限于isa(industry standard architecture)总线、pci(peripheral component interconnect)总线或eisa(extended industry standard architecture)总线。处理器、计算机可读存储介质通过总线进行数据交互。
[0070]
在一些实施例中,还包括通信接口,通信接口用于支持有线或者无线的通信协议,从而实现与外部的其它设备之间的通信连接。
[0071]
本发明根据工业控制系统的安全防护装置中运行环境是否支持浮点运算分为两种情况,有针对性地设计优化实现方案,使得方案可以兼容更多的工业控制系统的安全防护装置。
[0072]
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1