一种基于量子密钥的密文传输方法与流程

文档序号:15236012发布日期:2018-08-24 04:22阅读:565来源:国知局

本发明涉及通讯技术领域,尤其涉及一种基于量子密钥的密文传输方法。



背景技术:

传统的物理信道中存在窃听者时,由于窃听者并不会改变和影响信息的信号,因此收发双方不会知道窃听者的存在,并且,随着超级计算机技术的发展和量子计算机的出现,使得软件加密的破译速度越来越快,从而导致使用传统信道传输的密文面临着越来越大的被破译的风险。

量子通讯利用物理学原理很好的解决了密钥安全分发问题。当信息以量子为载体时,根据量子力学的原理,微观世界的粒子的位置不可能被确定,它总是以不同的概率存在于不同的地方,因此对未知状态的量子系统的每一次测量都必将改变系统原来的状态,也就是说,测量后的微粒相比于测量之前必然会发生变化。并且由于量子的不可克隆原理,一个位置的量子状态不可能被复制或克隆,因此,一旦信道上有窃听发生,那么必然对信息的信号产生影响,消息接收端可通过检测误码率发现窃听者的存在,进而中断信息传输,来保证密钥分发的安全。

ibm的s.h.bennett和montreal大学的g.brassard于1984年提出了第一个量子密钥分发协议(qkd),简称bb84协议。1991年ekert依据量子缠绕态而提出了一种基于epr关联光子对的e91协议,1992年bennett又进一步提出了b92量子密码协议。qkd中主要步骤分为:量子传输、数据筛选、数据纠错、保密加强、身份认证。

在光学系统中qkd协议是通过四种量子态来传输信息的。该方案的实施是靠经典信道和量子信道两个信道来实现的,其中前者的作用是使alice和bob进行通信密码的协商,也就是在该信道上传递控制信息;后者的作用是使alice和bob双方进行量子通信,其量子通信系统如图1所示。在光系统中,bb84协议使用四个光子的偏振态来传输信息,这四个量子态又可以分成相互非正交的两组,而且每组中的两个光子的偏振态是正交的同时这两组又是相互共轭的。当发送方alice与接收方bob进行通信时,不是只使用某一组测量基,而是按照一定的概率同时使用两组基。

但是,采用bb84协议进行密文传输,通信者只能在机密消息传送后才能发现是否有窃听的出现,而不能在过程中察觉。因为在使用信道传输真正的机密消息之前,只能量子密码方法传输一个随机密钥,来判断信道是否安全。但是,即使通讯双方在通信开始已验证量子信道是安全的,也难以保证后续的机密信息在传输过程中不被窃听。虽然量子信道传递密钥不可破译,但若是对方采取大范围干扰通讯的攻击手段,势必会对机密信息的传输产生重要影响,甚至导致我方机密信息传递网络的瘫痪。而量子信道这种被窃听即中断的脆弱特性势必会被作为主要的攻击方向,因此如何提高量子密钥传递的可靠性已经成为亟待解决的问题。



技术实现要素:

本发明实施例提出一种基于量子密钥的密文传输方法,能降低干扰者对通信信道的攻击影响,使得量子信道在被监听中断后仍能继续传递机密消息。

本发明实施例提供一种基于量子密钥的密文传输方法,包括:

发送终端在发送需通信的明文前,通过量子信道将生成的第一量子密钥发送给接收终端,并检测所述量子信道是否安全,以使所述接收终端在确定所述量子信道为安全时,存储所述第一量子密钥;

所述发送终端根据所述第一量子密钥和密钥转换次数n,对所述需通信的明文进行加密,获得第一密文;其中,所述第一密文的首字节为所述密钥转换次数n;所述密钥转换次数n表示所述第一量子密钥在密钥转换机中的转换次数;n的值由用户预先设置;

所述发送终端将所述第一密文发送给所述接收终端,以使所述接收终端解析所述第一密文,获取所述密钥转换次数n,并根据存储的第一量子密钥和所述密钥转换次数n,解码所述第一密文,获得所述需通信的明文。

进一步的,当检测到所述量子信道不安全时,所述发送终端丢弃所述第一量子密钥,并通过所述量子信道向所述接收终端发送第二量子密钥,再次检测所述量子信道是否安全,以使所述接收终端在确定所述量子信道为安全时,存储所述第二量子密钥。

进一步的,当所述接收终端存储所述第二量子密钥,所述发送终端修改所述密钥转换次数n,获得n1;

所述发送终端根据所述第二量子密钥和所述n1,对所述需通信的明文进行加密,获得第二密文;其中,所述第二密文的首字节为n1;

所述发送终端将所述第二密文发送给所述接收终端,以使所述接收终端解析所述第二密文,获取n1,并根据存储的第二量子密钥和n1,解码所述第二密文,获得所述需通信的明文。

