基于连续变量量子神经网络的加解密方法与流程

文档序号:18560911发布日期:2019-08-30 23:16阅读:487来源:国知局
基于连续变量量子神经网络的加解密方法与流程

本发明具体涉及一种基于连续变量量子神经网络的加解密方法。



背景技术:

在信息飞速发展的时代,网络安全一直是个热点话题且变得越来越重要。在经典密码学中,大多的密码算法至今仍是基于“数学难”问题来增强信息的安全性。然而,量子计算的发展对于这些基于数学复杂性的密码算法构成了一定的威胁。如著名的经典公钥机制rsa,其利用了大数难以被分解的性质去提高算法的安全性。但是,研究发现,量子搜索算法shor’s可以在多项式时间内对大数进行分解,即将经典角度的np问题转换为了p问题,这对rsa算法来说是不可忽略的威胁。因此,为了维护网络信息安全,人们开始研究后量子算法去对抗强大的量子计算对经典密码算法构成的攻击。

神经网络(artificialneuralnetwork,简称ann)近几年被广泛研究,因其具有多重结构和无向性特征,ann可以和密码学结合起来去构造不同类型的密码系统:利用部分信息或者时序延迟等方法实现网络随机同步,可以让两个甚至多组ann完成权值交换,基于此可以完成私钥共享,以及揭示hopfield神经网络中隐藏的混沌信号去处理数据。此外,基于ann的同步和学习机制可以证明训练过后的ann可以用来加密和解密数据,这其实和量子计算黑盒计算模型非常相似。因此,量子计算和ann的结合具有现实可行性,且比经典机器学习更加强大,其目前主要用来优化、解决经典难以处理的或者物理界难以处理的问题。

目前,量子密码学中主要方法还是将量子密钥分发和经典的“一次一密”方法进行结合去有效地解决密钥的分发问题,但是这些方法在实际应用中会产生和消耗大量密钥。量子态由于具有叠加性可以携带更多信息,而且神经网络处理数据时具有并行性特征,其均可以加速数据的处理,因而作为量子机器学习方法之一的量子神经网络可以解决高密钥需求的问题。此外,量子神经网络具备量子自然属性(量子纠缠、量子不可测量)以及神经网络的无向性和多重结构特征,除了可以很大程度地提高自身的处理数据速率之外,还可以确保系统的安全性。在近几年,离散变量量子神经网络及其相关应用被相继提出:基于变分算法优化量子神经网络、基于量子神经网络的分类方案均加速了量子神经网络实际的应用过程。在2016年,有人提出利用离散神经网络去加解密数据,但其存在离散量子源不易制备和自制的梯度算法难以用量子线路实现问题,即整体实现过程在现实中并不有效。相比于离散变量量子神经网络,连续变量量子神经网络输入源,即量子源(如高斯光)更加容易制备。2018年,连续变量量子神经网络被提出,并且利用该网络模型处理了许多经典问题,如曲线拟合、编解码器等以及量子态制备问题。

但是,现有的研究,均未涉及连续变量量子神经网络在数据加解密方面的应用研究。



技术实现要素:

本发明的目的在于提供一种可靠性高、安全性好且容易实现的基于连续变量量子神经网络的加解密方法。

本发明提供的这种基于连续变量量子神经网络的加解密方法,包括如下步骤:

s1.发送方和接收方进行通信之前,系统采用训练样本对连续变量量子神经网络进行更新;

s2.连续变量量子神经网络更新完成后,发送方和连续变量量子神经网络进行测量基同步;

s3.发送方将需要发送的明文发送给连续变量量子神经网络,连续变量量子神经网络对接收的明文进行判定和预处理后再发回给发送方;

s4.测量基同步完成后,发送方在该测量基的基础上,将步骤s3接收的预处理后的数据信息转换为二次明文,并发送给连续变量量子神经网络;

s5.连续变量量子神经网络对接收到信息进行加密后发送到接收方;

