一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种有效量子密钥获得方法及装置与流程

2022-10-17 05:20:31 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,特别是涉及一种有效量子密钥获得方法及装置。


背景技术:

2.为了保证数据交互双方数据交互过程的安全性,在进行数据交互前数据交互双方可以首先交互密钥,则发送方可以采用密钥对数据进行加密后再传输加密数据,接收方在接收到加密数据后可以采用相同的密钥对加密数据进行解密。由于仅有数据交互双方能够获得上述密钥,其他设备即使获取到所传输的加密数据也无法对加密数据进行解密,因此使用密钥可以保证数据传输的安全性。
3.量子密钥是一种安全度较高的密钥,量子密钥交互双方可以通过量子信道交互量子密钥,再基于量子密钥进行加密数据传输。但受到光量子特性的影响,量子密钥在传输过程中容易受到干扰,导致量子密钥交互双方获得的量子密钥不同,此类量子密钥为无效量子密钥。为了解决上述问题亟需一种获得有效量子密钥的方法。


技术实现要素:

4.本发明实施例的目的在于提供一种有效量子密钥获得方法及装置,以保证量子密钥交互双方获得相同的有效量子密钥。具体技术方案如下:
5.第一方面,本发明实施例提供了一种有效量子密钥获得方法,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于第一交互设备,所述方法包括:
6.获得第一量子密钥,将第一量子密钥作为第一译码数据;
7.计算所述第一译码数据的第一摘要值;
8.确定所述第一摘要值与第二摘要值是否相同,其中,所述第二摘要值为:所述第二交互设备对第二译码数据进行计算得到的摘要值,所述第二译码数据在第二量子密钥中的位置与所述第一译码数据在第一量子密钥中的位置相同,所述第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,所述第二量子密钥为:所述第二交互设备获得到的量子密钥;
9.若相同,则将第一译码数据确定为目标数据;
10.若不同,则对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一第一译码数据,返回执行所述计算所述第一译码数据的第一摘要值的步骤;
11.若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
12.本发明的一个实施例中,所述确定所述第一摘要值与第二摘要值是否相同,包括:
13.接收第二交互设备发送的第二摘要值;
14.对比所述第一摘要值与所述第二摘要值,确定所述第一摘要值与第二摘要值是否相同。
15.本发明的一个实施例中,所述确定所述第一摘要值与第二摘要值是否相同,包括:
16.向第二交互设备发送第一摘要值,使得所述第二交互设备对比所述第一摘要值与第二摘要值,并向所述第一交互设备反馈对比结果;
17.基于接收到的对比结果确定所述第一摘要值与第二摘要值是否相同。
18.本发明的一个实施例中,所述对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,包括:
19.采用二分法对所述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
20.本发明的一个实施例中,所述预设终止条件为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
21.第二方面,本发明实施例提供了一种有效量子密钥获得装置,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于第一交互设备,所述装置包括:
22.译码数据获得模块,用于获得第一量子密钥,将第一量子密钥作为第一译码数据;
23.第一摘要值计算模块,用于计算所述第一译码数据的第一摘要值;
24.摘要值对比模块,用于确定所述第一摘要值与第二摘要值是否相同,其中,所述第二摘要值为:所述第二交互设备对第二译码数据进行计算得到的摘要值,所述第二译码数据在第二量子密钥中的位置与所述第一译码数据在第一量子密钥中的位置相同,所述第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,所述第二量子密钥为:所述第二交互设备获得到的量子密钥;
25.目标数据确定模块,用于在所述摘要值对比模块确定所述第一摘要值与第二摘要值相同的情况下,则将第一译码数据确定为目标数据;
26.译码数据划分模块,用于在所述摘要值对比模块确定所述第一摘要值与第二摘要值不同的情况下,对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一第一译码数据,触发执行所述第一摘要值计算模块;
27.有效密钥获得模块,用于若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
28.本发明的一个实施例中,所述摘要值对比模块,具体用于:
29.接收第二交互设备发送的第二摘要值;
30.对比所述第一摘要值与所述第二摘要值,确定所述第一摘要值与第二摘要值是否相同。
31.本发明的一个实施例中,所述摘要值对比模块,具体用于:
32.向第二交互设备发送第一摘要值,使得所述第二交互设备对比所述第一摘要值与第二摘要值,并向所述第一交互设备反馈对比结果;
33.基于接收到的对比结果确定所述第一摘要值与第二摘要值是否相同。
34.本发明的一个实施例中,所述译码数据划分模块,具体用于:
35.在所述摘要值对比模块确定所述第一摘要值与第二摘要值不同的情况下,采用二分法对所述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译
码数据。
36.本发明的一个实施例中,所述预设终止条件为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
37.第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
38.存储器,用于存放计算机程序;
39.处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的方法步骤。
40.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的方法步骤。
41.第五方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的方法步骤。
42.本发明实施例有益效果:
43.本发明实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
44.由此可见,通过本发明实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
附图说明
45.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
46.图1为本发明实施例提供的第一种有效量子密钥获得方法的流程示意图;
47.图2为本发明实施例提供的一种目标数据确定流程图;
48.图3为本发明实施例提供的第二种有效量子密钥获得方法的流程示意图;
49.图4为本发明实施例提供的第三种有效量子密钥获得方法的流程示意图;
50.图5为本发明实施例提供的第四种有效量子密钥获得方法的流程示意图;
51.图6为本发明实施例提供的第五种有效量子密钥获得方法的流程示意图;
52.图7为本发明实施例提供的一种有效量子密钥获得装置的结构示意图;
53.图8为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
54.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本发明保护的范围。
55.本发明实施例提供了一种有效量子密钥获得方法,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于第一交互设备,上述方法包括:
56.获得第一量子密钥,将第一量子密钥作为第一译码数据;
57.计算上述第一译码数据的第一摘要值;
58.确定上述第一摘要值与第二摘要值是否相同,其中,上述第二摘要值为:上述第二交互设备对第二译码数据进行计算得到的摘要值,上述第二译码数据在第二量子密钥中的位置与上述第一译码数据在第一量子密钥中的位置相同,上述第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,上述第二量子密钥为:上述第二交互设备获得到的量子密钥;
59.若相同,则将第一译码数据确定为目标数据;
60.若不同,则对上述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一第一译码数据,返回执行所述计算所述第一译码数据的第一摘要值的步骤;
61.若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
62.由以上可见,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
63.由此可见,通过本发明实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
64.首先对量子密钥交互的过程进行说明,本发明实施例中,量子密钥交互双方可以基于bb84协议或现有技术中的其他协议实现量子密钥的交互过程。
65.在量子密钥交互双方基于bb84协议进行量子密钥交互的情况下,可以将量子密钥交互双方分为密钥发送方与密钥接收方,密钥发送方首先生成包含预设数量位的的随机二进制数,为随机二进数的每一位设置基矢,再对随机二进制数进行光量子调制,得到光量子。
66.并且,密钥接收方同样配置预设数量个基矢,每一基矢对应一个二进制位。
67.密钥发送方通过量子信道将光量子发送至密钥接收方,密钥接收方解析光量子得到随机二进制数。
68.密钥发送方与密钥接收方分别向对方发送自身设置的基矢,并且分别按位对比自
身设置的基矢以及接收到的基矢,确定所对应的基矢相同的二进制位。
69.密钥发送方与密钥接收方分别将自身确定的、基矢相同的二进制位按照其在随机二进制位中的前后顺序进行组合,得到量子密钥。
70.在上述过程中,密钥发送方与密钥接收方均基于密钥发送方生成的随机二进制数获得量子密钥,而上述随机二进制数是密钥发送方以光量子的形式发送至密钥接收方的,受到光量子的量子力学特性的影响,光量子在传输过程中容易受到干扰发生变化,使得密钥接收方接收到的光量子与密钥发送方发送的光量子不同,进而使得密钥接收方获得的随机二进制数与密钥发送方生成的随机二进制数不同,最终导致密钥接收方基于随机二进制数获得的量子密钥与密钥发送方基于随机二进制数获得的量子密钥不同,造成密钥交互双方获得无效量子密钥的问题。
71.另外,上述密钥交互双方互相传输的基矢是从随机二进制数中提取量子密钥的基础,需要保证基矢在传输过程中不发生变化,才能实现准确的量子密钥提取。因此密钥交互双方可以通过量子通道之外的其他稳定性更高的通道传输基矢,量子通道之外的其他通道可以被称为经典通道。
72.由以上可见,现有技术中量子密钥交互双方获得到的量子密钥可能为不相同的无效量子密钥,为了解决上述问题,本发明实施例提供了一种有效量子密钥获得方法及装置。
73.参见图1,为本发明实施例提供的第一种有效量子密钥获得方法的流程示意图,进行量子密钥交互的任一设备作为第一交互设备,另一设备作为第二交互设备,应用于第一交互设备,通过以下步骤s101-s106同步确定有效量子密钥。
74.s101:获得第一量子密钥,将第一量子密钥作为第一译码数据。
75.具体的,若上述第一交互设备为密钥发送方,则上述第一量子密钥是第一交互设备基于自身生成的随机二进制数生成的量子密钥。若上述第一交互设备为密钥接收方,则上述第一量子密钥是第一交互设备基于自身接收到的随机二进制数生成的量子密钥。上述第一量子密钥由多个二进制位组成。
76.s102:计算上述第一译码数据的第一摘要值。
77.本发明的一个实施例中,第一交互设备可以采用预设的摘要计算方式计算上述第一摘要值,上述预设的摘要计算方式可以为现有技术中的摘要计算方式,例如,可以基于哈希函数计算第一译码数据的第一摘要值,如,上述哈希函数可以为sha224(secure hash algorithm224,安全散列算法224)、sha256(secure hash algorithm256,安全散列算法256)、sha512(secure hash algorithm512,安全散列算法512)等。
78.s103:确定上述第一摘要值与第二摘要值是否相同。
79.其中,上述第二摘要值为:上述第二交互设备对第二译码数据进行计算得到的摘要值。
80.上述第二译码数据在第二量子密钥中的位置与上述第一译码数据在第一量子密钥中的位置相同。上述第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,上述第二量子密钥为:上述第二交互设备获得到的量子密钥。
81.具体的,在上述第一译码数据为第一量子密钥的情况下,第二译码数据为第二量子密钥,也就是在本发明实施例起始状态下第二交互设备同样基于摘要计算方式对第二量子密钥进行摘要值计算,得到第二摘要值。具体的,第二交互设备在获得到第二量子密钥后
同样可以基于前述步骤s102所示的计算方式计算得到的第二摘要值。
82.在上文所示的密钥发送方作为上述第一交互设备的情况下,第二交互设备为上文所示的密钥接收方,在上文所示的密钥接收方作为上述第一交互设备的情况下,第二交互设备为上文所示的密钥发送方。
83.另外,若第一摘要值与第二摘要值相同,则说明第一摘要值对应的第一量子密钥与第二摘要值对应的第二量子密钥相同,则说明第一交互设备获得的第一量子密钥和第二交互设备获得的第二量子密钥均为有效量子密钥,继续执行步骤s104,否则,说明第一量子密钥与第二量子密钥不同,其中包含不同的二进制位,则在未满足预设终止条件的情况下,继续执行步骤s105。
84.否则,若满足预设终止条件,则继续执行步骤s106。
85.此外,对预设终止条件的描述可以参见下文,在此暂不详述。
86.s104:将第一译码数据确定为目标数据。
87.具体的,若第一译码数据对应的第一摘要值与第二译码数据对应的第二摘要值相同,则可以确定第一译码数据与第二译码数据相同,可以将第一译码数据标记为能够组合为有效量子密钥的目标数据。
88.s105:对上述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据。
89.另外,针对每一新的第一译码数据,返回执行上述步骤s102,直至满足预设终止条件。
90.具体的,对原本的第一译码数据进行划分后得到的分组数据的数量可以为预设分组数据数量,例如,2个、3个、4个等,划分后得到的各个分组数据的长度可以相同也可以不同,并且划分得到的分组数据中可以包含相同的二进制位,也可以不包含相同的二进制位。
91.本发明的一个实施例中,可以通过下文所示的步骤a实现上述步骤s105,在此暂不详述。
92.另外,将原本的第一译码数据进行划分得到新的第一译码数据后,与第一译码数据相对应的第二译码数据也会随之更新,相当于第二交互数据采用与第一交互数据相同的数据划分方式对原本的第二译码数据进行划分后得到了新的第二译码数据,新的第二译码数据中包含的比特在第二量子密钥中的位置依旧与新的第一译码数据中包含的比特在第一量子密钥中的位置相同。
93.具体的,针对每一新的第一译码数据,返回执行步骤s102-s103,计算得到新的第一译码数据的第一摘要值并与新的第二译码数据的第二摘要值,继续确定第一摘要值与第二摘要值是否相同,若相同,则执行步骤s104,将该新的第一译码数据作为目标数据,否则,说明该新的第一译码数据与新的第二译码数据不同,针对该新的第一译码数据执行步骤s105,对新的第一译码数据进行进行划分得到各个分组数据,并将各个分组数据再作为新的第一译码数据重新执行步骤s102,依次类推,逐步确定第一量子密钥中包含的目标数据。
94.s106:对所确定的目标数据进行数据组合,得到有效量子密钥。
95.具体的,可以按照各个目标数据在第一量子密钥中的前后顺序将各个目标数组顺序排列组合形成一个有效量子密钥。
96.由以上可见,本发明实施例提供了一种有效量子密钥获得方法,应用于进行量子
密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
97.由此可见,通过本发明实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
98.本发明的一个实施例中,可以通过以下步骤a实现上述步骤s104。
99.步骤a:采用二分法对上述第一译码数据进行平均划分,将划分得到的两个分组数据分别作为新的第一译码数据。
100.具体的,在上述第一译码数据中包含偶数个二进制位的情况下,则进行平均划分后得到的两个分组数据中包含的二进制位相同,在上述第一译码数据中包含奇数个二进制位的情况下,进行平均划分后得到的一个分组数据比另一分组数据多一个二进制位。
101.在第一译码数据与第二译码数据不同的情况下,第一译码数据与第二译码数据中存在不相同的二进制位,但无法确定不相同的二进制位在第一译码数据中的具体位置,为此可以对第一译码数据进行平均划分得到两个平均的分组数据,理论上不相同的二进制位位于两个平均的分组数据中的概率相同,也就是两个平均的分组数据是目标数据的概率相同。
102.若采用非平均划分的方式对第一译码数据进行划分,则划分得到的分组数据中包含的二进制位越多,其中包含不相同的二进制位的概率越大,该分组数据是目标数据的概率越低。也就是在大多数情况下,每次确定目标数据的过程仅能将少部分二进制位确定为目标数据,导致目标数据的总体确定速度较慢,确定得到的目标数据的长度较短。
103.由以上可见,本发明实施例中采用平均划分的方式划分得到两个包含的二进制位相近的分组数据,再分别将分组数据作为新的第一译码数据确定目标数据,可以在总体上提高确定目标数据的速度,进而提高确定有效量子密钥的速度。
104.另外,下面对本发明实施例中的预设终止条件进行说明:
105.上述预设终止条件可以为:划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度。
106.具体的,随着本发明实施例的执行,划分得到的各个分组数据的长度逐渐减小,也就是每次被确定为目标数据的分组数据的长度逐渐减小,在分组数据的长度小于预设的量子密钥长度之后,即使继续对分组数据是否为目标数据进行判断,确定得到的目标数据的长度也较短,此时继续得到的目标数据即使作为有效量子密钥的一部分放入有效量子密钥中,对有效量子密钥也不会造成较大的影响,并且继续进行目标数据的确定会消耗第一交互设备和第二交互设备的计算资源和数据传输资源,因此在分组数据的长度小于预设的量子密钥长度之后,可以停止对目标数据的确认,提升有效量子密钥获得的效率。
107.并且,在现有技术中参与量子密钥交互的双方在初始状态中获得到的量子密钥的
长度均较长,例如为1m、2m等,其中包含的不相同的二进制位的数量不会过多,而对数据进行加密时时实际需要使用的量子密钥的长度往往较短,例如,实际需要使用的量子密钥的长度可以为128bit、256bit等。
108.由此可见,第一交互设备获得的第一量子密钥的长度往往远大于进行数据加密所需的量子密钥的长度,因此所确定的有效量子密钥的总长度不需要过长便能够实现后续的数据加密过程。也就是最终确定的目标数据的总长度不需要过长,因此实际上无需确定第一量子数据中包含的所有与第二量子数据相同的二进制位,同样可以生成足够后续数据加密时使用的有效量子密钥。因此本发明实施例中可以将划分得到的各个分组数据的长度均小于对数据进行加密所需的量子密钥长度作为循环确定目标数据的终止条件,此时虽然划分得到的各个分组数据中还存在有与第二量子密钥中相同的二进制位,但所获得的目标数据的总长度往往已经能够满足后续数据加密的需求,此时停止确定目标数据可以节省第一交互设备与第二交互设备的数据计算与传输资源,提升有效量子密钥获得的效率。
109.另外,上述预设终止条件也可以是对第一译码数据进行划分的次数达到预设次数。
110.或者划分得到的分组数据中均仅包含一个二进制位。具体的,每一分组数据中仅包含一个二进制位,则相当于通过本发明实施例可以确定第一量子密钥中包含的每一与第二量子密钥相同的二进制位,并将所确定的二进制位均作为目标数据,使得基于目标数据得到的有效量子密钥的长度最长。
111.参见图2,为本发明实施例提供的一种目标数据确定流程图。
112.由图可见,本发明实施例由对第一量子密钥的处理开始,首先将第一量子密钥作为第一译码数据与第二译码数据进行对比,图中的第一量子数据上的叉号符号表示第一量子数据与第二量子数据不同,第一量子数据不是目标数据,因此对第一量子数据进行划分得到分组数据1和分组数据2。
113.分别将分组数据1和分组数据2作为新的第一译码数据与新的第二译码数据进行对比,图中分组数据1和分组数据2上的叉号符号表示分组数据1和分组数据2也不是目标数据。
114.分别对分组数据1进行划分,得到分组数据1-1与分组数据1-2,对分组数据2进行划分,得到分组数据2-1与分组数据2-2,分别将分组数据1-1、分组数据1-2、分组数据2-1、分组数据2-2作为新的第一译码数据,图中分组数据1-1、分组数据1-2和分组数据2-2上的叉号符号表示分组数据1-1、分组数据1-2和分组数据2-2也不是目标数据,分组数据2-1上的对号符号表示分组数据2-1是目标数据。
115.继续对分组数据1-1、分组数据1-2和分组数据2-2进行划分,不再对分组数据2-1进行分组划分。对分组数据1-1进行划分可以得到分组数据1-1-1与分组数据1-1-2,对分组数据1-2进行划分可以得到分组数据1-2-1与分组数据1-2-2,对分组数据2-2进行划分可以得到分组数据2-2-1与分组数据2-2-2。图中分组数据1-1-1、分组数据1-2-2、分组数据2-2-2上的对号符号表示分组数据1-1-1、分组数据1-2-2、分组数据2-2-2是目标数据,分组数据1-1-2、分组数据1-2-1与分组数据2-2-1上的叉号符号表示分组数据1-1-2、分组数据1-2-1与分组数据2-2-1不是目标数据。
116.依次类推,继续对分组数据1-1-2、分组数据1-2-1与分组数据2-2-1进行迭代的划
分,最终得到分组数据1
‑……‑
1、分组数据1
‑……‑
2、分组数据2
‑……‑
1、分组数据2
‑……‑
2,满足预设终止条件。其中分组数据1
‑……‑
1上的对号符号表示分组数据1
‑……‑
1是目标数据,分组数据1
‑……‑
2、分组数据2
‑……‑
1、分组数据2
‑……‑
2上的叉号符号表示分组数据1
‑……‑
2、分组数据2
‑……‑
1、分组数据2
‑……‑
2均不是目标数据。
117.则通过本发明实施例获得的目标数据分别为分组数据2-1、分组数据1-1-1、分组数据1-2-2、分组数据2-2-2与分组数据1
‑……‑
1。可以按照各个目标数据在第一量子密钥中的顺序,将各个目标数据组合为有效量子数据。具体的,在本实施例中,按照分组数据1-1-1、分组数据1
‑……‑
1、分组数据1-2-2、分组数据2-1、分组数据2-2-2的顺序组合为一个有效量子数据。
118.参见图3,为本发明实施例提供的第二种有效量子密钥获得方法的流程示意图,与前述图1所示的实施例相比,上述步骤s103可以通过以下步骤s103a-s103b实现步骤s103。
119.s103a:接收第二交互设备发送的第二摘要值。
120.具体的,由于第二摘要值是用于判断第一译码数据和第二译码数据是否相同的依据,为了保证判断结果的准确度,要避免第二摘要值在传输过程中发生变化,因此第二交互设备可以通过相对稳定的经典信道向第一交互设备发送第二摘要值。
121.s103b:对比上述第一摘要值与上述第二摘要值,确定上述第一摘要值与第二摘要值是否相同。
122.具体的,可以对比自身生成的第一摘要值与接收到的第二摘要值,确定第一摘要值与第二摘要值是否相同。
123.并且,在确定对比结果后,第一交互设备可以向第二交互设备发送对比结果,使得第二交互设备也能够确定第一摘要值与第二摘要值是否相同。
124.由以上可见,本发明实施例中第二交互设备在计算得到第二摘要值后可以向第一交互设备发送第一摘要值,第一交互设备可以自行对比第一摘要值与第二摘要值确定两者是否相同。
125.参见图4,为本发明实施例提供的第三种有效量子密钥获得方法的流程示意图,与前述图1相比,上述步骤s103可以通过以下步骤s103c-s103d实现。
126.s103c:向第二交互设备发送第一摘要值,使得上述第二交互设备对比上述第一摘要值与第二摘要值,并向上述第一交互设备反馈对比结果。
127.具体的,由于第一摘要值是用于判断第一译码数据和第二译码数据是否相同的依据,为了保证判断结果的准确度,要避免第一摘要值在传输过程中发生变化,因此第一交互设备可以通过相对稳定的经典信道向第二交互设备发送第一摘要值。
128.第二交互数据接收到第一摘要值后可以对比接收到的第一摘要值和自身生成的第二摘要值,从而确定对比结果。
129.s103d:基于接收到的对比结果确定上述第一摘要值与第二摘要值是否相同。
130.由以上可见,本发明实施例中第一交互设备在计算得到第一摘要值后可以向第二交互设备发送第一摘要值,第二交互设备可以对比第一摘要值与第二摘要值确定两者是否相同,并向第一交互设备反馈对比结果,使得第一交互设备确定第一摘要值与第二摘要值是否相同。
131.具体的,可以将参与量子密钥交互的设备分别称为设备m和设备n,则设备m可以基
于前文所示的步骤s103a-s103b与s103c确定两者生成的摘要值是否相同,设备n同样可以基于前文所示的步骤s103a-s103b与s103c确定两者生成的摘要值是否相同。
132.即设备m可以向设备n发送自身生成的摘要值,设备n同样向设备m发送自身生成的摘要值,设备m与设备n均可以对比自身生成的摘要值和自身接收到的摘要值,分别独自确定两者生成摘要值是否相同。
133.另外,设备m可以基于前文所示的步骤s103a-s103b确定第一摘要值与第二摘要值是否相同,设备n可以基于前文所示的步骤s103c-s103d确定第一摘要值与第二摘要值是否相同。
134.即设备n向设备m发送自身计算得到的摘要值,设备m接收到设备n发送的摘要值后与自身生成的摘要值进行对比,并向设备n发送对比结果,使得设备n也能够确定两个摘要值到的对比结果。与前述确定方式相比,设备m不需要向设备n发送自身生成的摘要值,仅需要设备n向设备m发送自身生成的摘要值便可以确定两者的摘要值是否相同,从而可以节省量子密钥交互双方之间的数据传输资源,提升有效量子密钥获得的效率。
135.参见图5,为本发明实施例提供的第四种有效量子密钥获得方法的流程示意图。
136.由图可见,上述有效量子密钥获得方法包括量子密钥分发过程与有效量子密钥获得过程。具体的,上述量子密钥分发过程是基于bb84协议交互量子密钥的过程。
137.图中的虚线左侧为密钥发送方执行的步骤,虚线右侧为密钥接收方执行的步骤。
138.具体的,上述有效量子密钥获得方法包括以下步骤b1-b19。
139.步骤b1:密钥发送方选择基矢。
140.步骤b2:密钥发送方生成随机二进制数。
141.步骤b3:密钥发送方基于所选择的基矢对随机二进制数进行光量子调制,得到光量子。
142.步骤b4:密钥发送方通过量子信道将光量子发送至密钥接收方。
143.步骤b5:密钥接收方选择基矢。
144.步骤b6:密钥接收方基于基矢对所获得的光量子进行译码。
145.步骤b7:密钥接收方获得二进制数。
146.步骤b8:密钥发送方与密钥接收方通过经典信道交互基矢。
147.步骤b9:密钥发送方基于基矢获得量子密钥,作为译码数据。
148.步骤b10:密钥接收方基于基矢获得量子密钥,作为译码数据。
149.具体的,前述步骤b1-b10与前述量子密钥交互方式相似,在此不再赘述。
150.步骤b11:密钥发送方计算译码数据的摘要值。
151.步骤b12:密钥接收方计算译码数据的摘要值。
152.步骤b13:密钥发送方与密钥接收方通过经典信道交互摘要值。
153.步骤b14:密钥发送方对比摘要值。
154.若摘要值不同,则执行步骤b16。
155.步骤b15:密钥接收方对比摘要值。
156.若摘要值不同,则执行步骤b17。
157.步骤b16:密钥发送方对译码数据进行数据分组,获得新的译码数据。
158.返回执行步骤b11。
159.步骤b17:密钥接收方对译码数据进行数据分组,获得新的译码数据。
160.返回执行步骤b12。
161.返回循环迭代执行步骤b11-b17,直至达到预设终止条件。
162.步骤b18:密钥发送方获得有效量子密钥。
163.步骤b19:密钥接收方获得有效量子密钥。
164.具体的,前述步骤b11-b19与前述图1所示的实施例相似,在此不再赘述。
165.参见图6,为本发明实施例提供的第五种有效量子密钥获得方法的流程示意图,包括以下步骤c1-c18。
166.具体的,上述有效量子密钥获得方法包括量子密钥分发过程与有效量子密钥获得过程。其中,上述量子密钥分发过程是基于bb84协议交互量子密钥的过程。
167.步骤c1:密钥发送方生成随机二进制数。
168.步骤c2:密钥发送方为随机二进制数的每一二进制位选择基矢,并基于基矢对随机二进制数进行光量子调制,得到光量子。
169.步骤c3:密钥发送方通过量子信道将光量子发送至密钥接收方。
170.步骤c4:密钥接收方选择基矢。
171.步骤c5:密钥接收方对所获得的光量子进行译码,得到二进制数。
172.步骤c6:密钥发送方与密钥接收方通过经典信道交互基矢。
173.步骤c7:密钥发送方将所对应的基矢相同的二进制位确定为译码数据。
174.步骤c8:密钥接收方将所对应的基矢相同的二进制位确定为译码数据。
175.具体的,前述步骤c1-c8与前述量子密钥交互方式相似,在此不再赘述。
176.步骤c9:密钥发送方计算译码数据的摘要值。
177.步骤c10:密钥接收方计算译码数据的摘要值。
178.步骤c11:密钥发送方与密钥接收方通过经典信道交互并对比摘要值。
179.若摘要值不同,则密钥发送方执行步骤c12-c13,密钥接收方执行步骤c14-c15。
180.步骤c12:密钥发送方对译码数据进行数据分组,获得新的译码数据。
181.步骤c13:密钥发送方计算新的译码数据的摘要值。
182.步骤c14:密钥接收方对译码数据进行数据分组,获得新的译码数据。
183.步骤c15:密钥接收方计算新的译码数据的摘要值。
184.步骤c16:密钥发送方与密钥接收方通过经典信道交互并对比新的摘要值。
185.若摘要值不同,则密钥发送方返回执行步骤c12-c13,密钥接收方返回执行步骤c14-c15。若摘要值相同,则密钥发送方执行步骤c17,密钥接收方执行步骤c18。
186.步骤c17:密钥发送方保留摘要值相同的译码数据,得到有效量子密钥。
187.步骤c18:密钥接收方保留摘要值相同的译码数据,得到有效量子密钥。
188.具体的,前述步骤c9-c18与前述图1所示的实施例相似,在此不再赘述。
189.与前述应用于第一交互设备的有效量子密钥获得方法相对应,本发明实施例还提供了一种应用于第一交互设备的有效量子密钥获得装置。
190.参见图7,为本发明实施例提供的一种有效量子密钥获得装置的结构示意图,应用于进行量子密钥交互的每一设备,作为第一交互设备,所述装置包括:
191.译码数据获得模块701,用于获得第一量子密钥,将第一量子密钥作为第一译码数
据;
192.第一摘要值计算模块702,用于计算所述第一译码数据的第一摘要值;
193.摘要值对比模块703,用于确定所述第一摘要值与第二摘要值是否相同,其中,所述第二摘要值为:所述第二交互设备对第二译码数据进行计算得到的摘要值,所述第二译码数据在第二量子密钥中的位置与所述第一译码数据在第一量子密钥中的位置相同,所述第一交互设备计算第一摘要值的方式与第二交互设备计算第二摘要值的方式相同,所述第二量子密钥为:所述第二交互设备获得到的量子密钥;
194.目标数据确定模块704,用于在所述摘要值对比模块703确定所述第一摘要值与第二摘要值相同的情况下,则将第一译码数据确定为目标数据;
195.译码数据划分模块705,用于在所述摘要值对比模块703确定所述第一摘要值与第二摘要值不同的情况下,对所述第一译码数据进行划分,将划分得到的各个分组数据分别作为新的第一译码数据,若未满足预设终止条件,则针对每一第一译码数据,触发执行所述第一摘要值计算模块702;
196.有效密钥获得模块706,用于若满足预设终止条件,则对所确定的目标数据进行数据组合,得到有效量子密钥。
197.由以上可见,本发明实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
198.由此可见,通过本发明实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
199.本发明的一个实施例中,所述摘要值对比模块703,具体用于:
200.接收第二交互设备发送的第二摘要值;
201.对比所述第一摘要值与所述第二摘要值,确定所述第一摘要值与第二摘要值是否相同。
202.由以上可见,本发明实施例中第二交互设备在计算得到第二摘要值后可以向第一交互设备发送第一摘要值,第一交互设备可以自行对比第一摘要值与第二摘要值确定两者是否相同。
203.本发明的一个实施例中,所述摘要值对比模块703,具体用于:
204.向第二交互设备发送第一摘要值,使得所述第二交互设备对比所述第一摘要值与第二摘要值,并向所述第一交互设备反馈对比结果;
205.基于接收到的对比结果确定所述第一摘要值与第二摘要值是否相同。
206.由以上可见,本发明实施例中第一交互设备在计算得到第一摘要值后可以向第二交互设备发送第一摘要值,第二交互设备可以对比第一摘要值与第二摘要值确定两者是否
architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
218.通信接口用于上述电子设备与其他设备之间的通信。
219.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
220.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
221.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一有效量子密钥获得方法的步骤。
222.应用本发明实施例提供的计算机可读存储介质中存储的计算机程序进行有效量子密钥获得时,本发明实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
223.由此可见,通过本发明实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效量子密钥。
224.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一有效量子密钥获得方法。
225.应用本发明实施例提供的计算机程序产品进行有效量子密钥获得时,本发明实施例提供了一种有效量子密钥获得方法,应用于进行量子密钥交互的第一交互设备,第一交互设备计算第一译码数据的第一摘要值,并且将第一摘要值与第二交互设备对第二译码数据进行计算得到的第二摘要值进行比较。由于第一交互设备计算第一摘要值使用的摘要计算方式与第二交互设备计算第二摘要值使用的摘要计算方式相同,因此若计算得到的第一摘要值与第二摘要值相同,则说明第一译码数据与第二译码数据相同,可以将第一译码数据作为目标数据。否则,说明第一译码数据中包含于第二译码数据不同的部分,可以对第一译码数据进行划分,得到新的第一译码数据,并继续确定新的第一译码数据是否为目标数据。
226.由此可见,通过本发明实施例,进行量子密钥交互的每一设备均作为第一交互设备能够获得相同的目标数据,再基于相同的目标数据进行数据组合便能够得到相同的有效
量子密钥。
227.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任一组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
228.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
229.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
230.以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献