用于随机数发生器安全性检测的预测方法、装置及介质

文档序号:34664244发布日期:2023-07-05 12:38阅读:55来源:国知局
用于随机数发生器安全性检测的预测方法、装置及介质

本发明涉及随机数发生器安全性检测,具体涉及一种用于随机数发生器安全性检测的预测方法、装置及介质。


背景技术:

1、随机数发生器(random number generator,rng)就是产生随机数(randomnumber,rnd)的装置或设备,可广泛应用于仿真建模、计算科学和信息安全等多个领域中。特别是在密码技术中,随机数发生器产生的高质量的随机数是确保密钥交换、数字签名和身份认证等过程的安全基石,因此对随机数发生器的安全性检测和评估具有重要的应用价值。

2、目前业界多采用统计测试(黑盒测试)的方法对随机数发生器进行安全分析,即利用数理统计、预测器等软件对随机数发生器进行安全性检测。其中基于预测器的检测方法的基本原理是利用机器学习模型对获取的历史rnd进行模型训练与学习,然后使用该模型对随机数发生器将要输出的rnd进行预测,根据预测结果来检测和分析随机数发生器的安全性。近年来机器学习技术快速发展,基于预测器的检测方法受到广泛关注,比较有代表性的成果有:2016年华南师范大学的朱佳等人提出了基于朴素贝叶斯算法、支持向量机、决策树、k-最近邻等经典机器学习算法的预测器用于对随机数发生器进行安全性分析;同年,施耐德(印度)的kumar等人提出了使用基于朴素贝叶斯机器学习预测器对伪随机数发生器进行安全性分析。2018年美国国家标准与技术研究院(nist)在发布的nist sp800-90b标准中提出了基于multimcw算法、lag算法、multimmc算法和lz78y算法的四种预测器来实现对rng的安全性分析。2018年,中科院信息工程研究所马原等人提出基于fnn(feedforwardneural network,前馈神经网络)与rnn(recurrent neural network,循环神经网络)算法的预测器用于对随机数发生器进行安全性分析。2018年,美国伦斯勒理工学院(rensselaerpolytechnic instit)王戈等人提出了基于fnn(fully neural network,连接神经网络)的预测器开展对伪随机数发生器进行安全性评估。2019年,美国欧道明大学的wen y等人提出了基于lstm(long short-term memory,长短期记忆的神经网络)算法的预测器用于对随机数发生器进行检测;同年澳大利亚悉尼大学的truong等人设计了基于rcnn(recurrentconvolutional neural network,循环卷积神经网络)的预测器并利用该预测器对量子随机数发生器进行安全性评估。2020年,太原理工大学的李才等人设计了联合注意力机制和lstm算法的预测器,利用该预测器对基于混沌原理的随机数发生器进行了安全性分析。但上述工作中采用的机器学习算法或神经网络网络无法充分挖掘随机数发生器输出的rnd中可能存在的微弱相关性以及内禀性的特征或模式,使得检测器存在检测准确度不高,鲁棒性差以及检测效率低等问题。


技术实现思路

1、为解决现有技术中存在的准确度不高,泛化能力弱、鲁棒性差以及检测效率低的问题,本发明提供了一种用于随机数发生器安全性检测的预测方法、装置及介质,利用变点检测算法进行数据预处理,并联合注意力机制的编/解码网络与分类卷积神经网络进行rnd的预测以实现对随机数发生器的安全性分析和检测,具有检测准确率高,计算效率高、鲁棒性强等优点,可以实际应用于对随机数发生器的安全性检测,解决了上述背景技术中提到的问题。

2、为实现上述目的,本发明提供如下技术方案:一种用于随机数发生器安全性检测的预测方法,具体包括如下步骤:

3、s1、构建数据集:将被检测随机数发生器输出的rnd按照先后顺序加注时间戳标签,组成数据集d,d={d1,d2,…di...,dn},d1,d2,...di…,dn为数据元素,数据元素的下标1,2,…i...,n为时间戳,表示数据元素的时间先后顺序;

4、s2、利用rulsif变点检测算法对数据集d进行预处理,将变点检测所得到的变点分段数据记为a1,a2,…ai…,an,其中a1={d1,d2,…di…,dn},将a1,a2,…ai…,an数据段按照6:2:2的比例随机划分为训练集、验证集和测试集;

5、s3、构建编码网络,并利用编码网络对步骤s2预处理后的数据进行计算,得到含有索引信息的数组;

6、s4、构建解码网络,并利用解码网络对编码网络输出的数组数据进行计算,得到权重信息;

7、s5、采用分类卷积神经网络对编\解码网络结构的输出融合计算,得到预测数据;

8、s6、根据步骤s3-步骤s5构建预测器ruleformer,利用训练集对预测器进行训练,训练完成后记为ruleformer-suc;

9、s7、采用测试集对预测器ruleformer-suc进行测试,测试完成则保存训练权重,否则返回步骤s6重新训练网络模型;