s6.接收方接收到加密信息后,再将加密信息发送回连续变量量子神经网络进行解密,从而得到发送方发送的信息。

步骤s1所述的系统采用训练样本对连续变量量子神经网络进行更新,具体为连续变量量子神经网络根据训练集对自身网络进行反复更新,直至连续变量量子神经网络的损失函数低于设定的阈值,从而得到能够正确执行数据加密的连续变量量子神经网络。

所述的连续变量量子神经网络根据训练集对自身网络进行反复更新,具体为连续变量量子神经网络根据训练集,采用adam优化算法对自身网络进行反复更新。

步骤s2所述的发送方和连续变量量子神经网络进行测量基同步,具体为采用如下步骤进行同步:

a.发送方首先将在随机选择的测量基下决定的光子发送给连续变量量子神经网络;

b.连续变量量子神经网络会在某测量基下对接收的光子进行测量:

若测量接收到的序列中值与发送方发送的序列中值相同,则认定当前的测量基相同,并选择当前的测量基为最终采用的测量基;

若测量接收到的序列中值与发送方发送的序列中值不同,则重复上述步骤直至测量接收到的序列中值与发送方发送的序列中值相同,并选定当前的测量基为最终采用的测量基。

步骤s3所述的发送方将需要发送的明文发送给连续变量量子神经网络,连续变量量子神经网络对接收的明文进行判定和预处理后再发回给发送方,具体为连续变量量子神经网络对接收到的发送方的明文进行判定:若接收到的明文为量子态信息,则不作预处理,并直接发回给发送方;若接收到的明文为经典数据,则连续变量量子神经网络将该明文通过真空态下的移位门转换为量子态,并发回给发送方。

步骤s5所述的连续变量量子神经网络对接收到信息进行加密后发送到接收方,具体为采用如下步骤进行加密和方法:

a.计算连续变量量子神经网络的输出数据的期望值;

b.根据步骤a得到的期望值,计算纠错函数;

c.将连续变量量子神经网络中间输出和纠错函数结合,形成密文块;

d.将密文块通过通信信道发送给接收方。

步骤s6所述的接收方接收到加密信息后,再将加密信息发送回连续变量量子神经网络进行解密,从而得到发送方发送的信息,具体为采用如下步骤进行解密:

(1)接收方解析密文块,从而得到接收数据的网络中间层输出和接收数据的纠错函数;

(2)接收方将接收数据的网络中间层输出回传至连续变量量子神经网络,从而得到输出结果;

(3)根据步骤(2)得到的输出结果和接收数据的纠错函数计算得到发送方发送的明文,从而得到发送方发送的信息。

所述的接收方接收到加密信息后,再将加密信息发送回连续变量量子神经网络进行解密,还包括如下步骤:

(4)将步骤(3)得到的明文再次回传至连续变量量子神经网络,从而得到中间输出信息;

(5)将步骤(4)得到的中间输出信息和步骤(1)解析得到的中间数据进行对比:

若中间输出信息和接收数据的网络中间层输出数据相同,则说明量子态信息未被修改;

若中间输出信息和接收数据的网络中间层输出数据不同,则说明量子态信息发生改变。

本发明提供的这种基于连续变量量子神经网络的数据传输方法,与现有的数据传输方法相比,具有如下优势:首先,连续变量量子源在实验上具有易获取、易制备、易测量和易处理等特点,故而设计的方案具有连续变量量子密码高检测效率、高重复率和实验室易实现的特点;其次,由于量子测不准原理和量子不可克隆定理,以及同步测量基的引入,信息在传输过程中不会被攻击者获取到真实的信息,而且这种窃听行为可以被通信者检测到,因此通信者可以及时阻止通信行为防止信息被泄露;最后,利用量子计算和神经网络结合的特点,可以提高数据处理的速度,而且神经网络具有多重的密钥参数,进一步增大了攻击者攻击系统的困难性;因此,本发明方法的可靠性高、安全性好且容易实现。

附图说明