进一步的,所述检测所述量子信道是否安全,具体为:

所述发送终端检测本次发送的数据是否存在误码率,如果有,则确定所述量子信道不安全,否则,确定所述量子信道为安全。

进一步的,所述发送终端根据所述第一量子密钥和密钥转换次数n,对所述需通信的明文进行加密,获得第一密文,具体为:

所述发送终端将所述第一量子密钥送入密钥转换机进行n次转换后,获得加密密钥,使用所述加密密钥与所述明文进行异或运算,获得第一子密文;

所述发送终端将所述n添加到所述第一子密文的首字节中,获得所述第一密文。

进一步的,所述密钥转换机为基于aes密码算法的密钥转换模块。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的基于量子密钥的密文传输方法,在传输前先进行量子信道检测,保证量子密钥的安全;在加密时,根据量子密钥和密钥转换次数n生成第一密文,通过n来控制量子密钥的转换次数,能在量子信息被窃听后,降低干扰者对通信信道的攻击影响,使得量子信道在被监听中断后仍能继续传递机密消息。而且在量子信道面临窃听攻击时,通过转换最近一次成功传输的量子密钥,来保证传统信道中密文的不间断传输,从而加强了量子通讯的可靠性。

附图说明

图1是现有技术的qkd通信示意图;

图2是本发明提供的基于量子密钥的密文传输方法的一种实施例的流程示意图;

图3是本发明提供的场景结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图2,是本发明提供的基于量子密钥的密文传输方法的一种实施例的流程示意图,该方法包括以下步骤101至步骤103,各步骤具体如下:

步骤101:发送终端在发送需通信的明文前,通过量子信道将生成的第一量子密钥发送给接收终端,并检测量子信道是否安全,以使接收终端在确定量子信道为安全时,存储第一量子密钥。

在本实施例中,发送中的检测量子信道是否安全,具体为:发送终端检测本次发送的数据是否存在误码率,如果有,则确定量子信道不安全,否则,确定量子信道为安全。

在本实施例中,第一量子密钥为随机生成的密钥。

步骤102:发送终端根据第一量子密钥和密钥转换次数n,对需通信的明文进行加密,获得第一密文;其中,第一密文的首字节为密钥转换次数n;密钥转换次数n表示第一量子密钥在密钥转换机中的转换次数;n的值由用户预先设置。

在本实施例中,步骤102具体为:发送终端将第一量子密钥送入密钥转换机进行n次转换后,获得加密密钥,使用加密密钥与明文进行异或运算,获得第一子密文;发送终端将n添加到第一子密文的首字节中,获得第一密文。

作为本实施例的一种举例,密钥转换机为基于aes密码算法的密钥转换模块。如将量子密钥k进行一次转换,其转换过程具体如下:

⑴首先将密钥k进行分组,每组长度是128比特,构成一个4×4阶的矩阵其中矩阵中每个元素的长度是8比特;

⑵创建一个以32比特为单元的数组w,其中数组的第0个元素w[0]是矩阵第1列的4元素(k0,k1,k2,k3),第1个元素w[1]是矩阵第2列的4元素(k4,k5,k6,k7),第2个元素w[2]是矩阵第3列的4元素(k8,k9,k10,k11),第3个元素w[3]是矩阵第4列的4元素(k12,k13,k14,k15);

⑶将数组w进行如下方式的扩展:

如果数组元素的下标i不是4的倍数,则w[i]=w[i-4]⊕w[i-1];

如果数组元素的下标i是4的倍数,则w[i]=w[i-4]⊕t(w[i-1]),其中t(w[i-1])是对元素w[i-1]=(a0,a1,a2,a3)进行下面3次变换的最终输出值。

①左循环1位:即(b0,b1,b2,b3)=(a1,a2,a3,a0);

②字节代换:利用aes密码算法的s盒对(b0,b1,b2,b3)进行字节代换得到(c0,c1,c2,c3);

③令长度为8比特的初始值rc[1]=ox01,rc[j]=rc[j-1],j=2,3,4,…,10;

计算32比特的值rcon[j]=(rc[j],0,0,0),j=1,2,3,…,10,这里j表示轮数;

将(c0,c1,c2,c3)与rcon[j]做异或运算得到(d0,d1,d2,d3)=(c0,c1,c2,c3)⊕rcon[j],即t(w[i-1])=(d0,d1,d2,d3);

⑷通过⑶的数组扩展可以得到10个新的轮换密钥,如果每次轮换密钥的长度是128比特,则(w[0],w[1],w[2],w[3])是最近成功传输的量子密钥k,(w[4],w[5],w[6],w[7])是第1个轮换密钥k1,(w[8],w[9],w[10],w[11])是第2个轮换密钥k2,依次类似得到后续的轮换密钥。如果每次轮换密钥的长度不是128比特,只需要按照以上的方法分组处理,然后合并在一起得到相应的轮换密钥。