10、s8、对预测器ruleformer-suc进行安全性检测,完成预测。

11、优选的,所述的编码网络具体包括1维卷积层cen1、位置向量编码器een、多头自注意力层sen1、1维卷积层cen2、最大池化层pen1、多头注意力层sen2和特征映射层fpen。

12、优选的,在步骤s3中,所述利用编码网络对步骤s2预处理后的数据进行计算,得到含有索引信息的数组,具体包括如下步骤:

13、s31、将a1={d1,d2,…di…,dn}输入至cen1进行卷积运算后得到具有关联信息的1维序列aen-con1,其中aen-con1={den-con1,den-con2,…den-coni…,den-conn};将a1数据段的时间戳序列ten={1,2,…i…,n}输入至een得到序列ten′,其中ten'={1',2',…i'…,n'};然后将aen-con1和ten′中相同位置的数据元素den-coni和i'相加,得到序列aen-mix1,其中,aen-mix1={den-mix1,den-mix2,…den-mixi…,den-mixn};

14、s32、将步骤s31获得的序列aen-mix1输入到多头自注意力层sen1得到含有数据元素之间相关信息的序列a1_den1,将a1_den1序列对应的注意力权重数组记为wen1,其中a1_den1={den1,den2,…deni…,denn}、wen1={(qen1,ken1,ven1)1,…(qeni,keni,veni)i…,(qenn,kenn,ven)n},(qeni,keni,veni)i对应数据元素deni的权重信息;

