一种基于链式相控加密操作的量子双重签名的方法与流程

文档序号:11234390阅读:702来源:国知局
一种基于链式相控加密操作的量子双重签名的方法与流程

本发明属于数字签名技术领域,尤其涉及一种基于链式相控加密操作的量子双重签名的方法。



背景技术:

经典双重签名常应用于电子支付系统当中,它能够将两个欲发送给不同参与者的签名连接在一起,然后两个接收者分别验证欲发送给自己的信息的签名,使交易顺利进行并确保安全付款。经典双重签名方案利用数据标准加密(dateencryptionstandard,des)等传统加密算法来加密,然而这些经典签名方案存在安全隐患。量子密码是量子力学与经典密码相结合而产生的一种新的密码学分支。基于测不准原理和量子不可克隆定理,量子密码具有无条件安全性和对窃听的可检测性。将经典双重签名扩展到量子双重签名,则能够利用量子密码的特性来保证信息和签名的安全,提高电子交易的安全性。

但是目前为止的大多数量子签名方案所使用的加密方法是量子一次一密(quantumone-timepads,qotp)。一些研究发现部分利用qotp的仲裁量子签名(arbitratedquantumsignature,aqs)方案中比较容易发生伪造攻击。一方面,因为qotp通过量子比特加密量子比特,并且密钥位之间彼此独立。另一方面,泡利(pauli)操作之间彼此对易或反对易,即可以经过运算相互转换。正因为这两个原因,部分仲裁量子签名方案存在一定的安全漏洞。因此需要设计新的加密方法来保证签名的安全。



技术实现要素:

为克服已有技术的缺陷,本发明提供一种基于链式相控加密操作的量子双重签名的方法,可以提高电子签名的安全性,相较于经典双重签名以及现有的量子签名方法具有更佳的安全性能。

本发明提供一种基于链式相控加密操作的量子双重签名的方法,该方法包括:

步骤1:基于量子密钥分配协议以及预设目标密钥获取方法,参与通信的通信者获取对应目标密钥;

其中,目标密钥长度为n,目标密钥中每一位的取值范围为[1,n]之间的整数,且每一位的取值是不相同的,n为大于或等于1的整数;

第一通信者和第二通信者分别获取第一目标密钥,第一通信者和第三通信者分别获取第二目标密钥,第二通信者与第三通信者分别获取第三目标密钥,

其中,第一目标密钥、第二目标密钥以及第三目标密钥的长度分别为x+y,y,y;

x、y为大于或等于1的整数;

步骤2:第一通信者依据预设序列并采用幺正位移算法作用于真空态的方法将信息转换为以相干态形式表达的盲化信息,并发送给其余通信者;

所述信息是第一通信者待发送给其余通信者的信息;

其中,第一通信者依据长度为x比特的预设第一序列并采用幺正位移算法作用于真空态的方法将长度为x比特的第一信息转换为以相干态形式表达的第一盲化信息,并发送给第二通信者;以及依据长度为y比特的预设第二序列并采用幺正位移算法作用于真空态的方法将长度为y比特的第二信息转换为以相干态形式表达的第二盲化信息,并发送给第三通信者;

步骤3:第一通信者基于链式相控加密操作获取第一盲化信息的第一签名信息和第二盲化信息的第二签名信息;

其中,第一通信者根据第二目标密钥以及链式相控加密操作对第二盲化信息进行签名得到第二签名信息,以及根据第一目标密钥的前x位以及链式相控加密操作对第一盲化信息进行签名得到第一签名信息;

步骤4:第一通信者基于张量积计算方法以及链式相控加密操作并依据第一签名信息和第二签名信息生成量子双重签名;

其中,第一通信者通过张量积的计算将步骤3中第二签名信息和步骤3中第一签名信息进行连接生成相干态的第三信息;并根据第一目标密钥以及链式相控加密操作对第三信息进行签名获得量子双重签名,并发送给第二通信者;

步骤5:第二通信者利用第一目标密钥以及预设的相控解密操作解密步骤4中的量子双重签名而获得步骤3中第一签名信息和第二签名信息;

其中,预设的相控解密操作是与链式相控加密操作相对应的相控解密操作;

步骤6:第二通信者验证步骤5中的第一签名信息是否有效,若有效,第二通信者利用第三目标密钥以及链式相控加密操作对步骤5中第二签名信息进行再次签名,并发送给第三通信者;

