一种可抵抗外部攻击的两方量子保密比较相等协议的制作方法

文档序号:17480728发布日期:2019-04-20 06:25阅读:190来源:国知局
一种可抵抗外部攻击的两方量子保密比较相等协议的制作方法

本发明涉及量子保密通信技术领域,特别涉及一种可抵抗外部攻击的两方量子保密比较相等协议。



背景技术:

随着量子力学的发展,越来越多的人致力于了解微观世界的变化规律。1984年,bennett和brassard提出了第一个量子密码协议(bb84协议)。从此以后,越来越多的量子密码协议被提出,例如:量子密钥分配(qkd),量子安全直接通信(qsdc),量子安全多方计算(qsmc)等。作为安全多方计算的一个重要分支,保密比较相等(pce)指的是两个百万富翁想知道是否他们是同等富有的,但是他们都不想泄露自己的财富值。这个问题是姚期智教授提出的百万富翁问题的一个简化问题。在经典密码学中,已经有很多协议可以解决这个问题,但是这些协议的安全性都是基于计算复杂性。

在量子密码学中,量子保密比较相等协议(qpce)也已经有了很大的进步,这些协议是基于量子力学的基本原理(如heisenberg测不准原理和量子不可克隆定理)。然而量子两方安全计算是不可能的绝对安全的,因此,在现有的qpce的协议中做一些额外的假设是必要的(例如:引入第三方)。大多数的qpce协议中关于第三方的假设是:第三方必须严格执行协议的步骤并且将会记录所有的中间计算值,但是不会和任何外部攻击者合作。

一般的qpce协议的提出都会遵从以下原则:

(1)qpce任务是在第三方的帮助下实施的。第三方不会被其他人破坏。他无法通过各种主动和被动攻击手段了解有关参与方各自私人输入的任何信息。

(2)无论第三方是否知道比较中不同比特的位置信息,他将无法知道实际的比特值信息。

(3)所有外部人和两个参与方应该只知道比较的结果(即相同或不同),但不是不同信息的位置。

2009年,yang等人中提出了第一个qpce协议,使用bell态作为量子载体。首先使用单向哈希函数计算两个参与方输入的保密信息的哈希值,然后使用么正操作将哈希值编码进bell态中,对两个哈希值进行比较。经过分析得知该协议具有正确性和公平性,然而其安全性主要依赖于单项哈希函数的特性,而后被人证明该协议存在安全性漏洞,协议中的第三方可以使用相同初始态欺骗两个参与方,从而窃取参与方的保密信息。

2017年,he提出了一种不需要第三方的量子保密比较相等协议,虽然它并不是一个理想的协议并且有一定的出错,但经计算证明出错的可能性较小,并且给出了可能会泄露的信息的最小量。但是因为没有第三方的参与,该协议不能完全得到正确的比较结果,需要进行正确性分析,只不过需要多次重复协议来进行验证。如果在协议过程中存在外部窃听,这个窃听者可以截获量子信道中的量子比特对其进行测量篡改重发等操作,那么协议的结果将永远不会正确得到。



技术实现要素:

本发明的目的在于提供一种可抵抗外部攻击的两方量子保密比较相等协议,以提高抵抗外部攻击的成功率。

为实现以上目的,本发明采用一种可抵抗外部攻击的两方量子保密比较相等协议,包括:

发送方利用至少两种哈希函数对其输入的第一字符串进行计算,得到哈希字符串h(a),该第一字符串为携带有发送方保密信息的n个量子比特;

接收方利用至少两种哈希函数对其输入的第二字符串进行计算,得到哈希字符串h(b),该第二字符串为携带有接收方保密信息的n个量子比特;

对哈希字符串h(a)和h(b)中的比特信息进行逐一比较,判断两方保密信息是否相同。

优选地,所述述发送方利用至少两种哈希函数对其输入的第一字符串进行计算,得到哈希字符串h(a),包括:

所述发送方将其输入的第一字符串复制i份,并采用i个哈希函数分别对每份量子比特进行计算,得到i组哈希值字符串,其中i个哈希函数均不相同;

