基于空洞深度可分离卷积构建神经网络差分区分器的方法

文档序号:36882439发布日期:2024-02-02 21:17阅读:52来源:国知局
基于空洞深度可分离卷积构建神经网络差分区分器的方法

本发明涉及信息安全领域,具体是基于空洞深度可分离卷积构建神经网络差分区分器的方法。


背景技术:

1、差分密码分析(differential cryptanalysis)是一种密码分析技术,旨在破解加密系统或算法。这是一种针对对称加密算法的攻击技术,专注于寻找密码算法的弱点,从而恢复加密密钥或明文信息。其核心思想是通过观察明文、密文及其之间的差分,尝试分析这些差异来恢复密钥的一部分或整体信息[1]。具体而言,攻击者会制造多对明文-密文对,计算它们之间的差异以找寻某种模式或规律。有效的区分器构造是差分密码分析的关键,研究者通过观察密码算法的结构和特性,可以设计出能够区分密码算法和随机数据的区分器,从而评估密码算法的安全性。传统的差分分析的关键在于发现具有较高概率差分特征并构建相应的差分区分器。良好的差分区分器对于分析更多轮数的分组密码具有卓越的辅助作用。

2、神经网络差分区分器的提出提供了差分密码分析的新思路。在2019年的美密会(crypto2019)上gohr[2]提出了差分神经密码分析的概念,该方法引入了经过神经网络训练的差分神经网络区分器,以辅助密码分析。2020年,yadav等人[3]提出了一种创新方法,将传统差分区分器技术与深度学习技术相结合,以构建更高轮数的差分区分器,从而提高性能和应用广泛性。同年,emanuele等人[4]对arx结构的两个密码算法进行研究,设计了两种经典差分区分器和两种差分神经区分器,比较结果显示,基于深度学习技术的差分区分器在更少数据下表现更出色,准确率更高。为了探索神经网络区分器的可解释性,在2021年的eurocrypt会议上,benamira等人[5]指出gohr的神经网络差分区分器能够良好地近似密码的差分分布表,并提供额外的信息学习。为了提升神经网络区分器的准确性,2021年chen等人[6]提出采用多密文对作为神经网络的输入。zhang等人[7]通过改进初始卷积层的inception块提升了神经网络区分器的轮数。2022年,hou等人[8]研究了基于深度学习的差分区分器的构造及网络模型参数对其的影响,并指出在前期花费大量时间训练神经网络差分区分器以提高其准确性,这对密码分析是有效的,但是预训练时间过长,依然不利于对分组密码算法的研究。2022年,杨小雪等人[9]探索了通过改变神经网络差分区分器的输入数据格式来提升模型精确度。以上模型普遍存在模型复杂,内存消耗大、训练时间长等问题。

3、因此,本文模型基于resnet网络,引入空洞卷积以此抓取不同层次的特征,获得不同层次的感受野,提高区分精度。同时引入深度可分离卷积模块,将卷积操作分解为深度卷积和逐点卷积,从而显著减少了模型参数的数量,提高计算效率,同时保持特征提取能力。

4、参考文献如下:

5、[1]lai x,massey j l,murphy s.markov ciphers and differentialcryptanalysis[c]//advances in cryptology—eurocrypt’91:workshop on the theoryand application of cryptographic techniques brighton,uk,april 8–11,1991proceedings 10.springer berlin heidelberg,1991:17-38。

6、[2]gohr a.improving attacks on round-reduced speck32/64using deeplearning[c]//advances in cryptology–crypto 2019:39th annual internationalcryptology conference,santa barbara,ca,usa,august 18–22,2019,proceedings,partii 39.springer international publishing,2019:150-179。

7、[3]yadav t,kumar m.differential-ml distinguisher:machine learningbased generic extension for differential cryptanalysis[c]//internationalconference on cryptology and information security in latin america.cham:springer international publishing,2021:191-212。

8、[4]bellini e,rossi m.performance comparison between deep learning-based and conventional cryptographic distinguishers[c]//intelligentcomputing:proceedings of the 2021computing conference,volume 3.springerinternational publishing,2021:681-701。

9、[5]benamira a,gerault d,peyrin t,et al.a deeper look at machinelearning-based cryptanalysis[c]//advances in cryptology–eurocrypt 2021:40thannual international conference on the theory and applications ofcryptographic techniques,zagreb,croatia,october17–21,2021,proceedings,part i40.springer international publishing,2021:805-835。

10、[6]chen y,shen y,yu h,et al.a new neural distinguisher consideringfeatures derived frommultiple ciphertext pairs[j].the computer journal,2023,66(6):1419-1433。

11、[7]zhang l,wang z,guo j.improving differential-neural cryptanalysiswith inception[j].cryptology eprint archive,2022。

12、[8]侯泽洲,陈少真,任炯炯.深度学习在分组密码差分区分器上的研究应用[j].软件学报,2022,33(5):1893-1906。

13、[9]杨小雪,陈杰,韩立东.深度学习在arx分组密码差分分析的应用.密码学报.2022,9(5):923-935。


技术实现思路

1、本发明的目的是针对现有技术中存在的不足,提出一种基于空洞深度可分离卷积构建神经网络差分区分器的方法。这种方法可以减少计算量,同时提高神经网络差分区分器的精度。

