基于环式结构的多方量子密钥协商协议转让专利

申请号 : CN201611181777.8

文献号 : CN106712936B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 黄伟徐兵杰段霁桐何远杭樊矾杨杰刘金璐

申请人 : 中国电子科技集团公司第三十研究所

摘要 :

本发明公开了一种基于环式结构的多方量子密钥协商(MQKA)协议,每个参与者制备单光子序列发送给各自的下一个参与者;该参与者通过幺正操作编码生成新序列发送给其下一个参与者;直至每一个参与者都收到自己最初制备的单光子序列;每个参与者Pi(i=1,2,...,n)通过执行幺正操作来抵消其它n‑1个参与者作用在序列Si(i+1)...(i‑1)中每个光子上的控制操作;随后利用相应的测量基对执行了抵消操作的光子进行测量,然后从测量结果中提取出比特串,最终利用比特串进行窃听检测并推断出最终密钥。本发明提出了一个能够同时保证密钥安全性和公平性的基于环式结构的MQKA协议。由于整个协议过程中只需要进行一次检测窃听,从而显著提高了此类协议的量子比特效率。

权利要求 :

1.一种基于环式结构的多方量子密钥协商方法,其特征在于:参与者协商密钥的步骤如下:步骤一、每个参与者制备单光子序列发送给各自的下一个参与者:

(1)参与者Pi制备一串由m个单光子态组成的有序序列Si,其中Si中的每一个光子都随机地处于{|0>,|1>,|+>,|->}四个状态之一,其中(2)Pi将制备好的单光子序列Si发送给下一个参与者;

步骤二、每当接收到前一个参与者发送给自己的单光子序列后,该参与者利用幺正操作编码生成新序列发送给其下一个参与者:(1)Pi+1将自己的子密钥序列Ki+1和控制序列C(i+1)i编码到Si上:

设Si的第j个光子为 如果Ki+1和C(i+1)i的第j个光子 是00/10/

01/11,则Pi+1在 上执行幺正操作 其中p是一个小于n的素数,且

操作F和 作用到单光子态|0>、|1>、|+>和|->上的效果如下:

F|0>=|1>,F|1>=-|0>,F|+>=-|->,F|->=|+>,

当Pi+1对Si中的所有光子都执行了相应的幺正操作以后,得到新的光子序列Si(i+1),并将Si(i+1)发送给Pi+2;

步骤三、重复步骤二的操作,直至每一个参与者都收到自己最初在步骤一中制备的单光子序列;至此,每一个参与者都公开自己的n-1串控制比特序列;

步骤四、每个参与者Pi(i=1,2,...,n)通过执行幺正操作来抵消其它n-1个参与者作用在序列Si(i+1)...(i-1)中每个光子上的控制操作;随后利用相应的测量基对执行了抵消操作的单光子态进行测量,然后从测量结果中提取出比特串;参与者利用该比特串中的部分比特值进行窃听检测,若不存在窃听,则利用剩余的比特值推断出最终密钥并利用从全局哈希函数簇中随机选取的哈希函数验证各参与者手中的最终密钥是否相等,其中:A)每个参与者Pi(i=1,2,...,n)提取用于检测窃听和生成最终密钥的比特串 的方法为:(1)参与者Pi(i=1,2,...,n)通过执行幺正操作来抵消其它n-1个参与者作用在序列Si(i+1)...(i-1)中每个光子上的控制操作;

(2)执行完所有的抵消操作以后,Pi(i=1,2,...,n)对Si(i+1)...(i-1)中的每一个光子进行测量:如果该光子的初始状态为|0>或|1>,则使用Z={|0>,|1>}基测量;如果该光子的初始状态为|+>或|->,则使用X={|+>,|->}基测量;

(3)如果Si(i+1)...(i-1)的第j个光子的测量结果和该光子的初始状态相同,则比特串 的第j位 的值为0;如果第j个光子的测量结果和该光子的初始状态相反,则 的第j位的值为1;然后Pi利用 计算得到比特串B)每个参与者Pi(i=1,2,...,n)利用比特串 检测窃听和生成最终密钥的方法为:(1)所有n个参与者共同从根据测量结果提取出的比特串中选取δ个位置进行窃听检测,具体方法为:参与者P1从 中选取选择 个位置并公开这些位置的比特值,同时要求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;参与者P2从 中剩余的 个位置中随机选择 个位置并公开这些位置的比特值,同时要求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;依次按照这种方式,参与者Pi(i=3,...,n-1)从 中剩余的 个位置中随机选择 个位置并公开这些位置的比特值,同时要求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;参与者Pn从 中剩余的 个位置中随机选择 个位置并公开这些位置的比特值,同时要求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;最后,所有参与者根据他们合作选出的这δ个位置的比对结果计算误码率,并根据计算所得误码率判断是否存在窃听;