将得到的i组哈希值字符串拼接,得到所述哈希字符串h(a),

优选地,所述接收方利用至少两种哈希函数对其输入的第二字符串进行计算,得到哈希字符串h(b),包括:

所述接收方将其输入的第二字符串复制i份,并采用i个哈希函数分别对每份量子比特进行计算,得到i组哈希值字符串,其中i个哈希函数均不相同;

将得到的i组哈希值字符串拼接,得到所述哈希字符串

优选地,所述发送方使用的i个哈希函数与所述接收方使用的i个哈希函数一一对应相同。

优选地,所述对哈希字符串h(a)和h(b)中的比特信息进行逐一比较,判断两方保密信息是否相同,包括:

遍历所述i×n个比特位数,在当前比较的比特位数j为奇数时,所述发送方作为发送方向所述接收方发送一个量子态以使所述接收方利用哈希字符串h(b)第j位的哈希值对所述量子态进行测量,得到测量结果

在当前比较的比特位数j为偶数时,所述接收方作为发送方向所述发送方发送一个量子态以使所述发送方利用哈希字符串h(a)第j位的哈希值对所述量子态进行测量得到测量结果其中αj和βj均取0或1比特,表示哈希字符串h(a)第j位的哈希值,表示哈希字符串h(b)第j位的哈希值,1≤j≤i×n;

所述接收方宣布βj,所述发送方宣布αj,并判断βj与αj是否相同。

优选地,所述接收方宣布βj,所述发送方宣布αj,并判断βj与αj是否相同,包括:

在所述βj≠αj时,所述发送方和所述接收方终止协议;

在所述βj=αj对于1≤j≤i×n均成立时,则判断所述第一字符串和所述第二字符串相同。

优选地,还包括:

随机将所述哈希字符串h(a)划分为至少两个子字符串,在两个相邻子字符串之间插入偶数比特的字符;

随机将所述哈希字符串h(b)划分为至少两个子字符串,在两个相邻子字符串之间插入偶数比特的字符。

优选地,在所述在当前比较的比特位数j为奇数时,还包括:

所述发送方随机的从四个诱骗态中选择一个发送给所述接收方,四个诱骗态为{|0>,|1>},{|+>,|->};

所述接收方随机的用测量基{|0>,|1>},{|+>,|->}对接收到的量子态进行测量,判断是否存在外部窃听;

若存在,则所述发送方和所述接收方终止协议。

优选地,在所述在当前比较的比特位数j为偶数时,还包括:

所述接收方随机的从四个诱骗态中选择一个发送给所述发送方,四个诱骗态为{|0>,|1>},{|+>,|->};

所述发送方随机的用测量基{|0>,|1>},{|+>,|->}对接收到的量子态进行测量,判断是否存在外部窃听;

若存在,则所述发送方和所述接收方终止协议。

与现有技术相比,本发明存在以下技术效果:本发明通过把双方待比较的字符串用多个不同的经典哈希函数计算之后得到哈希值串来构造新的字符串,可以避免正确性分析中复杂的重复过程,并且能够减少失败概率,通过加入检测窃听位,用以抵抗外部攻击问题。相比之前的两方的量子保密比较协议,本发明可以较之前协议更短的字符串,且有着较高的成功概率。

附图说明

下面结合附图,对本发明的具体实施方式进行详细描述:

图1是一种可抵抗外部攻击的两方量子保密比较相等协议的流程图;

图2是一种可抵抗外部攻击的两方量子保密比较相等协议的整体流程图。

具体实施方式

为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。

在介绍具体方案之前,本发明先对一些必要的表示方式在此进行说明。对于本发明提出的两方量子保密比较相等方案,引入alice,bob两个参与者,分别表示发送方和接收方。

如图1至图2所示,本实施例公开了一种可抵抗外部攻击的两方量子保密比较相等协议,包括如下步骤s1至s3:

s1、发送方利用至少两种哈希函数对其输入的第一字符串进行计算,得到哈希字符串h(a),该第一字符串为携带有发送方保密信息的量子比特;