步骤7:第三通信者利用第三目标密钥以及预设的相控解密操作解密步骤6中的被再次签名的信息而获得第二签名信息,并验证第二签名信息是否有效,若有效,第一通信者发送预设序列给其余通信者,

其中,第一通信者将预设第一序列发送给第二通信者,预设第二序列发送给第三通信者;

步骤8:其余通信者基于预设序列和预设规则解密步骤2中的盲化信息,使得所述其余通信者完成电子签名;

其中,第二通信者基于预设第一序列以及预设规则解密第一盲化信息使其恢复为第一信息,以及第三通信者基于预设第二序列以及预设规则解密第二盲化信息使其恢复为第二信息。

第一通信者是用于传送信息给第二通信者以及第三通信者进行验证,第二通信者和第三通信者是信息接受者。

链式相控加密操作加强了签名中相干态的之间的关系,不论是目标密钥出错或者被签名的信息出错都将导致加密结果出现明显的错误,从而验证过程可以检测出错误,其中相干态属于量子态,相干态为连续变量量子态。

优选地,利用链式相控加密操作对相干态的信息进行签名的公式如下所示:

其中,|s>ξ是利用链式相控加密操作ek得到的信息|m>ξ的签名,ek是目标密钥为k的链式相控加密操作,|m>ξ是以相干态形式表达的ξ类信息;

是以为控制相干态,为目标相干态的相控加密操作;

是信息|m>ξ中第n个相干态,是信息|m>ξ中第n-1个相干态,表示信息|m>ξ中第j个相干态,是信息|m>ξ中第kn个相干态,是信息|m>ξ中第kn-1个相干态,表示信息|m>ξ中第kj个相干态;kn是目标密钥k中第n个位置上的数值,kn-1是目标密钥k中第n-1个位置上的数值,kj是目标密钥的第j个位置上的数值;

n是信息|m>ξ的长度,j∈{1,2...n};

其中,

其中,xj和pj分别表示的振幅和相位,改变相位为的相移操作,p(π)改变相位为π的相移操作。

得到的签名中的每一个相干态不仅仅与其所对应的目标密钥相关,还与其他的相干态以及目标密钥中其他位置的信息相关,进而加强了签名中相干态之间的联系。

其中,|m>ξ是以相干态形式表达的ξ类信息具体可以是以相干态形式表达的盲化信息或者相干态形式表达的签名。

优选地,利用预设的相控解密操作对签名进行解密的公式如下所示;

dk是目标密钥为k的相控解密操作;

是以为控制相干态,为目标相干态的相控解密操作;

是签名|s>ξ中第n个相干态,表示签名|s>ξ中第j个相干态,是签名|s>ξ中第kn个相干态表示签名|s>ξ中第kj个相干态;

其中,

其中,xj(s)和pj(s)分别表示的振幅和相位,改变相位为的相移操作,p(-π)改变相位为-π的相移操作。

优选地,步骤6中第二通信者验证步骤5中的第一签名信息是否有效,包括:

第二通信者根据第一目标密钥的前x位以及链式相控加密操作对从步骤2中接收的第一盲化信息进行签名得到第一信息的验证信息;

判断第一信息的验证信息与步骤5中的第一签名信息是否相等,若相等,步骤5中的第一签名信息有效,若不相等,则无效。

可以发现恶意伪造的签名,进而可以防止攻击者恶意伪造签名。

优选地,步骤7中第三通信者验证第二签名信息是否有效,包括:

第三通信者根据第二目标密钥以及链式相控加密操作对从步骤2中接收的第二盲化信息进行签名得到第二信息的验证信息;

判断第二信息的验证信息与第二签名信息是否相等,若相等,步骤7中的第二签名信息有效,若不相等,则无效。

可以发现恶意伪造的签名,进而可以防止攻击者恶意伪造签名。

优选地,步骤4和步骤5之间,还包括:

第二通信者从步骤4中的量子双重签名中随机选择若干个相干态,并记录被选择的相干态的位置序号;

第二通信者根据和第一通信者预设的量子双重签名的相干态与二进制比特的对应关系,将被选择的相干态转换为相对应的二进制比特串,并将二进制比特串以及位置序号发送给第一通信者;

第一通信者根据对应关系将二进制比特串恢复为相干态,并根据位置序号将恢复的若干个相干态与步骤4中量子双重签名中同一位置序号的相干态进行比较,并记录不匹配第一概率;

若不匹配第一概率小于预设第一阈值,则执行步骤5。

第一通信者和第二通信者之间的安全性验证,进一步实现了不可伪造性,提高电子签名的安全性。

