本发明涉及信息安全技术领域,具体地说是一种基于bell基的两方量子信息对比方法。
背景技术:
安全多方计算是分布式密码学的理论基础,也是分布式计算研究的一个基本问题。自姚启智院士上世纪80年代提出安全多方计算的概念以来,该领域已经成为现代密码学的重要研究内容之一。随着量子算法的诞生,基于计算复杂性的经典密码的安全性受到了威胁。作为安全多方量子计算的重要分支之一的量子双方计算也引起了众多学者的关注。许多具有特殊用途的安全两方量子计算协议出现了。
安全两方量子信息对比协议是一种具有特殊应用功能的方案。利用量子力学的理论设计一种方案,使得参与的双方在不公布秘密信息的前提下进行对比,对比结果选择公开或保密。常见的方案大多属于半诚实模型,即存在一个半诚实的第三方(thirdparty,tp)协助协议完成。半诚实是指tp忠实地执行协议,并记录所有的中间计算结果,但他可能会尝试从记录中窃取信息。但是,现有的基于半诚实的第三方协议存在一些缺陷,首先在实际情况下,tp会通过各种攻击方式尝试窃听参与者的秘密。其次,tp的存在给协议的实现增加了困难,降低了效率。
技术实现要素:
本发明的目的就是提供一种基于bell基的两方量子信息对比方法,该方法可在没有tp存在的情况下实现对双方的量子秘密信息进行对比,安全可靠且效率较高。
本发明的目的是这样实现的:一种基于bell基的两方量子信息对比方法,包括如下步骤:
a、alice具有秘密信息x,bob具有秘密信息y;alice和bob两者约定一个哈希函数h,并分别计算各自秘密信息的哈希值,得到
b、alice和bob将各自秘密信息的哈希值分为
c、根据第一组中的哈希值,比对alice和bob的秘密信息;
根据第一组中的m个哈希值,比对alice和bob的秘密信息,具体包括如下步骤:
c1、alice(bob)制备m个bell态,每个bell态为
c2、alice(bob)制备单光子态作为诱骗态插入到
c3、当确认bob(alice)接收到序列
c4、bob(alice)将接收到的粒子序列
c5、bob(alice)制备单光子态作为诱骗态插入到序列
c6、当确认alice(bob)接收到序列
c7、alice(bob)将接收到的粒子序列
c8、alice(bob)根据序列
d、按照步骤c中方法,依序根据第二组、第三组、……、第
e、得出alice和bob两者的秘密信息不相等的结果。
本发明在对alice的秘密信息x和bob的秘密信息y进行对比时,首先使两者共享一个哈希函数h,并分别计算各自秘密信息的哈希值;将各自秘密信息的哈希值进行分组;之后根据每一组中的哈希值,比对alice和bob的秘密信息;若根据任一组中的哈希值比对两者的秘密信息不等,则认为alice和bob的秘密信息不等;若根据所有组中的哈希值比对两者的秘密信息均相等,则认为alice和bob的秘密信息相等。比对过程中通过插入诱骗态,可侦测到是否存在攻击者,使得比对过程安全可靠。而且,本发明是一种高效的量子秘密信息对比方法,其运算主要是光粒子的测量和旋转操作,使得计算的效率较高。
本发明是一种基于量子物理原理设计的两方量子信息对比方法,其安全性能主要基于量子态的纠缠性,能抵御外部攻击和不诚实的内部攻击。另外,本发明只含有量子物理中常见的bell态和单光子态,这些运算在实验上和商业应用中已经实现,所以该发明可在现有的量子设备上来运行。
具体实施方式
本发明所提供的基于bell基的两方量子信息对比方法,其具体实现方法如下:
假设alice拥有一个秘密信息x,bob拥有一个秘密信息y。alice和bob两方按照如下步骤进行秘密信息的对比:
第一步:alice和bob两方约定一个——映射的哈希函数h:{0,1}n→{0,1}n;alice计算其秘密信息x的哈希值,得到
第二步:alice将其秘密信息x的哈希值h(x)分为
bob也将其秘密信息y的哈希值h(y)分为
第三步:根据alice和bob第一组中的哈希值,比对alice和bob的秘密信息。
本步骤具体如下:
①、alice(bob)制备m个bell态作为初始态,每个bell态为
②、alice(bob)制备单光子态作为诱骗态随机插入到
③、当确认bob(alice)接收到序列
④、bob(alice)根据其第一组y1(x1)中的m个哈希值,对粒子序列
⑤、bob(alice)制备单光子态作为诱骗态随机插入到序列
⑥、当确认alice(bob)接收到序列
⑦、alice(bob)根据其第一组x1(y1)中的m个哈希值,对序列
⑧、alice(bob)根据序列
第四步:按照第三步中方法,根据第二组中的哈希值,比对alice和bob的秘密信息;若根据第二组中的哈希值,比对alice和bob的秘密信息是相等的,则接着根据第三组中的哈希值,比对alice和bob的秘密信息;以此类推。若在根据任一组中哈希值比对结果不相等时,直接执行第五步;若根据所有组中哈希值比对结果均相等时,则得出alice和bob两者的秘密信息相等的结果。
需要说明的是,由于秘密信息哈希值的最后一组中存在k个元素,因此,在根据最后一组中哈希值比较两方秘密信息时,在步骤①中制备bell态作为初始态时,应是制备k个bell态作为初始态。
第五步:得出alice和bob两者秘密信息不相等的结果。
下面以一个具体例子对本发明中的方法进行详细说明。
假设alice拥有一个秘密信息101,bob拥有一个秘密信息100。alice和bob两方按照如下步骤进行秘密信息的对比:
第一步:alice和bob两方约定一个基于进制转换的哈希函数;alice计算其秘密信息101的哈希值,得到h(101)=011;bob计算其秘密信息100的哈希值,得到h(100)=010。
第二步:alice和bob都将其秘密信息的哈希值分为一个组,每组中三个元素。
第三步:根据alice和bob第一组(也是唯一一组)中的哈希值,比对alice和bob的秘密信息,具体如下:
①、alice随机制备三个bell态作为初始态,alice所制备的三个bell态分别为|α+>、|β+>、|α+>,并记录为sa。bob随机制备三个bell态作为初始态,bob所制备的三个bell态分别为|β+>、|β+>、|β+>,并记录为sb。其中,
②、alice随机选择三个单光子态
③、当alice和bob分别通过经典信道宣布已经收到对方发送的粒子序列后,根据对方公布的诱骗态的位置和测量基,恢复出没有插入诱骗态的粒子序列。alice和bob分别侦测是否有攻击者的存在;如果没有攻击者,则继续执行下一步骤;否则返回到步骤①重新开始。
④、alice根据其第一组中的三个哈希值对其接收到的恢复后(即去除了诱骗态)的粒子序列中的粒子依次执行i,z,z运算;bob根据其第一组中的三个哈希值对恢复后(即去除了诱骗态)的粒子序列中的粒子依次执行i,z,i运算。z=|1><0|+|0><1|,i=|0><0|+|1><1|。
⑤、alice和bob再次分别随机选择三个单光子诱骗态插入到量子粒子序列中,并发送给对方。
⑥、当alice和bob分别通过经典信道宣布已经收到对方发送的粒子序列后,根据对方公布的诱骗态的位置和测量基,恢复出没有插入诱骗态的粒子序列。alice和bob分别侦测是否有攻击者的存在;如果没有攻击者,则继续执行下一步骤;否则返回到步骤①重新开始。
⑦、alice再次对收到的粒子序列执行i,z,z幺正变换
本说明书未详细描述的内容属于本专业技术人员公知的现有技术。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。