【技术实现步骤摘要】
用于随机数发生器安全性检测的预测方法、装置及介质
[0001]本专利技术涉及随机数发生器安全性检测
,具体涉及一种用于随机数发生器安全性检测的预测方法、装置及介质。
技术介绍
[0002]随机数发生器(Random number Generator,RNG)就是产生随机数(Random Number,RND)的装置或设备,可广泛应用于仿真建模、计算科学和信息安全等多个领域中。特别是在密码技术中,随机数发生器产生的高质量的随机数是确保密钥交换、数字签名和身份认证等过程的安全基石,因此对随机数发生器的安全性检测和评估具有重要的应用价值。
[0003]目前业界多采用统计测试(黑盒测试)的方法对随机数发生器进行安全分析,即利用数理统计、预测器等软件对随机数发生器进行安全性检测。其中基于预测器的检测方法的基本原理是利用机器学习模型对获取的历史RND进行模型训练与学习,然后使用该模型对随机数发生器将要输出的RND进行预测,根据预测结果来检测和分析随机数发生器的安全性。近年来机器学习技术快速发展,基于预测器的检测方法受到广泛关注,比较有代表性的成果有:2016年华南师范大学的朱佳等人提出了基于朴素贝叶斯算法、支持向量机、决策树、K
‑
最近邻等经典机器学习算法的预测器用于对随机数发生器进行安全性分析;同年,施耐德(印度)的Kumar等人提出了使用基于朴素贝叶斯机器学习预测器对伪随机数发生器进行安全性分析。2018年美国国家标准与技术研究院(NIST)在发布的NIST SP800
‑
9 ...
【技术保护点】
【技术特征摘要】
1.一种用于随机数发生器安全性检测的预测方法,其特征在于,具体包括如下步骤:S1、构建数据集:将被检测随机数发生器输出的随机数按照先后顺序加注时间戳标签,组成数据集D,D={d1,d2,.d
i
..,d
n
},d1,d2,...d
i
...,d
n
为数据元素,数据元素的下标1,2,...i...,n为时间戳,表示数据元素的时间先后顺序;S2、利用RuLSIF变点检测算法对数据集D进行预处理,将变点检测所得到的变点分段数据记为A1,A2,...A
i
...,A
n
,其中A1={d1,d2,...d
i
...,d
N
},将A1,A2,...A
i
...,A
n
数据段按照6∶2∶2的比例随机划分为训练集、验证集和测试集;S3、构建编码网络,并利用编码网络对步骤S2预处理后的数据进行计算,得到含有索引信息的数组;S4、构建解码网络,并利用解码网络对编码网络输出的数组数据进行计算,得到权重信息;S5、采用分类卷积神经网络对编\解码网络结构的输出融合计算,得到预测数据;S6、根据步骤S3
‑
步骤S5构建预测器RuLeformer,利用训练集对预测器进行训练,训练完成后记为RuLeformer
‑
Suc;S7、采用测试集对预测器RuLeformer
‑
Suc进行测试,测试完成则保存训练权重,否则返回步骤S6重新训练网络模型;S8、对预测器RuLeformer
‑
Suc进行安全性检测,完成预测。2.根据权利要求1所述的用于随机数发生器安全性检测的预测方法,其特征在于:所述的编码网络具体包括1维卷积层C
en1
、位置向量编码器E
en
、多头自注意力层S
en1
、1维卷积层C
en2
、最大池化层P
en1
、多头注意力层S
en2
和特征映射层FP
en
。3.根据权利要求1所述的用于随机数发生器安全性检测的预测方法,其特征在于:在步骤S3中,所述利用编码网络对步骤S2预处理后的数据进行计算,得到含有索引信息的数组,具体包括如下步骤:S31、将A1={d1,d2,...d
i
...,d
N
}输入至C
en1
进行卷积运算后得到具有关联信息的1维序列A
en
‑
con1
,其中A
en
‑
con1
={d
en
‑
con1
,d
en
‑
con2
,...d
en
‑
coni
...,d
en
‑
conN
};将A1数据段的时间戳序列T
en
={1,2,...i...,N}输入至E
en
得到序列T
en
′
,其中T
en
′
={1
′
,2
′
,...i
′
....,N
′
};然后将A
en
‑
con1
和T
en
′
中相同位置的数据元素d
en
‑
coni
和i
′
相加,得到序列A
en
‑
mix1
,其中,A
en
‑
mix1
={d
en
‑
mix1
,d
en
‑
mix2
,...d
en
‑
mixi
...,d
en
‑
mixN
};S32、将步骤S31获得的序列A
en
‑
mix1
输入到多头自注意力层S
en1
得到含有数据元素之间相关信息的序列A1_D
en1
,将A1_D
en1
序列对应的注意力权重数组记为W
en1
,其中A1_D
en1
={d
en1
,d
en2
,...d
eni
...,d
enN
}、W
en1
={(q
en1
,k
en1
,v
en1
)1,...(q
eni
,k
eni
,v
eni
)
i
...,(q
enN
,k
enN
,v
en
)
N
},(q
eni
,k
eni
,v
eni
)
i
对应数据元素d
eni
的权重信息;S33、将步骤S32获得的序列A1_D
en1
和权重数组W
en1
分别先后输入到C
en2
和P
en1
,得到数据序列A1_D
en2
和对应的权重数组W
en2
,其中A1_D
en2
={d
′
en1
,d
′
en2
,...d
′
eni
...,d
′
enN
}、W
en2
={(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
权重信息;S34、将步骤S33获得序列A1_D
en2
和权重数组W
en2
输入到S
en2
得到注意力权重数组W
en3
,其中,W
en3
={(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_D
en2
输入到特征映射层FP
en
进行计算获得含有索引信息的数组H
en
,H
en
={(I1,d
″
en1
)1,...(I
i
,d
″
eni
)
i
...,(I
N
,d
″
enN
)
N
}。4.根据权利要求1所述的用于随机数发生器安全性检测的预测方法,其特征在于:所述的解码网络具体包括1维卷积层C
de1
、位置向量编码器E
de
、多头自注意力层S
de1
、1维卷积层C
de2
、最大池化层P
de1
和多头注意力层S
de2
。5.根据权利要求1所述的用于随机数发生器安全性检测的预测方法,其特征在于:在步骤S4中,所述利用解码网络对编码网络输出的数组数据进行计算,得到权重信息,具体包括如下步骤:S41、设待预测的数据元素为N
‑
i个且满足将数据段A1={d1,d2,...d
i
,d
i+1
,....,d
N
)中第1个至第i个数据元素保持不变,其余N
‑
i个待预测数据元素值设定为0,获得含有待预测数据数据段A1_a,其中A1_a={d1,d2,...,d
i
,0
i+1
,...,0
N
},数据元素的下标序号1,2,...i,i+1,...,N为时间戳,组成的时间戳序列记为T
de
={1,2,...,i,i+1,...,N};将该A1_a输入至1维卷积层C
de1
得到具有关联信息的序列A1_a
de
‑
con
;将时间序列T
de
输入至位置向量编码器E
de
获得的序列记为T
de
′
,其中T
de
′
={1
′
,2
′
,...,i
′
,(i+1)
′
,...,N
′
};将A1_a
de
‑
con
和T
de
′
中相同位置的数据元素d
de
‑
coni
和i
′
相加得到序列A1_a
de
‑
mix
,其中A1_a
de...
【专利技术属性】
技术研发人员:樊矾,张晓玲,韦顺军,师君,胥小我,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。