优选地,步骤7中第三通信者获得第二签名信息之后以及验证第二签名信息是否有效之前,还包括:

第三通信者从第二签名信息中随机选择若干个相干态,并记录被选择的相干态的位置序号;

第三通信者根据和第一通信者预设的相干态与二进制比特的对应关系将被选择的相关态转换为相对应的二进制比特串,并将二进制比特串以及位置序号发生给第一通信者;

第一通信者根据对应关系将二进制比特串恢复为相干态,并根据位置序号将恢复的若干个相干态与步骤3中第二签名信息中同一位置序号的相干态进行比较,记录不匹配第二概率;

若不匹配第二概率小于预设第二阈值,则执行验证第二签名信息是否有效。

第一通信者与第三通信者之间的安全性验证,进一步实现了不可伪造性,提高了电子签名的安全性。

优选地,步骤1具体包括:

基于量子密钥分配协议第一通信者和第二通信者分别获取第一原始密钥,第一通信者和第三通信者分别获取第二原始密钥,第二通信者与第三通信者分别获取第三原始密钥;

其中,第一原始密钥、第二原始密钥和第三原始密钥是二进制的比特串;

基于预设目标密钥获取方法分别根据第一原始密钥、第二原始密钥以及第三原始密钥中0和1的位置和数量来获取相对应的第一目标密钥、第二目标密钥以及第三目标密钥,

其中,预设目标密钥获取方法是根据第一原始密钥、第二原始密钥以及第三原始密钥中0和1的位置、数量与目标密钥中数值的对应关系获取目标密钥;

对应关系为:按照位置序号从小到大的顺序,原始密钥中每个0的位置对应在目标密钥中位置上的数值依次为1、2…α,原始密钥中每个1的位置对应在目标密钥中位置上的数值依次为α+1…α+β,α是原始密钥中0出现的数量;β是原始密钥中1出现的数量。

第一原始密钥、第二原始密钥和第三原始密钥是基于无条件安全的量子密钥分配协议得到,攻击者不可能获得,且目标密钥获取方法也只有合法通信者之间知道,攻击者不知道变化规则,进而提高密钥安全性。且基于原始密钥中每一位为0和1的概率均为1/2,导致原始密钥的长度越长,原始密钥中每个位置均为0或者均为1的概率越小,目标密钥具有越高的有效性,更加提高了利用链式相控加密操作的签名的安全性。

优选地,步骤8中预设规则为:

其中,kro表示预设第一序列,表示预设第一序列kro的第i个值,分别代表第一盲化信息中的第i个相干态的振幅和相位;

krp表示预设第二序列,表示预设第二序列krp的第j个值,分别代表第二盲化信息中的第j个相干态的振幅和相位,表示模二加;

|m>o表示第一信息,且第一信息mo与关系如下:

其中,x表示第一信息mo的长度,表示第一信息mo的第i个二进制比特,且

mp表示第二信息,且第二信息mp与关系如下:

其中,y表示第二信息mp的长度,表示第二信息mp的第j个二进制比特,且表示张量积。

优选地,第一通信者依据长度为x比特的预设第一序列并采用幺正位移算法作用于真空态的方法将长度为x比特的第一信息转换为以相干态形式表达的第一盲化信息,具体包括:

第一通信者获取所述预设第一序列kro和所述第一信息mo中同一位置序号上的信息得到x个二进制信息

第一通信者采用幺正位移算法作用于真空态的方法,并依据获取的x个二进制信息获得以相干态形式表达的第一盲化信息|m>o;

步骤2中第一通信者依据长度为y比特的预设第二序列并采用幺正位移算法作用于真空态的方法将长度为y比特的第二信息转换为以相干态形式表达的第二盲化信息,包括:

第一通信者获取所述预设第二序列krp和所述第二信息mp中同一位置序号上的信息得到y个二进制信息

第一通信者采用幺正位移算法作用于真空态的方法,并依据获取的y个二进制信息获得以相干态形式表达的第二盲化信息|m>p。

有益效果

本发明实施例提供了一种基于链式相控加密操作的量子双重签名的方法,通过链式相控加密操作对盲化后的第一信息和盲化后的第二信息进行签名,使得第一签名信息和第二签名信息中每一个相干态不仅仅与其所对应的目标密钥相关,还与其他的相干态以及目标密钥中其他位置的信息相关,进而加强了签名中相干态之间的联系,不论是目标密钥出错或者被签名的信息出错都将导致加密结果出现明显的错误,从而验证过程可以检测出错误,有效地避免攻击者的伪造信息;