图1为本发明方法的方法流程示意图。

图2为本发明方法的泛化的连续变量量子神经网络模型示意图。

图3为本发明方法的具体的神经元层原理图。

图4为本发明方法的多层连续变量量子神经网络原理图。

图5为本发明方法的基于连续变量神经网络的具体加密过程示意图。

图6为本发明方法的基于连续变量神经网络的具体解密过程示意图。

图7为本发明方法在测量基引入情况下,攻击者窃听密文的概率示意图。

具体实施方式

在连续变量模型中,信息通常使用玻色子携带,用量子模式来表示。而且量化磁场的连续正交幅度可以实现量子态制备、酉操作、量子态测量。因此,在量子物理设备上,使用连续变量量子神经网络比离散神经网络更加容易实现。

一个泛化的连续变量量子神经网络模型如图2所示。从图2中可以看出,连续变量量子神经网络能够具有多层神经层,后面神经层的大小可以通过测量量子态或者剔除掉量子态来缩小,输出的量子态会经过量子测量设备,以得到量子态携带的具体信息。

基于泛化的连续变量量子神经网络模型,将每层的酉操作固定并且这些酉操作能够具有经典神经网络的计算形式:其中w为权值矩阵,x为输入数据向量,b为偏差向量,为非线性函数;因此,得到每个神经元层的具体组成,如图3所示,其可以用公式表示,其中r1和r2均为单模旋转酉操作s为压缩操作且d为移位操作且其中分别代表湮灭和产生算符;

神经元之间的数学同构可以证明连续变量量子神经网络可以用来加解密数据。令代表高斯操作:

其中u1,j{j=1,2,...,n}代表之间的酉操作,α1表示移位门的内部参数,通过上述表达,可以看到:

根据上述内容,可以概括出通用式为:

其中

由于量子操作均是酉操作,因此通过一系列的酉矩阵求逆操作很容易地得到网络的初始输入信息:

从数学理论上证明量子神经网络可以用于密码系统的设计,其包含多重密钥参数能够确保信息安全。

因此,本发明提出了一种基于连续变量量子神经网络的数据传输方法,其原理如图4所示。h(i)表示中间层的输出,其可以用于量子信息的认证,认证阶段(图6虚线框内表示信息认证过程)的中间输出h′(i)和h(i)进行比较:<h′(i)|h(i)>=0说明信息传送过程中没有被破坏,即可以完成信息的认证过程,另外图4中的虚线框内代表对信息进行预处理过程。该模型结合了神经网络和量子态的特点,新颖地阐述了一种加解密数据的密码学方法,安全性分析和性能分析证实了量子神经网络可以用于数据加密处理,而且安全性更高、处理速率更快。

本发明提供的这种基于连续变量量子神经网络的加解密方法,方法流程示意图如图1所示,具体包括如下步骤:

s1.系统会提供一定的训练样本来进行网络的更新,具体为连续变量量子神经网络根据训练集对自身网络进行反复更新(可以采用adam优化算法),直至连续变量量子神经网络的损失函数低于设定的阈值,从而得到能够正确执行数据加密的连续变量量子神经网络。

s2.连续变量量子神经网络更新完成后,发送方和连续变量量子神经网络进行测量基同步;具体为采用如下步骤进行同步:

a.发送方首先将在随机选择的测量基下决定的光子发送给连续变量量子神经网络;

b.连续变量量子神经网络会在某测量基下对接收的光子进行测量:

若测量接收到的序列中值与发送方发送的序列中值相同,则认定当前的测量基相同,并选择当前的测量基为最终采用的测量基;

若测量接收到的序列中值与发送方发送的序列中值不同,则重复上述步骤直至测量接收到的序列中值与发送方发送的序列中值相同,并选定当前的测量基为最终采用的测量基;

