发明内容
为了提升量子态签名的安全性,本发明提出一种基于d维Bell态的量子同态签名方法,将签名过程分为四个阶段,具体包括以下四个阶段:
在初始化阶段,将一个经典消息分为若干个经典序列,每个签名者分配该消息的一个经典序列,签名者制备一个d维Bell态,并使用量子秘钥分配协议进行秘钥分配;
在签名阶段,签名者利用自己所有的经典消息序列和分配的密钥,对签名者制备d维Bell态进行酉操作,将操作后获得的量子态作为签名;
签名聚合阶段,聚合者M对单个签名进行验证,当所有签名验证通过后对单个签名进行聚合形成多重签名,并将聚合过程纠缠交换后的前两个粒子转换为经典消息,聚合者将密文、多重签名以及转换得到的经典消息发送给最终验证者;
多重签名验证阶段,最终验证者根据转换后的经典消息以及纠缠交换原则获取得到一个量子态,将该量子态与签名粒子执行Bell测量的结果进行比较,若相等则接收签名,否则拒绝签名。
进一步的,签名者制备一个d维Bell态过程包括:
其中,|Ψ00>为签名者制备的量子态;|>为表示量子态的符号。
进一步的,签名者使用量子秘钥分配协议进行秘钥分配:
签名者Ai选择经典序列Yi作为自己的秘钥,并将该秘钥通过量子秘钥分配协议,例如具有验证功能的BB84协议,与签名聚合者M共享;
签名者Ai产生签名秘钥对(PRi,Pbi),自己保存私钥PRi,将对应的公钥Pbi通过改进的BB84认证协议共享给签名聚合者M;
签名聚合者M产生秘钥对(PRM,PbM),私钥PRM自己保存,公钥PbM通过改进的BB84协议共享给签名最终验证者V。
进一步的,签名者根据自己所有的经典消息序列和分配的密钥以及签名者制备d维Bell态获取签名的过程,即签名者Ai根据自己所有的经典消息序列和秘钥/>的值,对自己制备的量子态|Ψ'>2i-1,2i的量子粒子(2i-1,2i)中第二个粒子执行酉操作执行酉操作,将执行完酉操作后的第二个粒子所对应的量子态视为消息序列Xi的签名,该签名表示为:
其中,S2i表示签名者Ai的签名; 表示签名者Ai拥有的经典序列中序号为n处的值,/>表示签名者Ai和聚合者M共享的秘钥Yi中序号为n处的值,/>表示异或操作,U(*)表示酉操作;|Ψ'>2i为签名者Ai执行完酉操作后第二个粒子所对应的量子态。
进一步的,签名者Ai拥有的经典序列中序号为n处的值与签名者Ai和聚合者M共享的秘钥Yi中序号为n处的值/>进行异或操作表示为:
其中,U00~Udd分别表示d维情况下的各酉操作,异或后得到的值分别对应U00~Udd中各酉操作。
进一步的,当所有签名验证通过后对单个签名进行聚合形成多重签名的过程包括:
将第i个签名者的签名、第i+1个签名者的签名进行bell测量,获得对应的量子态|Ψ'>2i-1,2i和|Ψ'>2(i+1)-1,2(i+1),对两个量子态进行纠缠交换,获得量子态
|Ψ”>2i-1,2(i+1)-1和|Ψ”>2i,2(i+1);
对|Ψ”>2i-1,2(i+1)-1进行bell测量,获取将第i个签名者的签名、第i+1个签名者的签名聚合后的量子态表示为:
将第i个签名者的签名与第i+1个签名者的签名聚合后的量子态与第i+3个签名者的签名进行聚合,依次类推,完成所有签名者的签名的聚合。
进一步的,将聚合过程纠缠交换后的前两个粒子转换为经典消息的规则为:
其中,|Ψij>2i-1,2(i+1)-1表示量子态|Ψ'>2i-1,2i和|Ψ'>2(i+1)-1,2(i+1)执行纠缠交换后前两个粒子所代表的量子态。
进一步的,聚合者将密文、多重签名以及转换得到的经典消息发送给最终验证者包括:
聚合者计算和/>其中X作为聚合者自己的消息,Y作为聚合者与最终验证者之间共享的秘钥;
使用私钥Prn加密Xn形成密文
将密文两个签名粒子(2(n-1),2n)以及转换后的经典消息经由无错误的量子信道传输给最终验证者。
进一步的,多重签名验证阶段最终验证者的处理包括:
验证者根据来自聚合者的转换后的经典信息,计算得到量子态|Ψ”>2(n-1)-2,2n-1;
验证者根据秘钥Pbn解密得到消息/>再根据秘钥得到/>
对收到的签名粒子(2(n-1),2n)执行Bell测量,若其结果等于|Ψ”>2(n-1),2n,则接受签名,否则拒绝签名。
与现有技术相比,本发明具有以下优势:
1、在安全性方面,本发明基于d维环境实现,比如经典消息为d维情况下所对应的序列、量子态为d维Bell态,签名秘钥以及其他秘钥等都是基于d维的。根据量子安全相关性质可知,随着维度的扩增,量子通信的安全性也会随着增加,所以本发明提出的一种基于d维Bell态的量子同态签名方法,相较于已有的低维度下的量子同态签名方法有更高的安全性。
2、在签名验证方面,本发明所提出的方法在原来同态签名的基础上,增加了单个签名的验证阶段,即在聚合者进行聚合形成多重签名之前,先对收到的来自签名者的单个签名进行验证,验证通过才会进行聚合操作,如果验证不通过,直接终止协议。相较于已有方法种中提出的,所有的签名验证操作直到最后才验证的方法,本发明所提出的方法,能够极大的减少工作量以及资源的消耗,同时能够提高验证效率。
3、在签名者数量上,本发明所提出的方法将原来的少量签名者扩展到n个签名者,使得本方法具有更高的扩展性和实用性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于d维Bell态的量子同态签名方法,其特征在于,本发明将签名过程分为四个阶段,具体包括以下四个阶段:
在初始化阶段,将一个经典消息分为若干个经典序列,每个签名者分配该消息的一个经典序列,签名者制备一个d维Bell态,并使用改进的BB84协议进行秘钥分配;
在签名阶段,签名者利用自己所有的经典消息序列和分配的密钥,对签名者制备d维Bell态进行酉操作,将操作后获得的量子态作为签名;
签名聚合阶段,聚合者M对单个签名进行验证,当所有签名验证通过后对单个签名进行聚合形成多重签名,并将聚合过程纠缠交换后的前两个粒子转换为经典消息,聚合者将密文、多重签名以及转换得到的经典消息发送给最终验证者;
多重签名验证阶段,最终验证者根据转换后的经典消息以及纠缠交换原则获取得到一个量子态,将该量子态与签名粒子执行Bell测量的结果进行比较,若相等则接收签名,否则拒绝签名。
实施例1
在本实施例中上述四个阶段包括总共11个步骤,如图1,分别包括以下步骤:
初始化阶段包括:
S1:经典信息转换:消息拥有者将原始消息转换为经典消息序列,并将消息序列中的每一个子序列分别分发给每个签名者;
S2:制备量子态:签名者制备高维量子态,每个量子态都包含两个粒子;
S3:秘钥分发:签名者通过改进的BB84协议进行秘钥分配,得到秘密秘钥以及签名秘钥对。
签名阶段包括:
S4:形成单个签名:签名者根据自己所拥有的经典消息序列和相关秘钥,对制备的量子态执行酉操作,得到单个签名以及签名粒子;
S5:相关信息传输签名者将密文以及签名粒子发给签名聚合者。
签名聚合阶段包括:
S6:单个签名验证:聚合者根据签名粒子以及密文对单个签名进行验证;
S7:签名聚合:聚合者根据量子纠缠交换原理,对单个签名依次执行聚合操作,得到多重签名;
S8:经典序列转换:聚合者对纠缠交换后的(1,3)粒子进行bell测量,将测量后的结果根据相关规则转换为经典序列;
S9:相关信息传输:聚者者将转换后的经典消息以及多重签名中的签名粒子发送给签名最终验证者。
多重签名验证阶段包括:
S10:验证者使用签名粒子以及纠缠交换原理,采用签名聚合阶段中S1相同的方法对多重签名进行验证;
S11:验证通过后接收多重签名。
实施例2
本实施例在实施例1的基础上,对各个步骤进行进一步说明。在本实施例中,如图1所示,可以划分为初始化阶段、签名阶段、签名聚合阶段和多重签名验证阶段,签名者与聚合者以及验证者之间都能建立安全的量子信道和安全的经典信道,在安全的量子信道上传输量子态信息,即量子签名,在安全的经典信道上传输经典密文信息,具体包括以下步骤:
一:初始化阶段
S1:经典序列准备:假设经典消息为m={X1,X2,...Xn},每个签名者拥有一个经典序列其中/>即签名者A1,A2,...An分别拥有经典序列X1,X2,...Xn;
S2:量子态制备:由签名者自己制备一个d维Bell态。假设每个签名者制备的量子态
S3:秘钥分配:该阶段主要是签名者使用改进的BB84协议进行秘钥分配的过程,主要包括以下步骤:
S31:签名者Ai各自选择经典序列Yi作为自己的秘钥,并将该秘钥通过改进的BB84协议与签名聚合者M共享。
S32:签名者Ai产生签名秘钥对(PRi,Pbi),自己保存私钥PRi,将对应的公钥Pbi通过改进的BB84认证协议共享给签名聚合者M。
S33:签名聚合者M产生秘钥对(PRM,PbM),私钥PRM自己保存,公钥PbM通过改进的BB84协议共享给签名最终验证者V。
二:签名阶段
S4:单个签名形成:主要包括以下步骤:
S41:签名者Ai根据自己所有的经典消息序列Xi和秘钥Yi的值,对自己制备的量子态执行酉操作,从而形成自己的单个签名。
比如,签名者A1根据的值,对量子态|Ψ>12中的第二个粒子执行酉操作,将执行完酉操作后的第二个粒子所对应的量子态视为该消息的签名,签名过程表示为:/>
同理,签名者A2根据对自己所制备的量子态|Ψ>34中的第二个粒子执行对应的酉操作,将执行完酉操作后的第二个粒子所对应的量子态视为该消息的签名,表示为:/>
其中,酉操作的选择规则为:
其中,i,j={1,2,...n},上标i表示第i个签名者,下标j表示签名者所拥有序列的位置j处的值。
S42:执行完由操作后,原来的量子态发生变换,变换过程表示为:
将变换之后量子态中的粒子称为签名粒子。
S5:相关信息传输:签名者Ai将自己消息Xi形成的密文、签名粒子(2i-1,2i)等信息经由无错误的量子信道传输给签名聚合者M。
比如,签名者A1将密文和签名粒子(1,2)经由安全的量子信道发送给签名聚合者M,同理,签名者A2将密文/>和签名粒子(3,4)经由安全的量子信道发送给签名聚合者M。直到最后一个签名者执行完操作,则签名阶段才算完成。
三:多重签名聚合阶段
S6:单个签名验证:聚合者M对单个签名进行验证,包含以下步骤:
S61:M收到密文以及签名粒子(1,2)后,依据公钥Pb1从密文/>中得到X1,计算/>
S62:对签名粒子(1,2)执行Bell测量,(即对量子态|Ψ'>12执行Bell测量),将测量结果与进行对比,即验证等式(2)是否成立,如果等式,则接受签名;
使用相同的方法对来自其他签名者的单个签名Si进行验证,单个签名验证通过后执行后续的聚合操作,只要一个签名验证不通过,则拒绝并终止协议。
S7:聚合形成多重签名:签名聚合者M对单个签名进行聚合,从而形成多重签名,主要包含以下步骤:
S71:在上述单个签名S1和S2验证过程中进行Bell测量后,得到量子态|Ψ'>12和|Ψ'>34。签名聚合者M对量子态|Ψ'>12和|Ψ'>34进行纠缠交换,得到量子态|Ψ”>13和|Ψ”>24。
S72:对|Ψ”>13进行Bell测量,即坍缩后的状态。上述操作即对单个签名S1和S2的聚合过程。
签名聚合者M对粒子(2,4)和(5,6)进行纠缠就换,得到(2,5)和(4,6)分别纠缠的量子态|Ψ”>25和|Ψ”>46,对量子态|Ψ”>25执行Bell测量之后,|Ψ”>46坍缩为量子态态
上述即为对单个签名S1、S2、S3的聚合。
签名聚合者M执行相同的操作对前n-1个签名执行相同的聚合操作,得到最后的纠缠态为|Ψ”>2(n-2)-1,2(n-1)-1和|Ψ”>2(n-1)-2,2(n-1),对量子态|Ψ”>2(n-2)-1,2(n-1)-1执行Bell测量,量子态|Ψ”>2(n-1)-2,2(n-1)会坍缩为相应的态。最后再对|Ψ”>2(n-1)-2,2(n-1)和|Ψ”>2n-1,2n执行Bell测量,得到两个纠缠态|Ψ”>2(n-1)-2,2n-1和|Ψ”>2(n-1),2n。对量子态|Ψ”>2(n-1)-2,2n-1执行Bell测量后,|Ψ”>2(n-1),2n会进行坍缩,得到最终的量子纠缠态为:
S8:经典信息转换:聚合者将纠缠交换后的前两个粒子根据规则转换为经典消息,以粒子(1,3)为例,转换规则为:
假设纠缠交换后的量子态中(1,3)粒子的测量结果为|Ψ”>13=|Ψ00>13,则(2,4)粒子所对应的量子态为在这种情况下,(1,3)粒子的测量结果|Ψ”>13可以转换为经典比特00...00。
通过将量子态转换为经典信息的方法,可以将已有方案中发送的四个粒子变为只发送两个粒子,尽管接收者数量增加,也只是发送两个粒子,即发送的粒子数不会随着接收者数量的增多而增多。
S9:相关信息传输:聚合者M将相关信息发送给最终验证者,主要包括以下步骤:
S91:聚合者M计算和/>其中X作为自己的消息,Y作为自己与最终验证者V之间共享的秘钥。
S92:使用私钥Prn加密Xn形成密文
S93:将密文两个签名粒子(2(n-1),2n)以及转换后的经典消息m'等信息经由无错误的量子信道传输给最终验证者V。
图2给出本发明中的签名阶段与聚合阶段概要图,图中记录了在签名阶段与聚合阶段的主要关键信息与过程,表明本发明的签名过程由n个签名者将各自的单个签名以及相关信息发送给签名聚合者,然后在聚合阶段,聚合者将所有单个签名聚合形成一个多重签名,再将其发给最终验证者。
四:最终验证阶段:
S10:最终验证者对聚合者的签名进行验证,主要包括以下步骤:
S101:验证者V根据来自聚合者M的转换后的经典信息m',可以得到|Ψ”>2(n-1)-2,2n-1,根据纠缠交换原则,可以得到量子态|Ψ”>2(n-1),2n。
S102:验证者V根据秘钥Pbn解密得到消息/>再根据秘钥/>得到/>然后对收到的签名粒子(2(n-1),2n)执行Bell测量,若其结果等于|Ψ”>2(n-1),2n,则接受签名,否则拒绝签名;
S11:验证通过后接收签名。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。