一种基于量子神经网络的分组密码差分分析方法、系统及存储介质与流程

文档序号:37417353发布日期:2024-03-25 19:05阅读:21来源:国知局
一种基于量子神经网络的分组密码差分分析方法、系统及存储介质与流程


背景技术:

1、对分组密码进行密码分析是研究分组密码安全性的重点之一,其中差分密码分析是分组密码分析中常见的一种方法,具体而言,它是一种在加密算法设计较弱的情况下,根据输入差值分析输出差值来推断密钥的技术。但是分组密码通常使用宽尾设计策略和香农原理来防止差分攻击,因此,差分分析来寻找轨迹的方法需要大量的数据,造成了瓶颈,使得差分轨迹分析失败。对于这种区分任务,人工神经网络是一个很好的解决方案,基于人工神经网络对分组密码进行差分分析,其相关工作已经展开。

2、随着近些年来量子计算机的发展,利用量子计算机的量子神经网络备受关注。量子电路类似于一个神经网络,它利用量子电路取代了经典神经网络的训练过程。差分密码分析是一种利用差分特征推断密钥的分组密码分析技术。恰好人工神经网络可以很好的解决区分任务。因此,近些年来人们关注于研究神经区分器。


技术实现思路

1、本发明所要解决的技术问题:对分组密码进行密码分析过程中,如何将经典神经网络和量子神经网络结合,利用量子优势,以提高分析的精度、减少参数数量。

2、为解决上述技术问题,本发明提供一种基于量子神经网络的分组密码的差分分析方法,包括以下步骤:

3、步骤一:由随机密文对和差分密文对组成训练数据集nds;

4、步骤二:使用量子-经典混合神经网络对步骤一生成的训练数据集nds进行训练;

5、所述量子-经典混合神经网络是在经典神经网络中使用量子电路作为隐藏层;

6、步骤三:运行带有旋转门的量子电路,使用强纠缠层作为量子层;

7、步骤四:将量子电路的每个输出矢量合并成一个矢量,将合成后的矢量输入到纠缠层后的经典输出层,得到量子神经网络的最终输出;利用最终输出值计算损失,并更新包括量子电路在内的整个神经网络的参数以使损失最小化;经过神经网络的训练,得到区分随机密文对和差分密文对的准确率,如果准确率小于预设定值,则由振幅嵌入层和强纠缠层组成的量子神经网络无法区分密文数据和随机数据,将由振幅嵌入层和强纠缠层组成的量子神经网络丢弃;如果准确率大于预设定值,量子神经网络能够区分随机密文对和差分密文对,由振幅嵌入层和强纠缠层组成的量子神经网络用作量子神经网络区分器;

8、步骤五:生成测试数据,即生成满足输入差值的明文对和随机对,对满足输入差值的明文对和随机密文对进行加密,得到密文对,将得到的密文对输入到训练好的量子神经网络区分器中,如果生成测试数据的算法是加密算法,则量子神经网络区分器将密文数据与随机数据区分开来,否则输出准确率低于预设定值的结果。

9、前述的一种基于量子神经网络的分组密码的差分分析方法,在步骤一中,包括:

10、随机选择明文一p0和明文二p1,所述明文一p0和明文二p1不满足输入差值,即δ表示输入差值,表示异或;

11、将输入差值δ与明文一p0异或运算得到明文三p′0;

12、对明文一p0、明文二p1、明文三p′0分别进行加密,与明文一p0、明文二p1、明文三p′0相对应的密文分别为密文一c0、密文二c1和密文三c′0,其中密文一c0和密文二c1是由一对彼此不相关的随机密文生成的随机密文对,密文一c0和密文三c′0是对满足输入差值的明文对进行加密得到的差分密文对,即δ是密文进行异或得到的值;

13、将随机密文对标记为类0,将差分密文对标记为类1,由随机密文对和差分密文对组成数据集nds,随机密文对和差分密文对的个数相等;