s3.发送方将需要发送的明文发送给连续变量量子神经网络,连续变量量子神经网络对接收的明文进行判定和预处理后再发回给发送方;具体为连续变量量子神经网络对接收到的发送方的明文进行判定:若接收到的明文为量子态信息,则不作预处理,并直接发回给发送方;若接收到的明文为经典数据,则连续变量量子神经网络将该明文通过真空态下的移位门转换为量子态,并发回给发送方;

s4.测量基同步完成后,发送方在该测量基的基础上,将步骤s3接收的预处理后的数据信息转换为二次明文,并发送给连续变量量子神经网络;

s5.连续变量量子神经网络对接收到信息进行加密后发送到接收方;具体为采用如下步骤进行加密和方法:

a.计算连续变量量子神经网络的输出数据的期望值;

b.根据步骤a得到的期望值,计算纠错函数;

c.将连续变量量子神经网络中间输出和纠错函数结合,形成密文块;

d.将密文块通过通信信道发送给接收方;

量子信息根据神经网络的输入维度来分类明文信息输入信息经过量子神经网络处理输出密文其中神经网络可以看做一个黑盒。的期望值为其中是给定输入d(x)|0>量子线路的输出。因此纠错函数可以计算为和神经网络中间输出形成的密文块c(h(i),e(i))传送给接收者;

s6.接收方接收到加密信息后,再将加密信息发送回连续变量量子神经网络进行解密,从而得到发送方发送的信息;具体为采用如下步骤进行解密:

(1)接收方解析密文块,从而得到接收数据的网络中间层输出和接收数据的纠错函数;

(2)接收方将接收数据的网络中间层输出数据回传至连续变量量子神经网络,从而得到输出结果;

(3)根据步骤(2)得到的输出结果和接收数据的纠错函数计算得到发送方发送的明文,从而得到发送方发送的信息;

(4)将步骤(3)得到的明文再次回传至连续变量量子神经网络,从而得到中间输出信息;

(5)将步骤(4)得到的中间输出信息和步骤(1)解析得到的接收数据的网络中间层输出数据进行对比:

若中间输出信息和接收数据的网络中间层输出数据相同,则说明量子态信息未被修改,可以进行后续的安全通信;

若中间输出信息和接收数据的网络中间层输出数据不同,则说明量子态信息发生改变;改变的原因可能是自然噪声或受到攻击;排除自然噪音的影响,即可判定通信过程存在攻击者,通信者可以选择终止通信。

密文块c(h(i),e(i))被解析出来,得到h(i)和e(i),h(i)会被传送到同一个连续变量量子神经网络,得到输出结果经过计算可以得到明文再次输送到神经网络中得到中间输出h′(i),然后对比两者如果结果为0,说明量子态信息没有被更改,可以继续安全地通信。

如图7所示,为本发明方法在测量基引入情况下,攻击者窃听密文的概率示意图。

发送方在发送数据之前,首先会和密码系统进行一个同步测量基的过程,思想类似于bb84协议,利用几对纠缠量子态,选取未被环境或者攻击者破坏的纠缠量子态进行测量,测量得到的值和测量基之间有个对应,整个过程可以确保通信双方同步测量基同时攻击者是无法知道测量基的选择。每传送一段由发送者在固定的测量基下生成的数据,假设攻击者获取到了密文,但是由于他没有相应地测量基,所以无法确切地使用相应的测量基去测量密文,因而很难得到真正的信息。在测量基组为2、3的情况下,密文块只要达到6~10组,对于攻击者来说窃听密文的可能性就基本为0。

除此之外,系统还可以防止攻击者的消息重放。由于量子不可克隆定理,攻击者只能准备新的量子态作为虚假信息传送给接收者。这个时候,系统形成的信息认证是必要的。设想攻击者具有很强的技术,可以通过某种方式能够产生和密文块相符合的数据,记作c'(h'(i),e'(i)),且可以成功地躲过一次信息认证。但是这对于经典计算机来说需要巨大的计算能力,对于n比特的明文来说,则需要o(22n)次操作去通过所有的认证。这对于攻击者来说需要巨大的资源和计算能力,不但需要准备大量的量子源去生成虚假的密文,而且只能通过暴力计算去得到密文组合之间的关系,那么攻击者一次性通过认证的概率只有