2、实现本发明目的的技术方案是:

3、基于空洞深度可分离卷积构建神经网络差分区分器的方法,包括如下步骤:

4、1)生成数据集:

5、对于任意的分组密码算法,给定样本数量为n的随机明文pi和初始密钥key,以及对应的标签yi;

6、当yi=1,则将固定差分为△的明文对用key加密;

7、当yi=0,则用新生成的随机明文对替换该对的第二个明文,生成密文对ci和相应的标签yi,通过这种方式,能够生成由107个样本组成的训练数据和106个样本组成的验证数据;

8、2)数据预处理:

9、将数据集分为训练集和测试集,然后将数据集中的所有密文对数据进行预处理,用c0,c1表示密文对,用c0l,c0r,c1l,c1r分别表示c0,c1的左半部分和右半部分,训练面向b比特的字结构,输入层的输入数据格式为b×4×1;

10、将输入数据进行数据整形为4×b,清洗、规范和重构原始数据,以去除数据中的噪声对目标分类预测的影响;

11、3)神经网络差分区分器模型训练,具体包括如下步骤:

12、3.1)将训练集中的密文对数据作为神经网络差分区分器模型的输入,输送到初始卷积层,这一层由一个内核大小为1的一维深度可分离卷积神经网络、批量归一化操作和relu激活函数组成,一维深度可分离卷积神经网络使用32个滤波器,其输出矩阵大小为32×b,也是后续残差层所需的输入数据格式,此层的主要作用是对输入数据进行卷积操作,随后进行批量归一化和激活函数处理以提取特征,卷积层的输出记为1;

13、3.2)将输出1送入残差层,残差层由多个残差块拼接而成,残差块个数取1到10,将残差层的输出记为2;

14、每个残差块包含两个卷积网络和一个跳跃连接,其中,卷积层的深度可分离卷积用于处理输入特征,内核大小为3,并采用空洞卷积,空洞率设置为2;

15、3.3)输出2经过预测模块的处理,得到最终的准确率分数;

16、预测模块是所训练的神经网络差分区分器的输出,由一个全连接网络和一个输出单元组成,全连接层会经过批量归一化和relu激活函数的处理,以增强特征表达和非线性建模,这一步得到的64×1的向量将被输入到一个感知器中,该感知器的输入层有64个神经元,输出层有1个神经元;

17、感知器的输出通过sigmoid激活函数进行处理,得到最终的准确率分数,分数会位于(0,1)区间,训练完成;

18、4)在测试集上验证训练模型:

19、使用测试数据集对训练完成的神经网络差分区分器模型进行验证,根据设定,当准确率分数大于0.5时,该对象将被判定为真实密文对,当准确率分数小于等于0.5时,该对象则会被判定为随机数据;

20、5)修改模型:

21、判断准确率分数是否达到预期,若准确率分数小于0.501,未能达到预期则进行模型调优修改模型,返回步骤3)重新使用训练集进行模型训练;

22、6)导出模型:

23、若准确率分数大于等于0.501达到预期,获得准确率分数大于等于0.501的区分器,则导出该模型作为神经网络差分区分器模型。

24、本发明方法,包括resnet网络模型、空洞卷积模块和深度可分离卷积模块,其中resnet网络模型以其独特的残差块和跳跃连接为特征,是一种深度卷积神经网络结构。本方法运用了空洞卷积,以增大感受野而不增加参数数量,同时利用深度可分离卷积模块将卷积操作拆分为深度卷积和逐点卷积,从而降低了参数和计算复杂度。这使得我们的网络能够融合来自不同层次的特征,具备多尺度感受野,并且自动学习每个通道的重要性,从而增强了对特定特征的关注能力。

25、本发明方法相比现有技术具有以下优点:

26、相较于resnet的朴素跳跃连接方式,本发明方法所提出的加入了空洞卷积模块的网络能够更加精准地捕捉不同层次的特征,并且对于不同大小的目标对象表现出了不同的敏感度。因此,通过特征叠加的方式,空洞卷积模块能够将不同层次的特征融合在一起,使网络拥有不同大小的感受野。加入深度可分离卷积模块,将卷积操作拆分为深度卷积和逐点卷积,深度卷积阶段,每个输入通道都会与一个不同的卷积核进行卷积操作,从而增强了对特定特征的关注能力;逐点卷积阶段,将深度卷积产生的特征进行线性组合,以生成最终的输出特征,从而将不同的特征进行组合和整合。同时还能提高模型性能,深度可分离卷积模块可以在网络中引入多尺度感受野,允许模型同时关注不同尺寸和层次的特征,从而提升模型在计算机视觉任务中的性能。深度可分离卷积模块将传统卷积的参数数量大幅减少,在深度卷积阶段,每个输入通道只有一个独立的卷积核,而在逐点卷积阶段,使用1×1的卷积核进行线性组合。这降低了模型的参数数量,减轻了训练和推理的计算负担。深度可分离卷积模块允许模型自动学习每个通道的重要性,因为每个通道都与独立的卷积核相对应,从而使模型更好地捕捉数据中的关键特征。

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