14、前述的一种基于量子神经网络的分组密码的差分分析方法,在步骤二中,包括:

15、将差分密文对和随机密文对输入到量子-经典混合神经网络输入层;

16、将输入层得到的结果输出到输入到隐藏层,所述隐藏层包括64个神经元。

17、前述的一种基于量子神经网络的分组密码的差分分析方法,在步骤二中,使用量子电路作为隐藏层,所述量子电路由数据嵌入层和量子层组成,采用振幅嵌入(qamp)作为数据嵌入层,振幅嵌入层使用nqubit个量子位嵌入个经典特征,重复执行量子电路的次数为隐藏层(neuronh)中的神经元数量除以

18、前述的一种基于量子神经网络的分组密码的差分分析方法,在步骤二中,将第0个数据(h0)至第15个数据(h15)输入第一量子电路,将第16个数据(h16)至第31个数据(h31)输入到第二量子电路;将振幅嵌入过程重复4次,给所有隐藏神经元分配数据,完成振幅嵌入过程。

19、前述的一种基于量子神经网络的分组密码的差分分析方法,在步骤二中,所述振幅嵌入电路由旋转门和纠缠门组成,通过4个量子位可以嵌入16个值,即使用输入数据中的16个振幅矢量表示量子位的状态,将经典态的输入数据转换为量子态。

20、前述的一种基于量子神经网络的分组密码的差分分析方法,在步骤三中,在参数化量子电路中,每个量子比特使用三个量子旋转门,并且按照设定的规则设置纠缠,强纠缠量子层。

21、前述的一种基于量子神经网络的分组密码的差分分析方法,在步骤三中,参数化量子电路由多个量子层叠加而成,当量子电路执行时,假定当前操作层为第l层,则l<nql,nql为参数化量子电路的总层数,得到层重复数l,l=lmod nqubit;mod表示取模运算。

22、一种基于量子神经网络的分组密码的差分分析系统,包括以下模块:

23、训练数据集模块:由随机密文对和差分密文对组成训练数据集nds;

24、训练模块:使用量子-经典混合神经网络对步骤一生成的训练数据集nds进行训练;

25、所述量子-经典混合神经网络是在经典神经网络中使用量子电路作为隐藏层;

26、量子电路运行模块:运行带有旋转门的量子电路,使用强纠缠层作为量子层;

27、训练输出模块:将量子电路的每个输出矢量合并成一个矢量,将合成后的矢量输入到纠缠层后的经典输出层,得到量子神经网络的最终输出;利用最终输出值计算损失,并更新包括量子电路在内的整个神经网络的参数以使损失最小化;经过神经网络的训练,得到区分随机密文对和差分密文对的准确率,如果准确率小于预设定值,则由振幅嵌入层和强纠缠层组成的量子神经网络无法区分密文数据和随机数据,将由振幅嵌入层和强纠缠层组成的量子神经网络丢弃;如果准确率大于预设定值,量子神经网络能够区分随机密文对和差分密文对,由振幅嵌入层和强纠缠层组成的量子神经网络用作量子神经网络区分器;

28、测试模块:生成测试数据,即生成满足输入差值的明文对和随机对,对满足输入差值的明文对和随机密文对进行加密,得到密文对,将得到的密文对输入到训练好的量子神经网络区分器中,如果生成测试数据的算法是加密算法,则量子神经网络区分器将密文数据与随机数据区分开来,否则输出准确率低于预设定值的结果。

29、一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现如上述的基于量子神经网络的分组密码的差分分析。

30、本发明达到的有益效果:本发明的方法通过改变量子电路旋转门的旋转角度来改变量子比特的状态,更新电路的输出值,与经典神经网络的训练过程类似,在更新网络权值的同时减少损失,由于目前的量子计算机是有噪声的中等规模量子计算机,仅使用量子电路是有风险的,因此,本发明结合经典神经网络和量子神经网络的混合神经网络在性能上更具优势,提高了精度和减少参数数量。

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