(2)如果不存在窃听,则每个参与者Pi(i=1,2,...,n)丢弃比特串 中已经用于检测窃听的δ个位置,剩余的n-δ个位置上的比特值就构成了其手中的最终密钥

2.根据权利要求1所述的基于环式结构的多方量子密钥协商方法,其特征在于:利用从全局哈希函数簇中随机选取的哈希函数验证各参与者手中的最终密钥是否相等的方法为:参与者随机地从全局哈希函数簇中选取一个哈希函数h:{0,1}*→{0,1}s,然后每一个参与者Pi(i=1,2,...,n)都利用这个哈希函数来计算自己手中的最终密钥的哈希值 λ是由协议参与者合作生成的一个随机数,它是由所有n个参与者分别生成的随机数通过异或运算得到的;最后,所有的参与者通过比对各自计算得到的哈希值来判断他们手中的最终密钥是否相等;如果相等,则最终密钥被记为K。

说明书 :

基于环式结构的多方量子密钥协商协议

技术领域

[0001] 本发明涉及一种基于环式结构的多方量子密钥协商协议。

背景技术

[0002] 通过不安全信道在通信方之间建立随机密钥的密码基本协议通常有两类,一类是密钥分发(Key Distribution,KD),一类是密钥协商(Key Agreement,KA)。在KD中,通常是由一个协议参与者生成一组随机密钥,然后通过相应的方法将它发送给其它参与者。而在KA中,协议的参与者需要基于相互之间的信息交互公平地建立一组随机密钥,即每一个参与者都应该为最终建立的密钥贡献自己的一部分影响。换句话说,KA协议中建立的最终密钥不能够被协议参与者的任何一个非平凡子集所决定。因此,KA不但需要保证密钥的安全性,还需要保证密钥的公平性。1976年,Diffie和Hellman首次提出了一个安全且公平的两方KA协议。自从Diffie和Hellman的开创性工作提出以后,人们开始关注如何将两方的密钥协商协议拓展为多方密钥协商协议,并且提出了一些相关的协议。
[0003] 然而,目前正被广泛应用的经典密码协议的安全性基本都是基于计算复杂性假设的。随着量子算法的提出以及量子计算机的研制,基于计算复杂性假设的经典密码系统的安全性受到了严峻挑战。为了应对相关的挑战,人们已经提出了量子密钥分配(Quantum Key Distribution,QKD),QKD的安全性由量子力学基本原理(量子不可克隆定理和测不准原则等)所保证,与攻击者的计算能力无关。而在某些注重公平性的复杂密码系统中,必须使用具有公平性的密钥。因此,设计兼具公平性的QKD协议,即量子密钥协商(Quantum Key Agreement,QKA)协议,既能发挥量子技术带来的高安全性,又能与各种复杂经典密码协议相融合。可见,QKA是量子密码与经典密码融合之路上必须解决的一个研究课题。到目前为止,人们对QKD已经研究地比较充分,相关的理论、实验以及应用都取得了明显的进展。而对于如何利用量子信息理论来保证KA的安全性(即设计出既满足安全性又能保证公平性的QKA协议),相关研究仍处于起步阶段。
[0004] 2004年,Zhou将量子信息理论用于KA协议的设计并基于最大纠缠态提出了首个QKA协议。几乎与此同时,Hsueh等人也基于最大纠缠态提出了一个QKA协议。不幸的是,相关研究者发现这两个协议并不是真正意义上的QKA协议,因为他们不能同时保证公平性或者安全性。2010年,Chong等人基于BB84协议的思想提出了一个基于单光子态的QKA协议。2014年,Huang等人提出了两个可以抵抗集体消相干噪声的QKA协议。然而,这些协议都只包含两个参与者,只能在两个通信者之间建立安全且公平的随机密钥。也就是说,它们都是两方QKA协议。
[0005] 为了将QKA的应用范围从两方拓展到多方,人们开始研究MQKA协议。在MQKA协议中,两个或多个参与者通过合作来协商一组安全且公平的随机密钥。在一个MQKA协议中,只有协议的参与者能够知道通过协商得到的最终密钥。同时,协议参与者的任何非平凡子集都不能控制最终密钥。2012年,Shi等人基于Einstein-Podolsky-Rosen(EPR)纠缠对和纠缠交换提出了一个MQKA协议。然而,Liu等人指出该协议不能保证密钥的公平性并利用单光子态提出了一个基于分布式结构的MQKA。通常情况下,基于环式结构的MQKA协议会比基于分布式结构的MQKA协议具有更高的量子比特效率(量子比特效率是建立的经典比特数与消耗的量子比特数的比值)。2013年,Sun等人利用单光子态提出了一个基于环式结构的高效MQKA协议,但该协议同样被证明是不公平的。2014年,Xu等人利用Greenberger-Horne-Zeilinger(GHZ)纠缠态提出了一个基于分布式结构的MQKA协议。随后,人们又相继利用不同的量子信息载体和量子信息技术提出了多个基于环式结构的MQKA协议。然而,现有的基于环式结构的MQKA协议普遍具有以下问题:一方面,绝大多数现有的环式MQKA协议都不能抵抗来自参与者的合谋攻击,即存在公平性问题;另一方面,个别能够保证公平性的MQKA协议在量子信息载体序列每一次传输后都需要进行窃听检测,导致协议的量子比特效率大大降低,失去了环式结构MQKA协议具有高量子比特效率的优势。