15、s33、将步骤s32获得的序列a1_den1和权重数组wen1分别先后输入到cen2和pen1,得到数据序列a1_den2和对应的权重数组wen2,其中a1_den2={d'en1,d'en2,…d'eni…,d'enn}、wen2={(q'en1,k'en1,v'en1)1,…(q'eni,k'eni,v'eni)i…,(q'enn,k'enn,v'enn)n},(q′eni,k′eni,v′eni)i对应数据元素d'eni权重信息;

16、s34、将步骤s33获得序列a1_den2和权重数组wen2输入到sen2得到注意力权重数组wen3,其中wen3={(q”en1,k”en1,v”en1)1,…(q”eni,k”eni,v”eni)i…,(q”enn,k”enn,v”enn)n},(q”eni,k”eni,v”eni)i对应数据元素d”eni权重信息,,将a1_den2输入到特征映射层fpen进行计算获得含有索引信息的数组hen,hen={(i1,d”en1)1,...(ii,d”eni)i…,(in,d”enn)n}。

17、优选的,所述的解码网络具体包括1维卷积层cde1、位置向量编码器ede、多头自注意力层sde1、1维卷积层cde2、最大池化层pde1和多头注意力层sde2。

18、优选的,在步骤s4中,所述利用解码网络对编码网络输出的数组数据进行计算,得到权重信息,具体包括如下步骤:

19、s41、设待预测的数据元素为n-i个且满足将数据段ai={d1,d2,…di,di+1,…,dn}中第1个至第i个数据元素保持不变,其余n-i个待预测数据元素值设定为0,获得含有待预测数据数据段a1_a,其中a1_a={d1,d2,...,di,0i+1,...,0n},数据元素的下标序号1,2,…i,i+1,…,n为时间戳,组成的时间戳序列记为tde={1,2,…,i,i+1,...,n};将该a1_a输入至1维卷积层cde1得到具有关联信息的序列a1_ade-con;将时间序列tde输入至位置向量编码器ede获得的序列记为tde′,其中tde'={1',2',...,i',(i+1)′,...,n′};将a1_ade-con和tde′中相同位置的数据元素dde-coni和i'相加得到序列a1_ade-mix,其中a1_ade-mix={dde-mix1,dde-mix2,...dde-mixi,dde-mix(i+1)...,dde-mixn};

20、s42、将步骤s41获得的a1_ade-mix输入多头自注意力层sde1得到含时序相关信息序列a1_ade1,a1_ade1={dde1,dde2,...ddei,dde(i+1),...,dden},将序列a1_ade1对应的注意力权重数组记为wde1,其中wde1={(qde1,kde1,vde1)1,...(qdei,kdei,vdei)i,(qde(i+1),kde(i+1),vde(i+1))i+1,…,(qden,kden,vden)n},(qdei,kdei,vdei)i为对应数据元素ddei的权重信息;

21、s43、将步骤s42获得的序列a1_ade1和权重数据数组wde1先后输入到1维卷积层cde2和最大池化层pde1,得到数据序列a1_ade2和权重数据数组wde2,其中a1_ade2={d'de1,d'de2,...d'dei,d'de(i+1),...,d'den},wde2={(q'de1,k'de1,v'de1)1,...(q'dei,k'dei,v'dei)i,(q'de(i+1),k'de(i+1),v'de(i+1))i+1,...,(q'den,k'den,v'den)n},(q′dei,k′dei,v′dei)i对应数据元素d'dei权重信息;

22、s44、将步骤s43获得a1_ade2和wde2输入到多头注意力层sde2获得a1_ade2序列对应的权重数组wde3,其中wde3={(q”de1,k”de1,v”de1)1,…(q”dei,k”dei,v”dei)i,(q”de(i+1),k”de(i+1),v”de(i+1))i+1,…,(q”den,k”den,v”den)n},(q”dei,k”dei,v”dei)i对应a1_ade2中的数据元素d”dei权重信息。

23、优选的,所述步骤s5中具体包括如下:

24、s51、将步骤s43获得权重数组wde3与步骤s34获得的权重数组wen3中表示数据元素的查询权重q值相等的权重数组所对应的键权重k和值权重v线性相加,得到新的权重数组wadd;

25、s52、将权重数组wadd依据公式计算得到全局注意力权重序列wlenet,wlenet={g1,...,gi,gi+1,...,gn};将权重数组wle与步骤s43获得数据序列a1_ade2中时间戳相同的数据元素进行相乘,得到的数据序列a1_ale,a1_ale={dle1,dle2,…dlei,dle(i+1),…,dlen};

26、s53、将步骤s34获得的数据数组hen={(i1,d”en1),...(ii,d”eni)...,(in,d”enn)}中时间戳序号一样的数据元素d”eni替换为步骤s52获得的数据序列a1_ale中的数据元素dlei,得到数组hle,hle={(i1,dle1),…(ii,dlei),(i(i+1),dle(i+1))...,(in,dlen)};

27、s54、构建分类卷积神经网络nle,将步骤s53获得的数组hle输入到nle进行计算,得到预测数据序列a1_af,a1_af={df(i+1),df(i+1),...,dfn}。

28、优选的,所述步骤s8中的安全性检测具体是指:

29、采集待测随机数发生器输出的数据集合din,将数据集合din输入到预测器ruleformer-suc中获得预测数据,然后采用预测准确度的计算方法得到全局预测准确度qg;

30、将数据集合din采用最大猜测概率的计算方法得到最大猜测概率qpre,比较全局预测准确度qg与最大猜测概率qpre的大小;

31、若qg≤qpre,则表明该组随机数具有良好的随机性,判定该待测随机数发生器通过了预测器ruleformer-suc的检测;

32、若qg>qpre,则表明该组随机数能够被预测器有效预测,判定该待测随机数发生器不能通过预测器ruleformer-suc的检测,存在安全风险。

33、另外,为实现上述目的,本发明还提供了如下技术方案:一种用于随机数发生器安全性检测的预测装置,所述装置包括:

34、数据集构建模块:将被检测随机数发生器输出的rnd按照先后顺序加注时间戳标签,组成数据集d,d={d1,d2,.di..,dn},d1,d2,.di.,dn为数据元素,数据元素的下标1,2,…i…,n为时间戳,表示数据元素的时间先后顺序;

35、数据集预处理模块:利用rulsif变点检测算法对数据集d进行预处理,将变点检测所得到的变点分段数据记为a1,a2,…ai…,an,其中a1={d1,d2,…di…,dn},将a1,a2,…ai…,an数据段按照6:2:2的比例随机划分为训练集、验证集和测试集;

36、编码网络构建模块:构建编码网络并利用编码网络对预处理后的数据进行计算,得到含有索引信息的数组;

37、解码网络构建模块:构建解码网络并利用解码网络对编码网络输出的数组数据进行计算,得到权重信息;

38、预测数据获取模块:采用分类卷积神经网络对编\解码网络结构的输出融合计算,得到预测数据;

39、预测器训练和测试模块:构建预测器ruleformer,利用训练集对预测器进行训练,训练完成后记为ruleformer-suc;采用测试集对预测器ruleformer-suc进行测试,测试完成则保存训练权重,否则重新训练网络模型;

40、预测器预测模块:对预测器ruleformer-suc进行安全性检测,完成预测。

41、另外,为实现上述目的,本发明还提供了如下技术方案:一种设备,所述设备包括:处理器;和存储器,用于存储一个或多个程序;

42、当所述一个或多个程序被处理器执行时,使得所述处理器执行所述的预测方法。

43、另外,为实现上述目的,本发明还提供了如下技术方案:一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的预测方法。

44、本发明的有益效果是:本发明方法通过结合变点检测算法、注意力机制和编\解码网络结构,提出了一种用于随机数发生器安全性检测的预测方法和装置,本发明提出的预测装置在数据预处理时采用rulsif变点检测算法将待测随机数按照分布特征分段,提升了其鲁棒性;采用了基于注意力机制的编/解码网络并联合lenet网络进行预测,提升了检测准确度和检测效率;另外还使用全局预测准确度与待测随机数发生器输出随机数的最大猜测概率进行比较来实现对随机数发生器的安全性检测和评估。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1