另外,攻击者有可能截取到量子明文和相应的密文去构建一个相似的密码系统,然后可以用模拟出的密码系统去解密获取到的密文,这样对于攻击者来说就不需要知道测量基的选取是什么,却可以得到真正的信息。据研究表明,神经网络的权值(密钥)如果一直保持静态或者在一个比较小的范围内跳动的话,那么这个网络就能够被模拟出来,而且这对于基于神经网络同步技术去实现密钥共享的算法来说,是一个不可忽略的攻击。基于此,可以将权值跳动维持在一个较大的范围内,去扩大攻击者模拟该系统的困难性。效仿tcp拥塞机制可以实现这个目标,设置一个参数α,将其与损失函数β进行比较,比较结果用于控制学习效率。当α<β时,学习效率通过乘以一个大于1的因子来增加学习效率,否则乘以一个小于1的因子来降低学习效率。通过这种机制,攻击者由于系统密钥的动态性而无法去模拟一个系统。此外,每组密文块均是由一组密钥加密的,所以总的密钥长度应该是每组密钥的扩展。因此,即使攻击者截获大量的信息模拟出了一个神经网络系统去解密数据,但是由于扩展密钥的组合,想完全恢复明文是几乎不可能的。而且,通过暴力去破解神经网络系统中的算法和密文是不可能的,因此该方案中的密码系统是能够抵抗攻击者攻击的。

另外,该发明还可以抵抗可选择明文攻击。可选择明文攻击的含义是:攻击者伪装成发送者,然后发送信息给接收者并且通过抓包方式来窃取密文。通过这种方式,攻击者可以猜测到部分或者全部密钥。这对基于数学理论的密码算法来说是个不可忽略的攻击。然而,在本方案中,本发明方法中其实是包含多重密钥的,如神经网络结构,神经网络的训练算法以及神经网络的权值参数。攻击者想要通过可选择明文的方式去得到密钥是不可能的,除非他对该神经网络体系非常清晰。可以令κ为明文、密文块以及私钥组成的信道:κ={(tp,tc),kp},其中tp、tc和kp分别表示明文、密文以及密钥。在本方案中,由于多重密钥以及密钥为私钥的情况下,攻击者通过(tp,tc)得到kp的概率会非常低。尤其对于量子信息来说概率会更低,因为在同等情况下,量子密文的模糊度会比经典密文的模糊度更高,并且由于测量基的引入,据分析当测量基组达到2组,而密文块达到10,密文窃听的概率就基本为0,即可选择明文的攻击成功的概率为0:p(kp|(tp,tc))=0。因而,可以得到(tp,tc)和kp之间的交互信息:

i((tp,tc),kp)=0意味着κ是可信的,因此本方案亦可以抵抗可选择明文攻击。

量子神经网络可以加速数据处理的原因如下:

1)由于量子态具有叠加性,在同样的比特数下,非正交的量子态比经典比特来说可以携带更多的信息,即ι经典比特携带ι位的数据,但是ι量子比特可以携带2ι甚至更多的信息;

2)在整个通信过程中没有密钥协商的过程,节省了密钥协商的时间;

3)具有高效的密钥利用率。在量子“一次一密”算法中,都需要产生新的密钥去加密数据,而这耗费了大量的时间。定义神经元数n,一个神经元需要的平均操作数记作m,神经网络的总输入记作i,因此,最小的密钥利用率可以计算为由于神经网络存在学习的过程,当加密次数增加,权值的更新会变少(这里认为明文块之间具有一定的相关性,因此所更新的权值也有一定的相关性),也就意味着加密的速度会越来越快。mn的值减小,因而密钥利用率μ开始增加。

因此本方案不但保证了信息的高度安全,而且还可以提高密钥的利用率,加快信息加、解密过程。

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