同时该方法通过量子密钥分配协议以及预设目标密钥获取方法获取到第一目标密钥、第二目标密钥以及第三目标密钥,促使攻击者难以破解到目标密钥;

此外,该方法还基于量子双重签名将第一签名信息和第二签名信息进行连接,再次进行链式相控加密操作后发送给第二通信者,进一步提高了信息的安全性。

附图说明

图1是本发明实施例提供的一种基于链式相控加密操作的量子双重签名的方法的示意性流程图;

图2是本发明实施例提供的一种基于链式相控加密操作的量子双重签名的方法在应用场景中的处理流程图;

图3是本发明实施例提供的一种基于链式相控加密操作的量子双重签名的方法在应用场景中的另一处理流程图。

具体实施方式

以下结合附图和具体实施例对本发明进行进一步地说明。

本实施例中包括|α>,|-α>,|iα>,|-iα>四种相干态,下文中任意相干态都属于该四种相干态中的一种。

本实施例中定义一个相控操作其中kj是目标密钥的第j个位置上的数值,代表着ξ类相干态信息中第j个相干态为控制相干态,表示ξ类相干态信息中第kj个相干态为目标相干态,即用控制相干态来控制目标相干态。

具体的,本实施例中根据上述一个相控操作定义一个链式相控加密操作对相干态信息进行签名的方式如下所示:

其中,|s>ξ是利用链式相控加密操作ek得到的信息|m>ξ的签名,ek是目标密钥为k的链式相控加密操作,|m>ξ是以相干态形式表达的ξ类信息;

是以为控制相干态,为目标相干态的相控加密操作;

是信息|m>ξ中第n个相干态,是信息|m>ξ中第n-1个相干态,表示信息|m>ξ中第j个相干态,是信息|m>ξ中第kn个相干态,是信息|m>ξ中第kn-1个相干态,表示信息|m>ξ中第kj个相干态;kn是目标密钥k中第n个位置上的数值,kn-1是目标密钥k中第n-1个位置上的数值,kj是目标密钥的第j个位置上的数值;

n是信息|m>ξ的长度,n是大于或者等于1的整数,j∈{1,2...n}。

需要说明的是,本实施例中公式(1)中|m>ξ是以相干态形式表达的ξ类信息,其具体可以是以相干态形式表达的盲化信息或者以相干态形式表达的签名,ξ是用于表示信息的类别,例如下文中第一信息中采用o替代ξ;第二信息中采用p替代ξ;第三信息采用op替代ξ。

其中,

其中,xj和pj分别表示的振幅和相位,改变相位为的相移操作,p(π)改变相位为π的相移操作。

例如,p(π)|α>=|-α>;p(π)|iα>=|-iα>;

再例如,目标密钥k={1,4,2,3},相干态组成的ξ类信息|m>ξ=|α>1|-α>2|-iα>3|iα>4,使用目标密钥k对|m>i加密如下所示:

具体的,基于相控操作表示控制相干态控制目标相干态进行变换,其中代表控制相干态,表示目标相干态,故时用第1个相干态控制第1个相干态,因此执行相移操作p(0),得到|α>1|-α>2|-iα>3|iα>4;时用第2个相干态控制第4个相干态,执行相移操作得到|α>1|-α>2|-iα>3|-α>4;时用第3个相干态控制第2个相干态,执行相移操作p(π),得到|α>1|α>2|-iα>3|-α>4;时用第4个相干态控制第3个相干态,执行相移操作得到|α>1|α>2|α>3|-α>4。

此外,本实施例中还定义了与链式相控加密操作相对应的相控解密操作,利用相控解密操作对签名进行解密的公式如下所示;

其中,|s>ξ是利用链式相控加密操作ek得到的信息|m>ξ的签名,ek是目标密钥为k的链式相控加密操作,|m>ξ是以相干态形式表达的ξ类信息;

是以为控制相干态,为目标相干态的相控解密操作;

是签名|s>ξ中第n个相干态,表示签名|s>ξ中第j个相干态,是签名|s>ξ中第kn个相干态表示签名|s>ξ中第kj个相干态;

kn是目标密钥k中第n个位置上的数值,kj是目标密钥的第j个位置上的数值。

其中,

其中,xj(s)和pj(s)分别表示的振幅和相位,改变相位为的相移操作,p(-π)改变相位为-π的相移操作。

例如,对上述目标密钥k={1,4,2,3},使用链式相控加密操作加密后的签名|s>i进行解密有:

本实施例中,通过50:50平衡分光器可以确定振幅和相位是否为0。详细地,将相干态|α>输入分光器一个模,将待测的相干态输入另一个输入模。若待测相干态为|α>和|-α>,即振幅不等于0而相位等于0,则两个输出模中必定有一个结果为真空态|0>。若待测相干态为|iα>和|-iα>,即相位不等于0而振幅等于0,则两个输出模的结果中不存在真空态。

本发明实施例中,第一通信者包括长度为x的第一信息mo和长度为y的第二信息mp,其中第一信息mo和第二信息mp分别表示为如下所示:

其中,x表示第一信息mo的长度,表示第一信息mo的第i个二进制比特,且y表示第二信息mp的长度,表示第二信息mp的第j个二进制比特,且表示张量积。

x、y为大于或等于1的整数。

如图1所示,本发明实施例提供的一种基于链式相控加密操作的量子双重签名的方法至少包括以下步骤1-步骤8:

步骤1:基于量子密钥分配协议以及预设目标密钥获取方法,参与通信的通信者获取对应目标密钥。

其中,目标密钥长度为n,目标密钥中每一位的取值范围为[1,n]之间的整数,且每一位的取值是不相同的,n为大于或等于1的整数。

其中,第一通信者和第二通信者分别获取第一目标密钥kab,第一通信者和第三通信者分别获取第二目标密钥kat,第二通信者与第三通信者分别获取第三目标密钥kbt。

并且本实施例中,第一目标密钥kab长度为n为x+y;且第二目标密钥kat长度为n为y;且第三目标密钥kbt长度为n为y。

优选地,步骤1具体包括以下步骤a-步骤b:

步骤a:基于量子密钥分配协议第一通信者和第二通信者分别获取第一原始密钥,第一通信者和第三通信者分别获取第二原始密钥,第二通信者与第三通信者分别获取第三原始密钥;

其中,第一原始密钥、第二原始密钥和第三原始密钥是二进制的比特串,且长度分别为x+y比特、y比特和y比特,进而使得第一目标密钥、第二目标密钥以及第三目标密钥的数字长度分别为x+y,y,y。应当理解,量子密钥分配协议(quantumkeydistribution)是无条件安全协议,进一步防止攻击者获取到初始密钥。

步骤b:基于预设目标密钥获取方法分别根据第一原始密钥、第二原始密钥以第三原始密钥中0和1的位置和数量来获取相对应的第一目标密钥、第二目标密钥以及第三目标密钥,

其中,预设目标密钥获取方法是第一原始密钥、第二原始密钥以及第三原始密钥中0和1的位置、数量与目标密钥中数值的对应关系获取目标密钥。

具体的,对应关系为:按照位置序号从小到大的顺序,原始密钥中每个0的位置对应在目标密钥中所述位置上的数值依次为1、2…α,原始密钥中每个1的位置对应在目标密钥中所述位置上的数值依次为α+1…α+β,α是原始密钥中0出现的数量;β是原始密钥中1出现的数量。

例如,原始密钥中第一个0的位置对应在目标密钥上同一位置的数值为1;第二个0的位置对应在目标密钥中同一位置的数值为2;最后一个0的位置对应在目标密钥中同一位置的数值为α,第一个1的位置对应在目标密钥中同一位置的数值为α+1,第二个1的位置对应在目标密钥中同一位置的数值为α+2,以此类推,最后一个1的位置对应在目标密钥中同一位置的数值为α+β。若第一原始密钥为{00101},则第一目标密钥为{1,2,4,3,5}。

步骤2:第一通信者依据预设序列并采用幺正位移算法作用于真空态的方法将信息转换为以相干态形式表达的盲化信息,并发送给其余通信者。

其中,信息是第一通信者待发送给其余通信者的信息,本实施例中该信息包括第一信息和第二信息。

第一通信者依据长度为x比特的预设第一序列kro并采用幺正位移算法作用于真空态的方法将长度为x比特的第一信息mo转换为以相干态形式表达的第一盲化信息|m>o,并发送给第二通信者;以及依据长度为y比特的预设第二序列krp并采用幺正位移算法作用于真空态的方法将长度为y比特的第二信息mp转换为以相干态形式表达的第二盲化信息|m>p,并发送给第三通信者。