发明内容

[0006] 本发明提供了一种基于环式结构的多方量子密钥协商协议,旨在保证环式MQKA协议的安全性和公平性的同时大大提高协议的量子比特效率,本发明在精心设计协议流程的基础上,对参与者用于编码和加密的量子幺正操作进行巧妙的设计和选择,利用单光子态提出了一个能够同时保证密钥安全性和公平性的基于环式结构的高效MQKA协议。协议的安全性由量子力学基本原理和量子幺正操作区分相关定理所保证。
[0007] 本发明解决其技术问题所采用的技术方案是:一种基于环式结构的多方量子密钥协商协议,参与者协商密钥的步骤如下:
[0008] 步骤一、每个参与者制备单光子序列发送给各自的下一个参与者;
[0009] 步骤二、每当接收到前一个参与者发送给自己的单光子序列后,该参与者利用幺正操作编码生成新序列发送给其下一个参与者;
[0010] 步骤三、重复步骤二的操作,直至每一个参与者都收到自己最初在步骤一中制备的单光子序列;至此,每一个参与者都公开自己的n-1串控制比特序列;
[0011] 步骤四、每个参与者Pi(i=1,2,...,n)通过执行幺正操作来抵消其它n-1个参与者作用在序列Si(i+1)...(i-1)中每个光子上的控制操作;随后利用相应的测量基对执行了抵消操作的光子进行测量,然后从测量结果中提取出比特串;参与者利用该比特串中的部分比特值进行窃听检测,若不存在窃听,则利用剩余的比特值推断出最终密钥并利用从全局哈希函数簇中随机选取的哈希函数验证各参与者手中的最终密钥是否相等。
[0012] 与现有技术相比,本发明的积极效果是:
[0013] 针对现有的环式MQKA协议普遍不能抵抗来自协议参与者合谋攻击或量子比特效率较低的现状,本发明公开了一种基于单光子态和量子幺正编码操作的高效环式MQKA协议。该MQKA协议能够在多个参与者之间建立安全且公平的随机密钥。一方面,除了本协议涉及的参与者之外,任何其它人都不能得到最终建立的密钥。另一方面,协议中所有参与者的任何一个非平凡子集都不能控制最终生成的密钥。与已有相关环式MQKA协议相比,由于没有利用量子纠缠态且不需要执行光子换序等操作,本协议的技术实现难度较现有绝大部分相关协议低。更重要的是,在保证安全性和公平性的同时,由于整个协议过程中只需要进行一次窃听检测,本协议较量子信息载体序列每一次传输后都需要进行窃听检测的相关协议具有更高的量子比特效率。

具体实施方式