步骤103:发送终端将第一密文发送给接收终端,以使接收终端解析第一密文,获取密钥转换次数n,并根据存储的第一量子密钥和密钥转换次数n,解码第一密文,获得需通信的明文。

在本实施例中,接收终端接收到第一密文后,根据第一密文的首字,获取n,并将第一量子密钥送入密钥转换机进行n次转换后,获得加密密钥,使用所述加密密钥与所述第一密文进行异或运算,获得明文。

作为本实施例的一种举例,如果发送终端检测到量子信道不安全时,发送终端丢弃第一量子密钥,并通过量子信道向接收终端发送第二量子密钥,再次检测量子信道是否安全,以使接收终端在确定量子信道为安全时,存储第二量子密钥。当接收终端存储第二量子密钥,发送终端修改密钥转换次数n,获得n1;发送终端根据第二量子密钥和n1,对需通信的明文进行加密,获得第二密文;其中,第二密文的首字节为n1。发送终端将第二密文发送给接收终端,以使接收终端解析第二密文,获取n1,并根据存储的第二量子密钥和n1,解码第二密文,获得需通信的明文。

在本举例中,密钥转换次数n的修改可以根据检测次数来修改。譬如n初始值为0,第一次检测时,如果检测信道到不安全,则重新发送量子密钥,并将n的值加1,再进行检测,直到确定信道安全。

为了更好的说明本发明技术方案,以下通过场景1和场景2来说明本发明技术方案,详细可参见图3。

场景1:

1、alice使用量子信道密钥生成器生成随机量子密钥;

2、alice在量子信道传输该随机量子密钥给bob,然后检测误码率,若发现窃听则丢弃该密钥,重新生成随机量子密钥并传输,直至没有窃听者为止;

3、保存该成功传输的量子密钥k;

4、alice使用该量子密钥k对明文p进行加密,加密方法为加密协议,即使用密钥k与明文进行异或,产生等长密文c,并在该密文c前加一个字节,置为0,表示没有使用密钥转换机进行密钥转换,即转换次数n=0,首字节明文n和密文c组成的数据序列记做密文nc,通过传统信道将密文nc传送给bob;

5、bob收到密文nc后,将首字节取出,得到n=0,即知密钥转换次数为0,则使用密钥k对后续密文c进行异或,得到明文p;

6、alice使用量子信道密钥生成器生成新的随机量子密钥,在量子信道上发送给bob,并检测误码率,若发现窃听者,则进入场景二;

7、若没有发现窃听者,则重复步骤3-7,直至明文全部传送完毕;

场景2:

1、发现窃听者时,alice和bob分别调出最近成功传输的量子密钥k;

2、alice将量子密钥k送入密钥转换机进行一次转换,基于aes密码算法的思想生成密钥k1

3、alice使用加密协议对明文p进行加密,将明文p与密钥k1异或,产生密文c1,然后在密文c1前加一个字节,设置转换次数n为1,得到密文序列nc1,通过传统信道传送给bob;

4、bob获得密文nc1后,将首字节取出,得到n=1,将量子密钥k送入密钥转换机进行一次转换,得到密钥k1,然后将密钥k1与密文c1进行异或,得到明文p;

5、alice继续传送下一段密文前,先通过量子信道发送一个随机密钥k1测试是否有窃听者,若仍旧有窃听者,那么重复执行步骤1-4,将密钥转换次数n加1,若无窃听者,那么使用k1作为新的密钥,进入场景一,执行场景一的步骤3-7;

6、若发现窃听者,则重复场景二的执行步骤1-5,直至明文全部传送完毕。

由上可见,量子密码通信是目前唯一被证明是绝对安全的一次一密的保密通信。利用了量子的不确定性,一旦信道上有窃听发生,通信本身必然受到影响,从而达到发现窃听者的目的,保证信道的安全。但是,若窃听者放弃破译,以大面积窃听为手段来破坏量子通讯信道,势必会对造假高昂的量子信道造成巨大冲击,从而延缓甚至中断机密信息的传输,进一步阻碍了量子通讯走向商用的步伐。

本发明给出了一种基于量子密钥的密文传输方法,在量子信道面临窃听攻击时,通过转换最近一次成功传输的量子密钥,来保证传统信道中密文的不间断传输,从而加强了量子通讯的可靠性。同时,由于密钥转换机制保持了良好的随机性和极大的周期性,可以做到伪“一次一密”,使得窃听者对传统信道中的密文也是极难破译的。另外,由于传统信道中密文仅携带密钥转换次数,并未携带密钥转换方法,因此即便传统信道存在窃听风险,也可以有效保护密文的安全。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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