本实施例中用mo表示第一信息,mp表示第二信息,kro表示预设第一序列,krp表示预设第二序列。其中,预设第一序列和预设第二序列是随机选择的二进制序列,其与第一信息和第二信息中二进制比特进行组合生成用于制备相干态,其中,表示第一序列kro的第i个值,表示第一信息mo的第i个二进制比特,表示二进制的第二序列krp的第j个值,表示第二信息mp的第j个二进制比特。

优选地,步骤2中第一通信者依据长度为x比特的预设第一序列并采用幺正位移算法作用于真空态的方法将长度为x比特的第一信息转换为以相干态形式表达的第一盲化信息,具体包括步骤c和步骤d:

步骤c:第一通信者获取预设第一序列kro和第一信息mo中同一位置序号上的信息得到x个二进制信息

步骤d:第一通信者采用幺正位移算法作用于真空态的方法,并依据获取的x个二进制信息获得以相干态形式表达的第一盲化信息|m>o:

其中,|m>o为第一信息的相干态形式,为|m>o中的第i个相干态,x为第一信息的长度,为张量积。

例如,为00、01、10和11,分别制备得到|α>、|-α>、|-iα>和|iα>相干态。

优选地,步骤2中第一通信者依据长度为y比特的预设第二序列并采用幺正位移算法作用于真空态的方法将长度为y比特的第二信息转换为以相干态形式表达的第二盲化信息,包括步骤e和步骤f:

步骤e:第一通信者获取所述预设第二序列krp和所述第二信息mp中同一位置序号上的信息得到y个二进制信息

步骤f:第一通信者采用幺正位移算法作用于真空态的方法,并依据获取的y个二进制信息获得以相干态形式表达的第二盲化信息|m>p:

其中,|m>p为第二信息的相干态形式,为|m>p中的第j个相干态,y为第二信息的长度,为张量积。

例如,为00、01、10和11,分别制备得到|iα>、|-iα>、|-α>和α>相干态。

步骤3:第一通信者基于链式相控加密操作获取第一盲化信息的第一签名信息和第二盲化信息的第二签名信息。

其中,第一通信者根据第二目标密钥以及链式相控加密操作第二盲化信息|m>p进行签名得到第二签名信息|s>p,以及根据第一目标密钥的前x位以及链式相控加密操作对步骤2中第一盲化信息|m>o进行签名得到第一签名信息|s>o。

具体的,根据上述公式(1)和(2),根据第二目标密钥kat以及链式相控加密操作对|m>p进行签名如下所示:

其中,公式(1)中|m>ξ的ξ类信息此时用p标记替代,用于标记第二盲化信息|m>p;是目标密钥为第二目标密钥kat的链式相控加密操作,y为第二信息mp的长度,表示|m>p中第y个相干态,表示|m>p中第y-1个相干态,以此类推;表示|m>p中第个相干态,表示|m>p中第个相干态,以此类推;表示第二目标密钥kat中第y个位置上的数值,表示第二目标密钥kat中第y-1个位置上的数值,以此类推。

根据上述公式(1)和(2),根据第一目标密钥kab的前x位以及链式相控加密操作对|m>o进行签名如下所示:

其中,公式(1)中|m>ξ的ξ类信息此时用o标记替代,用于标记第一盲化信息|m>o;是目标密钥为第一目标密钥kab的前x位的链式相控加密操作,x为第一信息mo的长度,表示|m>o中第x个相干态,表示|m>o中第x-1个相干态,以此类推;表示|m>o中第个相干态,表示|m>o中第个相干态,以此类推;表示第一目标密钥kab前x个值中第x个值,表示第一目标密钥kab前x个值中第x-1个值,以此类推。

步骤4:第一通信者基于张量积计算方法以及链式相控加密操作并依据第一签名信息和第二签名信息生成量子双重签名。

其中,第一通信者通过张量积的计算将步骤3中第二签名信息|s>p和步骤3中第一签名信息|s>o进行连接生成相干态的第三信息|m>op;并根据第一目标密钥以及链式相控加密操作对第三信息|m>op进行签名获得量子双重签名|s>d,并发送给第二通信者。

其中,

由于|s>o是由长度为x的第一信息mo经链式相控加密操作而来,|s>p是由长度为y的第一信息mp经链式相控加密操作而来,因此生成了长度为x+y的签名|s>d。

具体的,根据上述公式(1)和(2),根据第一目标密钥kab以及链式相控加密操作对|m>op进行签名如下所示:

