基于N 粒子GHZ 态的量子匿名投票协议*
2022-11-04彭宇辰李艳俊
彭宇辰 孙 莹 李艳俊
1.北京电子科技学院,北京市 100070
2.中国电子科技集团公司第十五研究所,北京市 100083
引言
投票方案的安全基础之一是通信安全,而现有通信体制是基于经典密码学体制建立而成的。经典密码学体制的安全性是基于数学困难问题的难解性,例如大整数分解问题、离散对数问题等。 协议通过利用这些数学问题计算的高复杂度使得攻击者难以使用经典计算机在有效时间内计算出正确的密钥。 随着计算机技术和量子技术的不断发展,遵循量子力学计算规律、能够高速进行数学和逻辑运算的量子计算机出现,这使得在有效时间内破解数学难题成为可能,从而动摇了经典投票方案的安全性理论基础。 在投票方案中,选票信息属于敏感信息。 一般情况下,我们希望除投票人本身和计票人之外,选票信息不被其他人获取。 而在实际应用环境中,通信过程中的窃听行为广泛存在,通信过程遭受攻击会导致选票信息被恶意攻击者截获,攻击者可以根据自己的意愿对选票信息进行传播和修改,并且整个过程不被投票者和计票人发现,这会严重影响到投票的公平性和真实性。 而量子物理特性可以令通信过程中的窃听行为无所遁形,因此,研究基于量子信息技术的量子投票协议对于提高投票方案的安全性具有重要意义。
量子投票协议历经16 年的发展,已经取得了很多重要成果。 1984 年,Bennett 和Brassard提出的BB84 协议[1]是第一个量子密钥分发协议,也是日后出现的量子投票协议的理论基础。Christandl 和Wehner 在2005 年首次提出量子投票的概念[2],将量子密码的应用拓展到投票方案中。 2006 年Hillery 提出了两种投票模型[3],根据投票过程的不同将投票协议分为分配式投票协议和移动式投票协议。 2016 年,Naseri 等人提出了基于三粒子GHZ 态的量子匿名投票协议[4],协议通过投票者之间交换选票、重新投票的方式保证匿名性,通过比较投票意愿的异同实现计票功能,因此其应用范围局限于两个投票人的应用场景。 2017 年,刘小华等人提出了一种基于四粒子GHZ 态的安全量子投票协议[5]。 该协议在温晓军等人在2011 年提出的安全量子投票协议的基础上引入了外部监督者,分担了投票中心的部分职权,从而使得协议更加安全。 2018年,秦加奇等人提出了基于受控量子安全直接通信的量子投票协议[6]。 协议运用三粒子类GHZ态和纠缠交换技术,拓展了投票功能的同时提高了计票的效率,但在投票过程实现匿名性方面还存在问题,不能很好地保护投票者的选票信息。每一个投票协议都对以往协议中出现的不足进行了改进,也让量子投票协议在安全性和易用性方面得到了显著提升。
但不同应用场景对于安全和对象的需求都是不同的,当前量子投票协议研究的关注度主要集中在投票协议安全性、投票范围等综合实用性方面,设计通用性强的量子投票协议是主要的研究目标。 但在兼顾一方面的同时必然会在另一方面力有不逮,想要在保证量子资源利用率和投票范围的同时保证投票者隐私信息的安全性,这就必然需要更加复杂的投票过程以及更先进的量子技术来保证。 本文基于N 粒子GHZ 态,提出了一种量子匿名投票协议,通过牺牲部分量子资源利用率,保证了投票过程的安全性以及投票者的匿名性。 同时,在协议过程中,每位投票者的投票操作只需进行相对简单的单粒子酉操作,从而提高了协议的实用性与易用性。
1 协议过程描述
投票协议参与方主要由四部分构成,分别是:投票者Ai(假设N-1 个投票者参与投票,i=1, 2,...,N-1)、监票人B、计票人C 以及权威公证机构CA。 协议过程分为五个阶段:注册、认证、分发选票、投票、计票。 下文以任意一名投票者Ai为例描述投票过程,如图1 所示。
图1 投票方案流程图
1.1 注册阶段
投票者Ai向公证机构CA 发送参与投票请求,同时将自己的真实身份信息发送给CA。 公证机构CA 将接收到的身份信息进行审核,若身份信息合法,则将该信息记录到数据库中,同时向Ai返回一个长为a的密钥作为Ki身份标识信息用于投票过程中的身份认证;若身份信息非法,则不将身份信息计入数据库,同时给Ai返回一个认证不通过的提示。
在完成所有合法投票者身份信息的录入以后,公证机构CA 将所有投票参与者的密钥发送给计票人C 和监票人B。 C 制作一个空白的非公开的本地表格,且C 对该表格有查看和添加的权力。
1.2 认证阶段
1.2.1 制备量子认证序列
1.2.2 量子通道安全性检测
1.2.3 进行投票登记
确认量子信道安全性后,投票者Ai通过经典信道向B 和C 发送确认信息以及量子认证序列Li
B 和LiC中粒子的测量基。 B 和C 移除量子序列中的诱饵粒子后,使用测量基测量量子认证序列Li
B 和LiC 中的粒子,从而得到投票者Ai的密钥Ki。 将得到的密钥Ki与CA 传过来的密钥表进行对照,则说明Ai是合法用户,否则终止Ai的投票进程。 同时C 将投票者Ai的密钥记录到本地表格,以便于验证是否存在重复投票的情况。 若发现Ai在表格上有记录,则说明Ai不是第一次投票,终止Ai的投票进程。
1.3 分发选票阶段
1.3.1 制备选票态1.3.2 分发选票
1.4 投票阶段
1.4.1 取得选票态
投票者Ai在确认收到含有选票态的量子序列后,向计票人C 通过经典信道发送确认信息,由计票人C 告知选票态位置后,投票者Ai随机选择Z 基或X 基测量诱饵粒子,并通知计票人C关于诱饵粒子的测量结果以及所选用测量基。计票人C 计算本次通信错误率,确认信道安全后,向投票者Ai返回继续通信的确认信息。 投票者Ai移除诱饵粒子得到选票态SiA,该选票态即为Ai的空白选票。 如果本次通信错误率高于安全阈值,则终止本次协议,重新开始。
1.4.2 投票
首先定义编码选票的酉操作:
1.5 计票阶段
监票人B 在收集其所有选票后,通过经典信道向计票人C 发送确认信息。 计票人C 在确认没有重复投票的情况后,向监票人B 使用诱饵粒子检测的方法传输自己持有的粒子。 收到C 的粒子后,监票人B 将其置于粒子序列首位,继而对N个粒子执行GHZ 联合测量,得到测量结果后,以一定的量子计算规则(计票人C 的粒子为控制位,其他选票粒子分别为目标位,执行CNOT 操作)将GHZ 态中选票位的Z 基测量结果转换为比特序列,并统计该序列中0 比特和1比特的数量,通过经典信道向计票人发送统计结果。 计票人收到统计结果后,根据初始态制备情况,得出最终票数。
2 安全需求分析
2.1 合法性
公证机构能够认证投票者的身份是否合法,核实后将已验证投票者密钥发送给计票人与监票人,计票人可以通过量子密钥分发(Quantum Key Distribution,QKD)的方式将密钥发送给计票人和监票人证明自己的身份,计票人与监票人也能够验证投票者身份的真实性。 如果存在外部攻击者想要通过拦截重发攻击获取投票者的密钥,那么必然会对诱饵粒子的测量结果产生影响,从而改变误码率。
2.2 保密性
投票者的真实身份信息只有权威公证机构CA 知晓,投票过程中使用的密钥与投票者身份无关,因此,投票者身份信息不会泄露。 投票方案中,只有计票人知晓选票态的初始状态。 投票者完成投票操作后,将选票粒子发送给了监票人,监票人实行了N粒子GHZ 测量,但因为他不知道初始选票态而无法得出每个人的实际投票情况。 监票人将投票的统计结果发送给计票人,而计票人只知道0 和1 的个数而不知道其与投票者的对应关系,因此无法获知每个人的投票情况,这样一来投票信息就只有投票者自己知道,实现了投票的匿名性。
2.3 不可重用性
在投票注册阶段,计票人制作了一个不公开的空白表格,每有一个投票者将密钥通过量子信道发送过来,计票人就在表格上进行记录。 如果同一个投票者发送了两次密钥,想要第二次获得空白选票,计票人就会察觉到这个密钥是第二次被记录,立即终止投票过程,防范了二次投票。
2.4 公平性
只有在其他投票者进行干扰后,投票者才会无法根据真实的投票意愿进行投票。 本文投票方案中,各个投票者无法获得其他投票者的密钥,更加无法获得投票者的真实信息,因此无法影响到投票的公平性。
2.5 简便性
投票者只需要执行单粒子酉操作,因此投票者的投票操作十分简便。
3 协议过程模拟
接下来,选用本源量子云平台对本文提出的投票协议进行线路设计和场景分析。 本源量子云平台,是国内首家基于模拟器研发且能在传统计算机上模拟进行量子计算和量子算法编程的系统。 在本源量子云平台上,用户可编写和运行量子程序,查看已编辑程序的图形化显示效果,在远程量子服务器上完成编译、执行与测量,其结果可迅速传回本地。
3.1 量子线路设计
此处假设有4 人参与投票,对应于投票协议中的参数N=5。 本文协议模拟主要分为三个部分:制备GHZ 态、投票、计票。 协议模拟过程如图2 所示。
图2 投票全过程量子线路图
在量子线路第12 步的Z 基测量操作完成后,得到测量结果为|ψ〉 =|01111〉,投票态的Z 基测量结果转化为对应的比特序列为1111。
这里投票过程假设四个投票者全部投了反对票,即全部执行了σx操作,相应的投票结果应为0 票。 量子线路第12 步的Z 基测量结果在量子云平台显示如图3。
图3 投票者全反对结果模拟图
该量子云平台显示的计算结果顺序为q[4],q[3],q[2],q[1],q[0],因此监票人B 得到的结果为|01111〉,其中q[0] 对应于原始GHZ 态中计票人C 持有的粒子,q[1],q[2],q[3],q[4] 对应于原始GHZ 态中作为投票位的粒子, q[1],q[2],q[3],q[4] 测量结果为|1111〉,转化为对应的经典比特序列是1111,统计结果为四个1,与计算结果一致。 随后监票人B 将该统计结果发送给计票人C。
计票人C 知道该线路的初始状态为00000〉,减去结果中的0,四个1 对应四个反对票,因此记下票数为0。 监票人不知道初态为全0 还是全1,因此只有50%的概率得到正确结果,从而实现了匿名性。
根据投票者不同的投票情况,本文将模拟分为两个部分,分别是监票人B 统计0、1 个数以及计票人统计票数,并将不同的投票情况分别进行了模拟实现,统计结果如表1 与表2 所示。
表1 监票人统计结果
表2 计票人统计票数结果
3.2 应用场景分析
本协议的量子资源消耗率较高,因此这是一个针对于特定应用场景的量子匿名投票方案,而且只能应用于投票者较少的场景中。 现有量子技术以IBM 的量子计算研制的量子计算机为前沿技术,最高只能支持127 比特的运算,因此对于本方案而言,最高只支持126 个投票者参与投票。 量子比特数越高,量子态的制备越复杂,量子测量过程也更加复杂,因此本方案适用于少量投票者做重大决策的场景中。
下面例举一种现实中可行的应用场景。 假设公司有四个部门,公司总部制定了一个关于员工绩效考核制度改革的方案,现在每一个部门已经统一了意见,决定好赞成或反对这个方案。 最后对于这个方案投票权掌握在每个部门的第一负责人手中,公司总部通过投票的方式决定是否执行这个方案。 方案满足了投票者选票信息的保密性,各投票者之间无法交换选票信息。 计票人得到了对该制度改革方案真实的投票意见,同时无法获知各部门意见,对各部门不会产生偏见,保证了该投票过程中体现的各方意愿不会对公司后续工作开展产生不良影响。
4 结论
本文主要提出了一种基于N 粒子GHZ 态的量子匿名投票协议,并对其进行了模拟实现,验证了方案的正确性。 协议中用到了N 粒子GHZ态,当N 取值过大时,GHZ 态在物理层面制备难度过大,因此本协议更适用于小范围的投票应用。 但在安全性方面,本协议做到了投票的完全匿名性,在投票过程中计票人和监票人都无法得到投票者的选票信息。 在协议的模拟中,选用N=5,即记录四位投票者的投票结果。 本文模拟实现了四位投票者的所有投票情况,根据不同的投票操作分别设计的量子线路。 随后根据不同的投票情况计算出了每一种情况中选票编码后的状态,并根据空白选票态得出了计票结果。 在本源量子计算云平台上,根据设计的量子线路对每一种投票情况分别进行了模拟,并得到了与计算相吻合的结果,验证了投票方案的正确性与可行性。 与Naseri 等人在文献[4]中提出的基于三粒子GHZ 态的量子匿名投票协议相比,在协议功能方面,本方案实现了由两方投票到多方投票的转变,并能在保证匿名性的基础上计算获得投票结果,而不是仅仅判断投票双方是否决策相同;在通信效率方面,由于本方案中投票人之间彼此不需要进行量子通信,相对于Naseri 协议[4]来说,GHZ 态的每个粒子在信道中传输次数均减少一次。
随着量子信息技术的发展,量子投票方案应当对投票操作的简便性和投票过程的安全性进行综合考量,并根据实际应用场景进行优化,针对具体问题进行具体分析,降低操作难度,提高投票效率。