s2、接收方利用至少两种哈希函数对其输入的第二字符串进行计算,得到哈希字符串h(b),该第二字符串为携带有接收方保密信息的量子比特;

s3、对哈希字符串h(a)和h(b)中的比特信息进行逐一比较,判断两方保密信息是否相同。

需要说明的是,本实施例公开的方案在已有的不需要第三方的量子保密比较相等协议的基础之上,该协议把需要比较的字符用经典的哈希函数计算过后,通过用特定的测量基信息编码的量子态进行单粒子测量,根据比较测量结果来判定每一比特信息是否相等。通过使用不同的哈希函数可以大大减少得到错误结果的总概率,并且协议的比较范围也变大了,可以比较之前协议所不能比较的较短的字符串,即两方的哈希字符串十分接近的时候也可以得出正确的比较结果,很好地解决了现有协议所遗留的字符串过短不能比较的问题。且本方案易于实现,不需要纠缠、联合测量和量子存储。

进一步地,上述步骤s1:发送方利用至少两种哈希函数对其输入的第一字符串进行计算,得到哈希字符串h(a),包括如下步骤s11至s12:

s11、发送方将其输入的第一字符串复制i份,并采用i个哈希函数分别对每份量子比特进行计算,得到i组哈希值字符串,其中i个哈希函数均不相同;

需要说明的是,alice的保密信息用n比特的字符串a≡a1a2...an,hi(x)是一系列经典哈希函数,它们中的每一个都是两个字符串的一对一映射,即h:{0,1}n→{0,1}n

在i份幅复制的第一字符串中,第一份用哈希函数h1(x)计算得到哈希值字符串第二份用哈希函数h2(x)计算得到哈希值字符串以此类推,得到第i组的哈希值字符串

s12、将得到的i组哈希值字符串拼接,得到哈希字符串h(a)。

需要说明的是,alice按顺序把这i个字符串拼接成一个长哈希值字符串

本实施例中,按照第一份哈希函数h1(x)得到的哈希值字符串、第二份哈希函数h2(x)得到的哈希值字符串、一直到第n份哈希函数hn(x)得到的哈希值字符串顺序,把i个字符串拼接成一个长哈希值字符串。

优选地,上述步骤s2:接收方利用至少两种哈希函数对其输入的第二字符串进行计算,得到哈希字符串h(b),包括如下步骤s21至s22:

s21、接收方将其输入的第二字符串复制i份,并采用i个哈希函数分别对每份量子比特进行计算,得到i组哈希值字符串,其中i个哈希函数均不相同;

同样的,bob进行和alice一样的操作,bob的保密信息为n比特的字符串b≡b1b2...bn,hi(x)是一系列经典哈希函数,它们中的每一个都是两个字符串的一对一映射,即h:{0,1}n→{0,1}n

在i份幅复制的第二字符串中,第一份用哈希函数h1(x)计算得到哈希值字符串第二份用哈希函数h2(x)计算得到哈希值字符串以此类推,得到第i组的哈希值字符串

s22、将得到的i组哈希值字符串拼接,得到哈希字符串h(b)。

同样的,bob进行和alice一样的操作,得到字符串

本实施例中,通过使用不同的哈希函数对第一字符串和第二字符串计算,将协议的比较范围变大了,可以比较之前协议所不能比较的较短的字符串,即使两方的哈希字符串十分接近的时候也可以得出正确的比较结果。

较为优选地,发送方使用的i个哈希函数与接收方使用的i个哈希函数一一对应相同。由于采用相同的哈希函数,保证原来要比较的信息不会发生改变,保证最终的比较结果的正确性。

优选地,上述步骤s3:对哈希字符串h(a)和h(b)中的比特信息进行逐一比较,判断两方保密信息是否相同,包括如下步骤s31至s3:

s31、遍历i×n比特位数,在当前比较的比特位数j为奇数时,发送方作为发送方,接收方作为测量方,发送方向测量方向接收方发送一个量子态以使接收方利用哈希字符串h(b)第j位的哈希值对量子态进行测量,得到测量结果1≤j≤i×n;