其中,公式(1)中|m>ξ的ξ类信息此时用op标记替代,用于标记相干态的第三信息|m>op;ekab是目标密钥为第一目标密钥kab的链式相控加密操作,x+y为量子双重签名|s>d的长度,表示|m>op中第x+y个相干态,表示|m>op中第x+y-1个相干态,以此类推;表示|m>op中第个相干态,表示|m>op中第个相干态,以此类推;表示第一目标密钥kab中第x+y个位置上的数值,即最后一个值,表示第一目标密钥kab中第x+y-1个位置上的数值,即倒数第二个位置上的数值,以此类推。

步骤5:第二通信者利用第一目标密钥以及预设的相控解密操作解密步骤4中的量子双重签名|s>d而获得步骤3中第一签名信息|s>o和第二签名信息|s>p;

其中,预设的相控解密操作是与链式相控加密操作相对应的相控解密操作。

具体的,根据上述公式(3)和公式(4)解密量子双重签名|s>d,即通过其中,是目标密钥为第一目标密钥kab的相控解密操作,获得|m>op后将其分为x和y的两部分,即得到了签名|s>o和|s>p。

步骤6:第二通信者验证步骤5中的第一签名信息|s>o是否有效,若有效,第二通信者利用第三目标密钥以及链式相控加密操作对步骤5中第二签名信息|s>p进行再次签名,并发送给第三通信者。

具体的,本实施例中优选验证步骤5中的第一签名信息|s>o是否有效包括步骤m和步骤n:

步骤m:第二通信者根据第一目标密钥的前x位以及链式相控加密操作对从步骤2中接收的第一盲化信息|m>o进行签名得到第一信息的验证信息|s>′o。

具体的,根据上述公式(1)和公式(2),基于第一目标密钥kab的前x位以及链式相控加密操作对|m>o进行签名如下所示:

其中,是目标密钥为第一目标密钥kab的前x位的链式相控加密操作。

步骤n:判断第一信息的验证信息|s>′o与步骤5中的第一签名信息|s>o是否相等,若相等,步骤5中的第一签名信息|s>o有效,若不相等,则无效。

具体的,

用vb表示验证结果,若vb等于0,视为步骤5中的第一签名信息|s>o无效,第二通信者直接拒绝量子双重签名;若vb等于1,视为步骤5中的第一签名信息|s>o有效。

若vb等于1,步骤6中第二通信者利用第三目标密钥以及链式相控加密操作对步骤5中第二签名信息|s>p进行再次签名时,根据上述公式(1)和(2)得出:

|s>t=ekbt(|s>p)

其中,此时用以相干态形式表达的第二签名信息|s>p作为公式(1)中的以相干态形式表达的信息|m>ξ;

是目标密钥为第三目标密钥kbt的链式相控加密操作,|s>t是利用第三目标密钥以及链式相控加密操作对步骤5中第二签名信息|s>p进行再次签名得到的签名。

步骤7:第三通信者利用第三目标密钥以及预设的相控解密操作解密步骤6中的被再次签名的信息而获得第二签名信息|s>p,并验证第二签名信息|s>p是否有效,若有效,第一通信者发送预设序列给其余通信者,

其中,第一通信者将预设第一序列发送给第二通信者,预设第二序列发送给第三通信者。

具体的,根据上述公式(3)和公式(4)解密步骤6中的被再次签名的信息|s>t,即通过|s>p=dkbt|s>t,dkbt是目标密钥为第三目标密钥kbt的相控解密操作。

本实施例中优选步骤7中第三通信者验证第二签名信息|s>p是否有效,具体包括步骤s和步骤t:

步骤s:第三通信者根据第二目标密钥以及链式相控加密操作对从步骤2中接收的第二盲化信息|m>p进行签名得到第二信息的验证信息|s>′p。

具体的,根据上述公式(1)和公式(2),基于第二目标密钥kat以及链式相控加密操作对|m>p进行签名如下所示:

其中,是目标密钥为第二目标密钥kat的链式相控加密操作。

步骤t:判断第二信息的验证信息|s>′p与步骤7中的第二签名信息|s>p是否相等,若相等,步骤7中的第二签名信息|s>p有效,若不相等,则无效。

具体的,

用vt表示验证结果,若vt等于0,视为步骤7中的第二签名信息|s>p无效;若vb等于1,视为步骤7中的第二签名信息|s>p有效。

且第三通信者将vt发送给第二通信者,若vb=vt=1,第二通信者认为第一通信者的所有签名是有效的,第二通信者请求第一通信者告知预设第一序列kro,第一通信者将预设第一序列kro告知第二通信者,将预设第二序列krp告知第三通信者。

