[0063] 下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0064] 如图1所示,本发明实施例提供了一种基于抗旋转噪声的敏捷量子隐私查询方法,包括以下步骤S1至S8:
[0065] S1、利用数据库根据Bell态构造传输信息的量子态,生成粒子状态序列;
[0066] 在本实施例中,在集体相位噪声理论中,信道传输一般是在量子态的相位改变。, 表示抗相位噪声的量子态, 表示抗旋转噪
声量子态。而量子态的整体相位是不可观测的,一旦局部相位因子出错,那么整个粒子将处于混合状态。相位因子通过叠加两个单光子获得逻辑态的单光子 , (
)来消除相位噪声。另外,旋转噪声对粒子状态的影响为
, 。只有两种Bell态
可以消除旋转噪声,作为逻辑量子态 (
, )。下标dp表示抗相位噪声的逻辑状态,r表示抗旋转噪
声的逻辑状态。
[0067] 本发明利用两种Bell态 构造四种能够抵抗集体噪声的传输信息的量子态,分别表示为
[0068]
[0069]
[0070]
[0071]
[0072] 其中, , , , , , , , 均为量子状态。
[0073] 因此,使用测量基来测量这四种传输的量子,其测量结果必定是 , ,, , , , , 八种量子状态中的一种。一旦检测到其他测量结果,它们将被视为攻击者发送的粒子。
[0074] S2、利用数据库根据Bell态构造检测粒子,添加到步骤S1生成的粒子状态序列中,生成混合序列并发送至查询用户;
[0075] 在本实施例中,本发明利用两种Bell态 构造四种能够抵抗集体噪声的检测粒子,分别表示为
[0076]
[0077]
[0078]
[0079]
[0080] 其中, , , , , , , , 均为量子状态。
[0081] 本发明将检测粒子 , , , 添加到步骤S1生成的粒子状态序列B中,得到混合序列B'。数据库Bob将混合序列B'发送给查询用户Alice。初始粒子状态, 表示经典信息‘0’, , 表示经典信息‘1’。
[0082] 本发明只需要通过两个Bell态 通过纠缠手段,构造出传输信息的量子态 , , , 和检测粒子 , , , 。整个协议过程
中传输消息的粒子与检测粒子状态各不相同。
[0083] S3、利用查询用户根据混合序列中检测粒子进行安全检测;
[0084] 在本实施例中,步骤S3具体包括以下分步骤:
[0085] S31、判断查询用户Alice是否接收到混合序列B'中的所有粒子;若是,则执行步骤S32;否则利用查询用户Alice公布未成功接收到的粒子位置,利用数据库Bob重新发送该位置的粒子状态;
[0086] 当查询用户Alice接收到所有的粒子时,则选择混合序列B'中的一半粒子来进行安全检测,即利用混合序列B'中的检测粒子进行安全检测。
[0087] S32、利用数据库Bob公布检测粒子的位置和测量基;
[0088] S33、利用查询用户Alice采用测量基ZL={ , }和XL={ , }测量检测粒子,并将测量结果公布给数据库Bob;
[0089] S34、利用数据库Bob将接收的测量结果与初始粒子状态进行比较,判断出错概率是否超过预设阈值;若是,则重新启动量子通信协议;否则进行步骤S4。
[0090] S4、利用查询用户丢弃所有检测粒子,并采用测量基ZL={ , }和XL={, }对剩余的信息粒子进行测量;
[0091] S5、利用数据库根据步骤S2中发送的量子态公布经典信息;
[0092] 在本实施例中,步骤S5具体为:
[0093] 确认查询用户Alice已经测量完所有接收到的粒子后,数据库Bob将发布经典信息0/1。若数据库在步骤S2中发送的量子态为 和 ,则利用数据库公开经典信息0;否则利用数据库公开经典信息1。
[0094] S6、利用查询用户根据步骤S4的测量结果和步骤S5中公布的经典信息获取原始密钥;
[0095] 在本实施例中,在整个量子隐私查询过程中,数据库Bob将会知道所有的密钥,用户Alice只能以一定的概率推断出密钥( )。本发明采用具有良好抗旋转噪声性能的量子隐私查询协议,消除了量子信道中的旋转噪声,保证量子信息传输的安全,并且保证用户获得一位正确密钥的概率为 。图2显示了本发明查询成功概率P值(usd
)和传统方法未消除旋转噪声查询成功概率P 值( )随θ的
变化而变化。当 时,本发明的量子隐私查询协议查询成功的概率将会达到最大值1/
2。
[0096] 表1为量子隐私查询协议的推断过程。若数据库Bob发布结果0,查询用户Alice的测量结果 ( ) 可以推断数据库Bob发送的初始粒子状态是 ( )并且数据库Bob密钥是0(1);若数据库Bob发布结果0,数据库Bob发送的初始粒子状态 ,查询用户Alice无法区分测量量子态 和 ,所以数据库Bob发送的初始粒子状态无法推断。
[0097] 表1
[0098]
[0099] 在量子密钥分配过程中,查询用户Alice和数据库Bob共享一串长度为N的原始密钥R={q1,q2,…,qN}(i=1,2,…,N), 数据库Bob知道所有的密钥,查询用户Alice推断出某个密钥qi的概率为 。
[0100] S7、设定安全参数,将原始密钥划分为安全参数长度的密钥序列,再将密钥序列的十进制数转换为二进制数,对二进制数进行异或操作得到共享密钥;
[0101] 在本实施例中,步骤S7具体包括以下分步骤:
[0102] S71、设定安全参数l,将原始密钥R 划分为长度l 的密钥序列,表示为[0103]
[0104] 其中,m是一个整型变量 ,用于表示l+1个密钥相异或,再累加的结果;假设j=5,q1=1, q2=0, q3=1, q4=1, q5=0,那么;qj‑m、qj+m分别为原始密钥中第j‑m、j+m位密钥。
[0105] S72、将密钥序列 的十进制数转换为二进制数,表示为
[0106]
[0107] 其中, 为二进制转换得到的共享密钥, 为二进制转换得到的第位密钥, 为二进制数 的长度;
[0108] S73、对二进制数 进行异或操作得到共享密钥,表示为
[0109]
[0110] 其中, 是Qj中的每一位,如Qj= 10,则 =1, =0。
[0111] 通过上述过程得到的密钥长度较短,便于实现量子隐私块查询。最后得到一个长度为1的共享密钥Oj。数据库Bob将知道共享密钥Oj的所有内容,标记为Kb={kb1,kb2,…,kbn}。同样,标记查询用户Alice的密钥为Ka={ka1,ka2,…,kan},查询用户Alice在理想情况下可以得到一个结论性密钥kai,其他n‑1位密钥可能是非结论性密钥。
[0112] 该后处理方法提供了一种具有低通信复杂度和稳定的密钥奇偶校验量子隐私块查询方案。但是在安全参数l的范围内,需要保证每次查询都是成功的,这样查询用户Alice才能获得最终的共享密钥。一旦查询用户Alice没有获得共享密钥,我们需要重新启动上面的密钥分发步骤。
[0113] 只有当长度为l的Oj' 序列的每一位已知时,才能推断出最终键Oj的值。假设l=2,有5比特的量子信息传输。
[0114] 在Oj' 满足条件的情况下,最终密钥Oj=0的情况下Oj'有000,011,101。有种长度为2l+1的二进制序列Qj {00000、00111、01011、01101、01110、10011、10101、10110、11001、11010、11100、11111}。然后最终密钥Oj=1的情况下Oj'有
001,010,100。其中有 种Qj的二进制序列{00001、00010、 00011、
00100、00101、00110、01000、01001、01010、01100、01111、10000、10001、10010、10100、
10111、11000、11011、11101、11110}。
[0115] qj奇偶校验序列为长度为l的Oj。将密钥qj=1的十进制数转换为二进制,然后对长度为 的二进制进行异或(XOR)操作,得到最终的密钥Oj。这样的方案降低了查询用户Alice的威胁,提高了整个后处理的安全性,并且可以实现量子隐私块查询。
[0116] S8、利用查询用户根据共享密钥检索数据库中的条目信息。
[0117] 在本实施例中,步骤S8具体包括以下分步骤:
[0118] S81、假设查询用户Alice想要查询第i 条数据库条目Xj,利用查询用户Alice公布一个移位s=j‑i;
[0119] S82、利用数据库Bob将密钥Kb 移位s 后得到密钥Kb’,并采用密钥Kb’ 对待查询数据库条目Xj 加密得到数据库条目信息,将数据库条目信息传输至查询用户Alice;
[0120] S83、利用查询用户Alice将密钥Ka 移位s 后得到密钥Ka’,并采用密钥Ka’ 对数据库条目信息解密得到待查询数据库条目Xj。
[0121] Alice和Bob对自己的原始密钥串执行后处理操作,将会得到长为N的最终密钥。对最终密钥的隐私查询操作如下:
[0122] 如表2所述,数据库将知道所有的最终密钥Kb(kb1=010, kb2=100, kb3=011, kb4= 110),而查询用户只知道一个密钥块 。假
4
设隐私密钥块查询的基本单位为3,假设Alice只知道第i=4个密钥块ka =110并且想要查询第j=2个查询条目Xj。则公布一个移位s=i‑j。数据库将最终密钥Kb移位s(s>0,则右移;s<0,则左移)后得到Kb’,并加密查询条目( ),并将加密结果Y公布给查询用户
4
Alice,Alice根据移位回复加密条目为Y ’。之后Alice可以用已知的密钥kb =110可以解密出想要查询的数据库条目X2=010。
[0123] 表2
[0124]
[0125] 本发明通过改进后处理过程,能够实现查询用户Alice获得数据库Bob的多位密钥信息。不同于传统的kN‑N的后处理方式。本发明的后处理方式更有效地实现量子隐私块查询,提高查询用户Alice的量子位查询效率,密钥的奇偶校验结果可以有效提高协议的安全性。
[0126] 本发明提供的上述量子隐私查询方法主要解决了传输信道中的旋转噪声干扰问题,在量子隐私查询过程中,查询用户Alice只能以概率 猜测一位数据库Bob原始密钥。随着划分长度l的增加,查询用户Alice获得数据库Bob的查询密钥Oj 的概率将接近1,查询用户Alice可以从Oj处得到Qj' 的量子隐私块查询结果。通过安全分析,本发明可以保证用户和数据库的安全。
[0127] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0128] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0129] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0130] 本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0131] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。