需要说明的是,本实施例中随机选\alpha_j的值为0或1,再按照alice方的哈希字符串中第j位的值,来决定alice发送的是四个态中的哪一个。

s32、在当前比较的比特位数j为偶数时,接收方作为发送方,发送方作为测量方,发送方向测量方发送一个量子态以使发送方利用哈希字符串h(a)第j位的哈希值对量子态进行测量得到测量结果其中αj和βj均取0或1比特,表示哈希字符串h(a)第j位的哈希值,表示哈希字符串h(b)第j位的哈希值;

需要说明的是,随机选βj的值为0或1,再按照bob方的哈希字符串中第j位的值,来决定bob发送的是四个态中的哪一个。

s33、接收方宣布βj,发送方宣布αj,并判断βj与αj是否相同。

需要说明的是,本实施例中所述四个量子态为两组正交的量子态|0>0=|0>,|1>0=|1>和|0>1=|+>,|1>1=|->。以alice为发送方,bob为测量方为例:如果α随机选定,根据alice的哈希值字符串第j位,会确定为具体什么态,如果双方的哈希值字符串相等,bob根据自己的哈希值字符串hj^b选择的测量基得到的测量结果βj将以概率1与αj相等。

进一步地,上述步骤s33:接收方宣布βj,发送方宣布αj,并判断βj与αj是否相同,具体包括如下步骤s331至s332:

s331、在βj≠αj时,所述发送方和所述接收方终止协议;

s332、在βj=αj对于1≤j≤i×n均成立时,则判断第一字符串和第二字符串相同,即a=b。

较为优选地,在上述实施例公开内容的基础上,在上述步骤s1和s2中制备得到哈希字符串h(a)和h(b)后,还包括如下步骤s`1和s`2:

s`1、随机将哈希字符串h(a)划分为至少两个子字符串,在两个相邻子字符串之间插入偶数比特的字符;

s`2、随机将哈希字符串h(b)划分为至少两个子字符串,在两个相邻子字符串之间插入偶数比特的字符。

需要说明的是,本实施例通过将制备得到的长哈希字符串h(a)和h(b)随机分为至少两个子字符串,相邻子字符串之间插入偶数个比特组成的字符,至少为2比特的字符,以用于窃听检测。alice把窃听检测位告诉bob,bob在相同的位置也插入两比特用于窃听检测。通过在哈希字符串中插入检测位来做窃听检测,可以有效地解决外部攻击问题。

进一步地,本实施例通过在相邻子字符串之间插入偶数比特的字符,可避免打乱alice和bob的比较顺序。

进一步地,alice和bob在哈希字符串h(a)和h(b)中插入检测位后,上述步骤s31中在所述在当前比较的比特位数j为奇数时,还包括:

发送方随机的从四个诱骗态中选择一个发送给接收方,四个诱骗态为{|0>,|1>},{|+>,|->};

接收方随机的用测量基{|0>,|1>},{|+>,|->}对接收到的量子态进行测量,判断是否存在外部窃听;

若存在,则发送方和接收方终止协议。

上述步骤s32中在在当前比较的比特位数j为偶数时,还包括:

接收方随机的从四个诱骗态中选择一个发送给发送方,四个诱骗态为{|0>,|1>},{|+>,|->};

发送方随机的用测量基{|0>,|1>},{|+>,|->}对接收到的量子态进行测量,判断是否存在外部窃听;

若存在,则发送方和接收方终止协议。

需要说明的是,在通信过程中,如果存在外部窃听,即协议没有通过检测窃听测试,那么比较结果是不可信的,则立即终止协议。

由于量子保密比较相等协议中,两方的安全计算不存在无条件安全的。在本发明中因为不存在第三方作为一种裁判作用,两个参与方alice和bob通过互相发送粒子的方式作为裁判比较,其中量子过程就是其中一方通过把信息编码到单量子比特上,另一方根据自己的哈希值选择测量基得到输出结果。由于发送的量子态为诱骗态,测量的选择为{|0>,|1>},{|+>,|->},即使选择与发送方不相同的测量基也是存在一定的概率得到相同的结果。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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