步骤8:其余通信者基于预设序列和预设规则解密步骤2中的盲化信息;

其中,第二通信者基于预设第一序列以及预设规则解密第一盲化信息使其恢复为第一信息mo,以及第三通信者基于预设第二序列以及预设规则解密第二盲化信息使其恢复为第二信息mp。

优选地,预设规则为:

其中,kro表示第一序列,表示第一序列kro的第i个值,分别代表第一盲化信息中的第i个相干态的振幅和相位;

krp表示第二序列,表示第二序列krp的第j个值,分别代表第二盲化信息|m>p中的第j个相干态的振幅和相位,表示模二加;

又基于第一信息mo与如下关系以及第二信息mp与如下关系,进而得出第一信息mo和第二信息mp。

其中,x表示第一信息mo的长度,表示第一信息mo的第i个二进制比特,且表示张量积;

且第二信息mp与关系如下:

其中,y表示第二信息mp的长度,表示第二信息mp的第j个二进制比特,且表示张量积。

基于上述方案,进一步优选地,步骤4和步骤5之间还包括:

步骤o:第二通信者从步骤4中的量子双重签名|s>d中随机选择若干个相干态,并记录被选择的相干态的位置序号;

步骤p:第二通信者根据和第一通信者预设的量子双重签名的相干态与二进制比特的对应关系,将被选择的相干态转换为相对应的二进制比特串,并将二进制比特串以及位置序号发送给第一通信者;

例如用00、01、10和11分别对应相干态|α>、|iα>、|-α>和|-iα>。

需要说明的是,将相干态转换为二进制比特串后再进行传输,可以节省传输成本以及提高传输效率。

步骤q:第一通信者根据对应关系将二进制比特串恢复为相干态,并根据位置序号将恢复的若干个相干态与步骤4中量子双重签名|s>d中同一位置序号的相干态进行比较,并记录不匹配第一概率;

步骤r:若不匹配第一概率小于预设第一阈值,则执行步骤5;否则,流程结束。

例如用错误率表示不匹配第一概率;εb表示预设第一阈值。

进一步优选地,步骤7中第三通信者获得第二签名信息|s>p之后以及验证第二签名信息|s>p是否有效之前,包括:

步骤u:第三通信者从第二签名信息|s>p中随机选择若干个相干态,并记录被选择的相干态的位置序号;

步骤v:第三通信者根据和第一通信者预设的相干态与二进制比特的对应关系将被选择的相关态转换为相对应的二进制比特串,并将二进制比特串以及位置序号发生给第一通信者;

步骤w:第一通信者根据对应关系将二进制比特串恢复为相干态,并根据位置序号将恢复的若干个相干态与步骤3中第二签名信息|s>p中同一位置序号的相干态进行比较,记录不匹配第二概率;

步骤x:若不匹配第二概率小于预设第二阈值,则执行第三通信者验证第二签名信息|s>p是否有效;否则,流程结束。

例如用错误率表示不匹配第二概率;εt表示预设第二阈值。

基于上述实施例给出的一种基于链式相控加密操作的量子双重签名的方法,将其应用于具体应用场景中,下文将对一个应用场景进行具体描述。

该应用场景为电子商务系统,第一通信者为顾客客户端;第二通信者为商家客户端;第三通信者为银行客户端,第一信息表示订单信息,第二信息表示支付信息。

参见图2,顾客客户端分别对订单信息以及支付信息进行盲化以及签名处理,再将签名后的订单信息和支付信息进行连接生成量子双重签名,再将量子双重签名发生给商家客户端,供商家客户端验证订单信息的签名以及供银行客户端验证支付信息的签名。

其中,由商家客户端将支付信息的签名转发给银行客户端,且商家客户端转发之前进行对订单信息的签名进行了验证,满足了在实际应用场景中,银行验证之前,商家需要验证顾客身份以及订单信息的需求。

参见图3,基于本发明实施例中提供的一种基于链式相控加密操作的量子双重签名的方法,该应用场景中,顾客客户端、商家客户端以及银行客户端之间实现了基于链式相控加密操作的量子双重签名,保证了三方之间的安全交易,提高了电子签名的安全性。

此外,通过本发明实施例不仅仅提高了电子签名安全性,同时还实现了签名者的不可否认性,即保证了签字者完成签名后不能否认自己的签名行为,以及验证者的不可抵赖性,具有更加广泛的应用空间。

应当理解,以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的范围内可对其进行许多修改,但都将落入本发明的保护范围内。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

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