[0014] 本发明提出一种基于环式结构高效MQKA协议,该协议利用单光子态作为量子信息载体,采用量子幺正操作来编码相关秘密信息。安全性分析显示,该协议不存在现有环式MQKA协议普遍存在的公平性缺陷。和绝大多数已有量子密码协议一样,该协议中所使用的经典信道被假设为经过认证的经典信道。假设n个参与者P1,P2,...,Pn想要通过该协议协商一组安全且公平的密钥,其中参与者Pi(1≤i≤n)生成一串m比特长的随机密钥序列Ki以及n-1串等长的控制序列Ci(i+1),Ci(i+2),...,Ci(i-1),这里Ci(j+n)=Cij,且它们都是随机比特序列。参与者协商密钥的具体步骤如下:
[0015] 1、Pi制备一串由m个单光子态组成的有序序列Si,其中Si中的每一个光子都随机地处于{|0>,|1>,|+>,|->}四个状态之一,这里
[0016]
[0017] 随后,Pi将制备好的单光子序列Si发送给参与者Pi+1。类似地,其它n-1个参与者执行与Pi相同的流程并将制备的单光子序列发送给下一个参与者,其中Pn+1=P1。
[0018] 2、当收到参与者Pi发送的单光子序列Si′以后,Pi+1通过经典信道通知Pi他已经收到Si′。随后,Pi将自己的子密钥序列Ki+1和控制序列C(i+1)i编码到Si上。具体编码方式为:以Si的第j个光子 (1≤j≤m),如果Ki+1和C(i+1)i的第j个光子(即 )是00/10/01/11,则Pi+1在 上执行幺正操作 其中p是一个小于n的素数,且
[0019]
[0020]
[0021]
[0022] 操作F和 作用到单光子态|0>、|1>、|+>和|->上的效果如下:
[0023]
[0024] 当Pi+1对Si中的所有光子都执行了相应的幺正操作以后,得到新的单光子序列Si(i+1),并将Si(i+1)发送给Pi+2。
[0025] 3、如果将Pi+1在步骤2中对Si执行的编码方式看作一轮操作,则协议中的n个参与者在接下来的步骤中对接收到的单光子序列也按照此方式进行处理。也就是说,每当接收到前一个参与者发送给自己的单光子序列后,该参与者将自己的子密钥序列与其所生成的与该单光子序列所对应的控制序列编码到相应的光子上,并将生成的新序列发送给下一个参与者。以Pi为例,在第k轮操作中,Pi将接收到Pi-1发送的序列S(i-k)(i-k+1)...(i-1)。显然,此序列最初是Pi-k制备的。因此,在接收到该序列之后,Pi将Ki和Ci(i-k)编码到S(i-k)(i-k+1)...(i-1)上,这里1≤i≤n,1≤k≤n-1。按照此方式,当再执行完n-2轮操作以后(协议一共需要执行n-1轮操作),每一个参与者都将收到自己最初在步骤1中制备的单光子序列,即Pi接收到Pi-1发送给自己的序列Si(i+1)...(i+n-1)=Si(i+1)...(i-1),i=1,2,3...,n。
[0026] 4、一旦收到Pi-1发送的Si(i+1)...(i-1),Pi通过经典信道公开这个事实。当确认所有的参与者都已经收到自己最初制备的单光子序列以后,每一个参与者都公开自己的n-1串控制比特序列,以Pi(1≤i≤n)为例,他需要公开自己的控制序列Ci(i+1),Ci(i+2),...,Ci(i-1)。为了建立最终密钥,Pi首先通过执行幺正操作(后面称为抵消操作)来抵消其它n-1个参与者作用在Si(i+1)...(i-1)中每个光子上的控制操作。具体操作方法为:对Si(i+1)...(i-1)中的第j个光子 j =1 ,2 ,3 ... ,m ,Pi在其上执 行操作 其中随后,Pi对手中的m个执行了抵消操作的光子进行测量:如
果该光子的初始状态为|0>或|1>,则使用Z={|0>,|1>}基测量;如果该光子的初始状态为|+>或|->,则使用X={|+>,|->}基测量。根据测量得到的m个测量结果,Pi可以提取出一个m长的比特串 具体提取方法为:如果第j个光子测量结果和该光子的初始状态相同(相反),则 的第j位 的值为0(1)。得到 以后,Pi可以计算得到比特串 采用
同样的方法,其它n-1个参与者也可以得到相应的比特串,即Pl(1≤l≤n,l≠i)可以得到比特串
[0027] 5、提取到各自的比特串之后,所有n个参与者共同从这些m比特长的比特串中选取δ个位置进行窃听检测,具体的检测方法为:参与者P1从 中选取选择 个位置并公开这些位置的比特值( 表示取值不大于x的最大整数),同时要求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;参与者P2从 中剩余的 个位置中随机选择 个位置并公开这些位置的比特值,同时要求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;依次按照这种方式,参与者Pi(i=3,...,n-1)从中剩余的 个位置中随机选择 个位置并公开这些位置的比特值,同时要
求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;参与者Pn从 中剩余的 个位置中随机选择 个位置并公开这些位置的比特值,
同时要求其它n-1个参与者公布自己手中比特串中相应位置的比特值用于比对;最后,所有参与者根据他们合作选出的这δ个位置的比对结果计算误码率,并根据计算所得误码率判断是否存在窃听。如果不存在窃听,则每个参与者Pi(i=1,2,...,n)丢弃比特串 中已经用于检测窃听的δ个位置,剩余的n-δ个位置上的比特值就构成了其手中的最终密钥[0028] 6、在理想条件下,利用步骤1-5,n个参与者可以安全且公平地建立一组随机密钥然而,在实际情况下,生成的密钥中可能存在由噪声等因素引入的
错误。针对此类情况,协议中的参与者可以在相关量子信息载体的制备过程中利用量子纠错码、量子避错码、量子无消相干态等方法来编码和制备逻辑量子态,从而去除或避免由噪声等因素引入相关的错误。在这种情况下,协议中的参与者Pi(i=3,...,n-1)需要在步骤5中生成最终密钥 后随机地从全局哈希函数簇中选取的一个哈希函数
然后每一个参与者都利用这个哈希函数来计算自己手中的最终密钥
的哈希值 λ是由协议参与者合作生成的一个随机数,例如,可以由每一个参与者Pi随机生成并公开一个随机数λi,而随机数λ取这n个随机数λ1,λ2,...,λn的一个运算结果,如λ=λ1⊕λ2⊕ ...⊕λn。最后,所有的参与者通过比对各自计算得到的哈希值来判断他们手中的最终密钥是否相等。如果相等,则协议的最终密钥被记为K;如果不相等,则协议失败,需要重启协议。
[0029] 至此,我们提出了一个基于单光子态的高效MQKA协议。在具体实现中,针对非完美单光子源的问题,可以采用多波长诱骗态协议的思路来防止PNS攻击。此外,由于本协议中存在双向量子通信,协议的参与者都需要利用滤波器和分束器来抵抗或检测不可见光子攻击和特洛伊木马攻击。
[0030] 【简例】:这里,我们举例说明,在理想情况下,三个参与者如何通过本协议协商一串密钥。假设Alice、Bob、Charlie想要通过本协议协商一串密钥,Alice制备量子态序列SA,同时生成子密钥KA,以及两串控制比特序列CAB、CAC;与此同时,Bob制备量子态序列SB并生成随机比特序列KB、CBA、CBC;Charlie制备量子态序列SC并生成随机比特序列KC、CCA、CCB;在这种情况下,一共需要进行两轮操作(步骤2-3)。下面我们对协议的具体步骤进行描述:
[0031] 第一轮:Alice、Bob、Charlie分别将SA、SB、SC发送给Bob、Charlie、Alice,接收到相应的序列以后,Bob、Charlie、Alice分别将自己的子密钥和控制比特序列(即KB和CBA、KC和CCB、KA和CAC,)编码到序列SA、SB、SC上,编码后的新量子态序列为SAB、SBC、SCA(详见步骤2)。
[0032] 第二轮:Bob、Charlie、Alice分别将SAB、SBC、SCA发送给Charlie、Alice,Bob接收到相应序列以后,Charlie、Alice,Bob分别将自己的子密钥和控制比特序列(即KC和CCA、KA和CAB、KB和CBC)编码到序列SAB、SBC、SCA上,编码后的新量子态序列为SABC、SBCA、SCAB。
[0033] 两轮操作结束以后,Charlie、Alice、Bob分别将SABC、SBCA、SCAB发送给Alice、Bob、Charlie。在Alice、Bob、Charlie分别收到相应的序列以后,他们分别公开各自的控制比特序列,即CAB、CAC、CBA、CBC、CCA、CCB。根据这些信息,Alice、Bob、Charlie分别采用步骤4中的方法提取各自的比特串,即首先通过一个逆旋转操作(抵消操作)消除其它参与者已经执行的控制操作对自己手中单光子态的影响,然后再根据每个单光子的初始状态选择{|0>,|1>}基或{|+> ,|->}基对该单光子态进行测量,并分别提取出各自的比特串
[0034] Alice、Bob、Charlie根据步骤5从各自的比特串中合作选取δ个位置用于窃听检测。如果没有窃听,则它们可以得到各自的最终密钥 最后,若通过了步骤6中描述的一致性检测,则Alice、Bob、Charlie就成功的建立
了相同的最终密钥
[0035] 本发明的安全性和公平性分析:
[0036] 现在,我们对协议的安全性和公平性进行分析。我们首先阐明该协议可以抵抗来自外部攻击者的窃听,即可以保证安全性。然后我们说明该协议同样可以抵抗来内部不诚实参与者的攻击,即可以保证公平性。
[0037] 一、针对外部攻击的安全性:
[0038] 假设Eve是一个想要窃取最终密钥的外部攻击者。根据协议的流程,为了实现这个目的,Eve需要获得每个参与者的子密钥Ki(i=1,2,...,n)。要窃取某个参与者的子密钥,Eve可以截获并用自己制备的单光子序列替换该参与者接收或者发送出的单光子序列,或者Eve可以在传输的单光子态上纠缠上附加粒子并尝试从这些粒子中提取信息。然而,不论Eve采取什么手段,由于参与者的子密钥是通过幺正操作编码在被传输的单光子序列上的,所以窃取一个参与者的子秘密就等价于区分他/她所执行的操作。比如说,如果Eve想要在不引入错误的情况下获得 的值(1≤j≤m),她就应该知道Pi在相应的单光子态上执行了I、F、 和 中的哪一个操作。换句话说,Eve需要具备一次无错区分这四个幺正操作的能力。在说明Eve不具备这种能力之前,我们首先介绍一个已有的关于量子操作区分的定理。
[0039] 定理1:当且仅当设备只能使用一次的情况下,量子操作γ1,...,γn可以被无错区分当且仅当对任意i=1,2,...,n, supp(γ)代表幺正操作γ的支集且Si={γj:j≠i}。
[0040] 很容易验证,幺正操作I、F、 和 满足如下关系:
[0041]
[0042] 因此,根据定理1,这四个幺正操作在只能使用一次的情况下不能被无错区分。也就是说,当他们分别被作用在一个单量子比特或者任何纠缠态的一个量子比特上时,这四个操作不能被无错区分。
[0043] 在本协议中,如果Eve想要在不被窃听检测发现条件下得到某个参与者的子密钥,她就应该具备能够一次无错的区分操作I、F、 和 的能力。然而,正如我们上面所分析,这四个操作不能被一次无错区分。因此,来自外部攻击者的诸如截获-重发攻击,测量重发攻击,纠缠-测量攻击以及密集编码攻击等著名的攻击策略都将不可避免地在窃听检测中引入错误,从而导致攻击者的窃听行为被发现。
[0044] 此外,在协议中单光子序列的每一次传输过程中,参与者都需要利用滤波器和分束器来抵抗或检测不可见光子攻击和特洛伊木马攻击。由于这些方法比较简单且常见,这里我们就不在复述了。至此,我们说明了本协议能够抵抗来自外部攻击者的窃听,即协议能够保证最终密钥的安全性。
[0045] 二、针对内部攻击的公平性:
[0046] 众所周知,对于多方量子密码协议来说,来自不诚实参与者的内部攻击的威胁远比来自外部窃听者的攻击威胁更大。首先,一个不诚实参与者可以将自己制备的量子比特序列替换为任何他/她需要的序列。其次,他/她可以在窃听检测的过程中通过欺骗(说谎)来避免引入错误。此外,他/她还可以联合其它不诚实的参与者进行威胁更大的合谋攻击。
[0047] 当考虑针对本协议的内部攻击时,我们只需要考虑协议的公平性。因为在理想条件下,只要参与者诚实地执行协议,在没有外部窃听的情况下,它们都能得到最终密钥。考虑最终密钥的公平性时,最坏的情况就是只有1个参与者是诚实的。也就是说,除了1个诚实参与者外,其它n-1个参与者想要通过合作来决定最终密钥。如果本协议能够抵抗来自n-1个不诚实参与者的攻击,那么当不诚实参与者数目小于n-1个的时候,此协议仍然是公平的。所以,下面我们将阐明本协议在存在n-1个不诚实参与方的情况下仍然是公平的。不失一般性,我们假设只有参与者Pi(1≤i≤n)是诚实的。
[0048] 不难发现,如果n-1个不诚实参与者在Pi-1将Si(i+1)...(i-1)发送给Pi之前就能够获得Pi的子密钥Ki的话,他们就能控制Pi在步骤4中得到的比特串 从而达到控制协议最终密钥的目的。具体地说,为了使得 他们需要按照如下过程进行攻击:Pi+1,Pi+2,...,Pi-2这n-2个不诚实参与者仅仅将自己的控制比特序列编码到由Pi生成的量子比特序列上。也就是说,当Pi+j接收到Si(i+1)...(i+j-1)后,1≤j≤n-2,他/她仅仅将C(i+j)i编码到Si(i+1)...(i+j-1)上。换句话说,在这种情况下,我们假设Ki+j中所有的比特都是0。当Pi-1接收到Pi-2发送的序列Si(i+1)...(i-2)以后,他/她将Ki⊕K′以及C(i-1)i编码到Si(i+1)...(i-2)上,并将生成的Si(i+1)...(i-1)发送给Pi。随后,n-1个不诚实参与者和Pi一样,诚实地公开自己的控制比特序列。很容易验证,在这种情况下,Pi在步骤4中得到的比特串是
[0049] 然而,在本协议中,这n-1个不诚实参与者在Pi接收到Pi-1发送的Si(i+1)...(i-1)之前不能获得Pi的子密钥Ki。具体原因是:如果Pi-1按照协议流程诚实地制备Si-1并将它发送给Pi,当Pi将自己的秘密比特序列和控制比特序列编码到Si-1中的光子上以后,这些光子将随机地处于{|0>,|1>}、 {|+>,|->}和 这4组基之一,其中
[0050]
[0051] 显然,由于Pi+1不知道用哪一组基对S(i-1)i中的量子比特进行测量,他并不能正确地提取出密钥Ki。事实上,由于Pi的子密钥序列和控制比特序列是通过幺正操作I,F,编码到其收到的量子比特序列上的,窃取Ki的行为就是等价于区分这四个幺正操作。无论Pi-1如何制备Si-1,如果不诚实的参与者想要知道 (1≤j≤m)的值,他就应该知道Pi在 上执行了四个幺正操作中的哪一个。换句话说,要得到Ki,不诚实的参与者应该有能力对这四个幺正操作进行一次无错区分。然而,根据定理1,这四个幺正操作在只能使用一次的情况下不能被无错区分。即当这四个幺正分别被作用在一个单量子比特或者任何纠缠态的一个量子比特上时,这四个操作不能被无错区分。
[0052] 由于不诚实的参与者在Pi-1将Si(i+1)...(i-1)发送给Pi之前不能获得Pi的子密钥Ki,为了得到Ki,他们只能诚实地按照协议对Pi生成的序列进行处理。显然,在这种情况下,他们只能在Pi公布了其控制比特序列(在步骤5中公布)得到Ki。在这种情况下,不诚实的参与者面临的情况是:如果他们诚实公开控制序列的话,Pi得到的最终密钥(理想条件下)。此时如果他们要修改最终密钥,他们只能公布虚假的控制比特序列。然后他们并不能成功地控制最终密钥。具体原因是:如果这些不诚实的参与者想要翻转 的第j个比特,即 他们就应该修改相应的控制比特 并使得Pi在 上执行
一个附加操作时T(π)=F。然而,不管他们怎样修改自己的控制比特,他们只能使得Pi在该光子上执行集合 中的一个操作。显然,当 中
的任意一个幺正操作作用在 上时,它都将被转换为一个|0>和|1>的叠加态或|+>
和|->的叠加态,这就意味着这些不诚实参与者不能准确地控制最终密钥。
[0053] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型(比如说,可将单光子态替换为Bell态,同时将步骤5中的测量替换为Bell测量;又比如采用相位编码的方式等),因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。