一种基于相位编码的量子数字签名方法及系统与流程

文档序号:29228460发布日期:2022-03-12 13:23阅读:145来源:国知局
一种基于相位编码的量子数字签名方法及系统与流程

1.本发明涉及量子数字签名技术领域,具体涉及一种基于相位编码的量子数字签名方法及系统。


背景技术:

2.量子数字签名是量子密码领域研究的一个方向,其目的是找到在未来量子时代现有的基于数学问题计算复杂度的公钥密码系统失效后能够代替其发挥签名作用的量子系统。理想的量子数字签名方案可以在量子计算技术成熟的未来保障信息网络的安全性,而且由于其“绝对安全性”特点,相比在足够强算力下能够被破解的公钥密码系统数字签名技术有着绝对的优势。
3.然而,目前的量子数字签名方案普遍具有实用性低的缺陷,例如,gottesman和chuang于2001年提出了首个量子数字签名协议,但在实用性上,因为其用到了量子存储等难以部署实施的技术,该协议直接实用化的价值不高。又例如,2016年hl yin等人提出了基于量子密钥分发的量子数字签名协议,其移除了认证量子信道的假设且降低了实现量子数字签名的技术要求,提高了量子数字签名技术的实用性,但是因为该协议每一轮签名只能针对一个比特的数据进行,生成签名需要消耗大量的通信资源,签名的效率还是很低,依然难以用于实际的数字签名场景。
4.综上所述,能够发现,目前的量子数字签名方案主要存在以下缺陷:
5.1、现有的量子数字签名协议消耗通讯资源多,签名效率低下;
6.2、现有的量子数字签名协议在在具体投入应用时对系统的要求高,实现难度较大。


技术实现要素:

7.发明目的:为克服现有技术的缺陷,本发明提出一种基于相位编码的量子数字签名方法及系统。
8.技术方案:为实现上述目的,本发明首先提出了一种量子数字签名方法,该方法实施在签名发起端、签名接收端和签名验证端之间,包括以下步骤:
9.(1)签名发起端和签名接收端之间进行密钥协商得到第一密钥;签名发起端和签名验证端之间进行密钥协商得到第二密钥;
10.(2)签名发起端生成一个gf(2)域中的n阶不可约多项式;
11.(3)签名发起端将第一密钥和第二密钥异或后得到第三密钥,从第三密钥中选择长度为n的第一密钥序列,与步骤(2)得到的n阶不可约多项一起生成一个n
×
m的toeplitz矩阵作为哈希函数,其中,m是待发送的消息的长度;
12.(4)签名发起端用步骤(3)生成的哈希函数将待发送的消息映射为n位的摘要;再从第三密钥剩下的部分中选取长度为2n的第二密钥序列,用第二密钥序列对由摘要和不可约多项式除最高项以外的每一项系数组成的字符串进行异或加密操作,得到2n位的数字签
名;
13.(5)签名发起端将消息和数字签名发送给签名接收端;
14.(6)签名接收端将收到的消息和数字签名连同自己的第一密钥一并发送给签名验证端;签名验证端在接收到接收方的消息后,将第二密钥发给签名接收端;
15.(7)签名接收端和签名验证端执行以下步骤:首先将第一密钥和第二密钥异或后得到第三密钥,并采用与发送方相同的方式提取第一密钥序列和第二密钥序列;然后用第二密钥序列解密签名,得到第一摘要和字符串;再用得到的字符串的每一位对应不可约多项式中除最高项以外每一项的系数,生成一个最高项系数为1的不可约多项式;最后用生成的不可约多项式与第一密钥序列一起生成toeplitz矩阵以对消息进行映射,得到第二摘要,比对第一摘要和第二摘要是否一致,一致则接收签名,否则不接受签名。
16.进一步的,所述步骤(2)中生成n阶不可约多项式的方法为:
17.1)签名发起端生成一个n位的随机数,并对生成的随机数进行判断:若随机数的最后一位为0,则令随机数的最后一位为1;或若n位随机数的最后一位为0,则重新生成n位随机数直至生成的n位随机数最后一位为1;
18.2)依次用n位随机数的每一位对应多项式中除最高项以外每一项的系数,生成一个gf(2)域中最高项系数为1的n阶多项式;
19.3)利用fmc算法验证步骤2)得到的n阶多项式是否为不可约多项式,若验证结果为否,则返回步骤1);若验证结果为是,则停止验证,得到不可约多项式。
20.另一方面,本发明提出一种基于相位编码的量子数字签名系统,包括签名发起端、签名接收端和签名验证端,所述签名发起端、签名接收端和签名验证端之间采用所述量子数字签名方法进行量子数字签名。
21.针对所述量子数字签名系统,以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
22.可选的,所述签名发起端包括第一密钥生成模块和第一经典处理模块;所述签名接收端包括第二密钥生成模块和第二经典处理模块;所述签名验证端包括第三密钥生成模块和第三经典处理模块;第一密钥生成模块、第二密钥生成模块和第三密钥生成模块之间以量子信道连接,用于完成签名发起端与签名接收端之间以及签名发起端与签名验证端之间的初始密钥协商过程;第一经典处理模块、第二经典处理模块和第三经典处理模块之间以经典信道连接,用于在初始密钥协商完毕后,对初始密钥进行纠错和隐私放大,以得到签名发起端与签名接收端之间的第一密钥,以及签名发起端与签名验证端之间的第二密钥;还用于完成所述的量子数字签名方法。
23.可选的,所述第一密钥生成模块包括脉冲激光发生模块、强度调制模块、第一分束模块、第一合束模块、第一相位调制模块、时分复用模块;其中,脉冲激光发生模块用于产生脉冲激光,强度调制模块用于对脉冲激光进行强度调制,形成能够用于相位编码的脉冲激光;第一分束模块将入射的脉冲激光分成两路强度相同的激光,并通过保偏光纤分别传输至第一合束模块;第一合束模块将两路激光合束形成在时序上存在一定时间差的水平偏振光和垂直偏振光;第一相位调制模块按照预先的约定选择水平偏振光/垂直偏振光进行相位编码:随机选取x基矢或y基矢,将相应的相位加载到水平偏振光/垂直偏振光上,得到信
号光;时分复用模块用于根据密钥协商的流程选择将信号光传输至签名接收端/签名验证端。
24.可选的,所述第二密钥生成模块和第三密钥生成模块结构完全相同;第二密钥生成模块包括第二相位调制模块、第二分束模块、第二合束模块、第一单光子探测器、第二单光子探测器;其中,第二相位调制模块接收信号光,并对没有经过相位调制的水平偏振光或垂直偏振光进行相位调制:随机选取x基矢或y基矢,将这个基矢对应的相位加载到所选取的水平偏振光/垂直偏振光上;第二分束模块用于将经过第二相位调制模块相位调制后的水平偏振光与垂直偏振光分开,并通过不同长度的传输路径分别传输至第二合束模块,以消除水平偏振光与垂直偏振光之间的延时差;第二合束模块将收到的两路光束合束,再由第一单光子探测器和第二单光子探测器进行干涉测量。
25.可选的,所述第二密钥生成模块和第三密钥生成模块在进行干涉测量后,向第一密钥生成模块公开探测结果;第一、第二、第三密钥生成模块将仅有一个探测器响应的情况记为有效响应,保留有效响应对应的比特作为初始密钥。
26.有益效果:与现有技术相比,本发明具有以下优势:
27.1、本发明所提出的签名方法中,每次签名都先生成密钥,使用部分密钥生成哈希函数,将消息输入哈希函数生成摘要,并利用剩下的密钥对摘要进行加密;通过该过程,我们的每次签名都更会新哈希函数,且对于消息的长度没有限制,这样消耗的通信资源有限,提升了数字签名的效率。
28.2、本发明提出的量子数字签名系统结构简单,易于实现,便于在实际应用场景下实施,充分提高了上述量子数字签名方法的实用性。
附图说明
29.图1为实施例涉及的基于相位编码的量子数字签名系统结构图;
30.图2为第一密钥生成模块、第二密钥生成模块和第三密钥生成模块的具体结构图。
具体实施方式
31.下面将结合附图,对本发明实施例中的技术方案进行描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。
32.在本说明书的描述中“一个实施例”或“一些实施例”等意味着在本说明书的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
33.其中,在本说明书的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,在本技术实施例的描述中,“多个”是指两个或多于两个。
34.在本说明书的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特
征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
35.可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。
36.实施例:
37.本实施例示例性地给出一种基于相位编码的量子数字签名系统,其结构如图1所示,包括签名发起端alice、签名接收端bob与签名验证端charlie。
38.签名发起端alice包括第一密钥生成模块和第一经典处理模块,签名接收端bob包括第二密钥生成模块和第二经典处理模块,签名验证端charlie包括第三密钥生成模块和第三经典处理模块。第一密钥生成模块、第二密钥生成模块和第三密钥生成模块之间以量子信道连接,图1中用虚线表示量子信道。第一经典处理模块、第二经典处理模块和第三经典处理模块之间以经典信道连接,图1中用实线表示经典信道。
39.图2所示为签名第一密钥生成模块、第二密钥生成模块和第三密钥生成模块的具体结构图。
40.第一密钥生成模块包括脉冲激光发生模块1-1、强度调制模块1-2、第一分束模块1-3、第一合束模块1-4、第一相位调制模块1-5、时分复用模块1-6。脉冲激光发生模块1-1用于产生脉冲激光。强度调制模块1-2用于对脉冲激光进行强度调制,该强度调制包括诱骗态调制,以形成能够用于相位编码的脉冲激光。第一分束模块1-3将入射的脉冲激光分成两路强度相同的激光,并通过保偏光纤分别传输至第一合束模块1-4的两个输入端。第一合束模块1-4将两路激光合束形成在时序上存在一定时间差的水平偏振光和垂直偏振光。第一相位调制模块1-5选取水平偏振光或垂直偏振光进行相位调制,具体调制方式为:随机选取x基矢或y基矢,将这个基矢对应的相位加载到所选取的水平偏振光/垂直偏振光上,实现相位调制,得到信号光;x基矢和y基矢之间整体相位相差例如,x基矢为{0,π},y基矢为或者,x基矢为{0,π},y基矢为时分复用模块1-6用于选择将信号光传输至第二密钥生成模块或第三密钥生成模块。
41.第二密钥生成模块包括第二相位调制模块2-1、第二分束模块2-2、第二合束模块2-3、第一单光子探测器2-4、第二单光子探测器2-5。第二相位调制模块2-1接收到信号光之后,对没有经过相位调制的水平偏振光或垂直偏振光进行相位调制,具体为:随机选取x基矢或y基矢,将这个基矢对应的相位加载到所选取的水平偏振光/垂直偏振光上。第二分束模块2-2用于将经过第二相位调制模块2-1相位调制后的水平偏振光与垂直偏振光分开,并使得水平偏振光与垂直偏振光中之前通过长光路延时的偏振光经过短光路传输到第二合束模块2-3,而未延时的偏振光经过长光路传输到第二合束模块2-3,签名发起端的长光路加签名接收端的短光路的距离之和等于签名发起端短光路加签名接收端长光路的距离之和,以此来消除水平偏振光与垂直偏振光在时序上的延时差。第二合束模块2-3将收到的两路光束合束,随后由第一单光子探测器2-4和第二单光子探测器2-5进行干涉测量,如果第一相位调制模块1-5和第二相位调制模块2-1选择的基矢一致,则只有一个单光子探测器响应,如果第一相位调制模块1-5和第二相位调制模块2-1选择的基矢不一致,则两个单光子
探测器都响应。
42.在本实施例中,脉冲激光发生模块1-1可以采用脉冲激光器实现;强度调制模块1-2可采用强度调制器实现;第一分束模块1-3可采用分束器实现;第一合束模块1-4可采用偏振分束器实现;第一相位调制模块1-5可采用相位调制器实现;时分复用模块1-6采用时分复用器实现。第二相位调制模块2-1和第三相位调制模块3-1可采用相位调制器实现;第二分束模块2-2和第三分束模块3-2可采用偏振分束器实现;第二合束模块2-3和第三合束模块3-3可采用分束器实现。
43.在进行密钥协商过程时,签名发起端alice、签名接收端bob与签名验证端charlie之间预先约定好密钥分配时相位调制的顺序,比如约定好当签名发起端alice对水平偏振光进行相位调制时,签名接收端bob与签名验证端charlie对垂直偏振光进行相位调制。此外,签名发起端alice、签名接收端bob与签名验证端charlie之间还要预先约定好编码方式,比如当发起端alice选择x基矢{0,π}时,那么相位0对应比特0,相位π对应比特1;又或者当发起端alice选择y基矢时,那么相位对应比特0,相位对应比特1。
44.签名接收端bob在进行干涉测量后,向签名发起端alice公布测量结果。将只有一个探测器响应记为有效事件,签名发起端alice和签名接收端bob分别保留有效事件对应的比特,作为签名发起端alice和签名接收端bob之间的初始密钥。
45.第三密钥生成模块与第二密钥生成模块的结构完全一致,包括第三相位调制模块3-1、第三分束模块3-2、第三合束模块3-3、第三单光子探测器3-4、第四单光子探测器3-5,第三密钥生成模块中各模块的功能与第二密钥生成模块中相应模块的功能一致,在此不再赘述。第三密钥生成模块与第一密钥生成模块之间也参照上述方式完成签名发起端alice和签名验证端charlie之间的密钥协商过程,得到签名发起端alice和签名验证端charlie之间的初始密钥。
46.得到初始密钥后,签名发起端alice与签名接收端bob之间,以及签名发起端alice与签名验证端charlie之间,通过各自的经典模块,对持有的初始密钥进行纠错和隐私方法,得到最终的密钥。
47.完成密钥协商之后,记alice和bob间生成的密钥为k
ab
,charlie和alice间生成的密钥为k
ac
。下面以k
ab
和k
ac
的长度为256比特为例详细阐述alice、bob和charlie之间的签名过程。
48.步骤1:alice生成一个gf(2)域中的n阶不可约多项式,具体步骤为:
49.1)alice生成一个n位的随机数,并对生成的随机数进行判断:若随机数的最后一位为0,则令随机数的最后一位为1;或若n位随机数的最后一位为0,则重新生成n位随机数直至生成的n位随机数最后一位为1;
50.2)依次用n位随机数的每一位对应多项式中除最高项以外每一项的系数,生成一个gf(2)域中最高项系数为1的n阶多项式;
51.3)利用fmc算法验证步骤2)得到的n阶多项式是否为不可约多项式,若验证结果为否,则返回步骤1);若验证结果为是,则停止验证,得到不可约多项式。
52.步骤2:alice将k
ab
和k
ac
异或后得到密钥k,然后从密钥k中取出n比特的第一密钥序列,与步骤1得到的n阶不可约多项式一起生成一个n
×
m的toeplitz矩阵作为哈希函数,m
是待发送的消息的长度。将消息输入toeplitz矩阵,得到n比特的摘要。alice再从k中取n比特作为第二密钥序列,用第二密钥序列对由摘要和不可约多项式除最高项以外的每一项系数组成的字符串进行异或加密操作,得到2n位的数字签名。
53.具体的,用第二密钥序列对由摘要和不可约多项式除最高项以外的每一项系数组成的字符串进行异或加密操作的具体步骤为:
54.设第一密钥序列为t表示转置,不可约多项式p1(x)的系数向量为则有如下递推规则:则有如下递推规则:
……
,因此,toeplitz矩阵的形式如下:
[0055][0056]
对于一个m比特的消息mes=(b1,b2,b3,...,bm)
t
,toeplitz矩阵的映射结果为:
[0057][0058]
也就是说,toeplitz矩阵可以将一个m比特的消息,映射为一个n比特的摘要。
[0059]
接下来,我们取长度为2n位的第二密钥序列ya=(c1,c2,

,c
2n
)
t
,对由摘要和不可约多项式除最高项以外的每一项系数组成的字符串(d1,d2,

,dn,a0,a1,

,a
n-1
)进行异或加密操作,得到2n位的数字签名。
[0060]
步骤3:alice将消息和数字签名发送给bob;
[0061]
步骤4:bob将收到的消息和数字签名连同自己的密钥k
ab
一并发送给charlie;charlie在接收到bob的消息后,将k
ac
发给bob;
[0062]
步骤5:bob和charlie执行以下步骤:首先将k
ab
和k
ac
异或后得到k,并采用与alice相同的方式提取第一密钥序列和第二密钥序列;然后用第二密钥序列解密签名,得到第一摘要和字符串;再用得到的字符串的每一位对应不可约多项式中除最高项以外每一项的系数,生成一个最高项系数为1的不可约多项式;最后用生成的不可约多项式与第一密钥序列一起生成toeplitz矩阵以对消息进行映射,得到第二摘要,比对第一摘要和第二摘要是否一致,一致则接收签名,否则不接受签名。
[0063]
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1