基于SM9密钥交换的量子密钥扩展方法、系统、介质及终端与流程

文档序号:28817478发布日期:2022-02-09 06:55阅读:130来源:国知局
基于SM9密钥交换的量子密钥扩展方法、系统、介质及终端与流程
基于sm9密钥交换的量子密钥扩展方法、系统、介质及终端
技术领域
1.本发明涉及物理领域,尤其涉及量子密钥技术,特别是一种基于sm9密钥交换的量子密钥扩展方法、系统、介质及终端。


背景技术:

2.在当前的量子环境部署中,每台量子机可能因为成本的原因(上百万人民币),会被多个设备共享使用;现有量子机的密钥生成速度大概为64kb/每分钟,往往会出现量子机生成的量子密钥不够用。
3.针对量子密钥不够用的处理,常见的做法是,原来需要更新的密钥,因为密钥参数不足,重新协商获取量子密钥失败,所以密钥不更新或者循环使用,也可能会直接返回失败导致数据传输中断,这些都会降低整个系统的安全性和健壮性。


技术实现要素:

4.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于sm9密钥交换的量子密钥扩展方法、系统、介质及终端,用于解决现有技术中密钥参数不足后,密钥不更新或者循环复用,导致安全性降低的问题。
5.为实现上述目的及其他相关目的,本发明提供一种基于sm9密钥交换的量子密钥扩展方法,包括以下步骤:在通信双方完成量子密钥协商后,获取量子初始密钥;获取所述通信双方基于传递信息协商出的sm9交换密钥;对所述量子初始密钥和所述sm9交换密钥进行处理,生成扩展密钥。
6.于本发明的一实施例中,所述扩展密钥包括n个扩展块;n取任意一正整数。
7.于本发明的一实施例中,对所述量子初始密钥和所述sm9交换密钥进行处理,生成扩展密钥包括以下步骤:获取与第一个扩展块对应的第一个密钥偏移计数;将所述sm9交换密钥作为第一初始值,将第一个扩展块对应的第一个密钥偏移计数与当前的所述第一初始值进行异或运算,获取输出向量;将所述量子初始密钥作为第二初始值,利用对称加密算法对所述第二初始值和当前的所述输出向量进行对称加密,获取第一个扩展块;基于所述通信双方在协商时设定的策略,确定n的取值为n,以根据所述扩展密钥中扩展块的数量获取n个扩展块;其中,第i个扩展块的获取方法包括以下步骤:获取与第i个扩展块对应的第i个密钥偏移计数;将第i-1个扩展块作为第一初始值,将第i个扩展块对应的第i个密钥偏移计数与当前的所述第一初始值进行异或运算,获取输出向量;利用所述对称加密算法对所述第二初始值和当前的所述输出向量进行对称加密,获取第i个扩展块;2≤i≤n,i和n为整数。
8.于本发明的一实施例中,所述第一个密钥偏移计数为1;所述第i个密钥偏移计数为i。
9.于本发明的一实施例中,所述对称加密算法的模式为计算器模式或密码分组链接模式。
10.于本发明的一实施例中,所述扩展密钥存储于所述量子初始密钥之后;读取密钥时,顺序向后读取所述扩展密钥。
11.本发明提供一种基于sm9密钥交换的量子密钥扩展系统,包括:第一获取模块、第二获取模块及生成模块;所述第一获取模块用于在通信双方完成量子密钥协商后,获取量子初始密钥;所述第二获取模块用于获取所述通信双方基于传递信息协商出的sm9交换密钥;所述生成模块用于对所述量子初始密钥和所述sm9交换密钥进行处理,生成扩展密钥。
12.本发明提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于sm9密钥交换的量子密钥扩展方法。
13.本发明提供一种终端,包括:处理器及存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的基于sm9密钥交换的量子密钥扩展方法。
14.如上所述,本发明所述的基于sm9密钥交换的量子密钥扩展方法、系统、介质及终端,具有以下有益效果:
15.(1)与现有技术相比,本发明能够在密钥量不足时,通过扩展的方式,使得通信双方能获取到更新的量子级别的密钥。
16.(2)本发明使用sm9密钥交换算法来协商扩展密钥参数,相较于传统的dh密钥交换算法,安全性更高。
17.(3)本发明使用安全可靠的密钥扩展算法来处理扩展参数,支持密钥扩展,规避了量子密钥不足的问题;支持多种扩展算法,扩展参数传递支持可选项,在不降低密钥安全性的的情况下,支持密钥无限长度扩展。
附图说明
18.图1显示为本发明的终端于一实施例中的结构示意图。
19.图2显示为本发明的基于sm9密钥交换的量子密钥扩展方法于一实施例中的流程图。
20.图3显示为本发明的协商量子初始密钥和sm9交换密钥于一实施例中的信令交互示意图。
21.图4显示为本发明的利用扩展加密算法对量子初始密钥和sm9交换密钥进行处理,生成扩展密钥于一实施例中的流程图。
22.图5显示为本发明的第i个扩展块的获取方法于一实施例中的流程图。
23.图6显示为本发明的生成扩展密钥于一实施例中的工作原理图。
24.图7显示为本发明的基于sm9密钥交换的量子密钥扩展系统于一实施例中的结构示意图。
具体实施方式
25.以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实
施例中的特征可以相互组合。
26.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
27.本发明的基于sm9密钥交换的量子密钥扩展方法、系统、介质及终端,与现有技术相比,本发明能够在密钥量不足时,通过扩展的方式,使得通信双方能获取到更新的量子级别的密钥;本发明使用sm9密钥交换算法来协商扩展密钥参数,相较于传统的dh密钥交换算法,安全性更高;本发明使用安全可靠的密钥扩展算法来处理扩展参数,支持密钥扩展,规避了量子密钥不足的问题;支持多种扩展算法,扩展参数传递支持可选项,在不降低密钥安全性的的情况下,支持密钥无限长度扩展。
28.本发明的存储介质上存储有计算机程序,该计算机程序被处理器执行时实现下述的基于sm9密钥交换的量子密钥扩展方法。所述存储介质包括:只读存储器(read-only memory,rom)、随机访问存储器(random access memory,ram)、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。
29.可以采用一个或多个存储介质的任意组合。存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、ram、rom、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
30.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
31.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。
32.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
33.下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图
和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
34.也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
35.也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
36.本发明的终端包括处理器及存储器。
37.所述存储器用于存储计算机程序;优选地,所述存储器包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。
38.所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使所述终端执行下述的基于sm9密钥交换的量子密钥扩展方法。
39.优选地,所述处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
40.图1示出了适于用来实现本发明实施方式的示例性终端1的框图。
41.图1显示的终端1仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
42.如图1所示,终端1以通用计算设备的形式表现。终端1的组件可以包括但不限于:一个或者多个处理器或者处理单元11,存储器12,连接不同系统组件(包括存储器12和处理单元11)的总线13。
43.总线13表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture,简称isa)总线,微通道体系结构(micro channel architecture,简称mca)总线,增强型isa总线、视频电子标准协会(video electronics standards association,简称vesa)局域总线以及外围组件互连(peripheral component interconnect,简称pci)总线。
44.终端1典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端1访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
45.存储器12可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储
器(ram)121和/或高速缓存存储器122。终端1可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统123可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线13相连。存储器12可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
46.具有一组(至少一个)程序模块1241的程序/实用工具124,可以存储在例如存储器12中,这样的程序模块1241包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1241通常执行本发明所描述的实施例中的功能和/或方法。
47.终端1也可以与一个或多个外部设备2(例如键盘、指向设备、显示器3等)通信,还可与一个或者多个使得用户能与该终端1交互的设备通信,和/或与使得该终端1能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口14进行。并且,终端1还可以通过网络适配器15与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图1所示,网络适配器15通过总线13与终端1的其它模块通信。应当明白,尽管图中未示出,可以结合终端1使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
48.如图2所示,于一实施例中,本发明的基于sm9密钥交换的量子密钥扩展方法包括以下步骤:
49.步骤s1、在通信双方完成量子密钥协商后,获取量子初始密钥。
50.需要说明的是,传统量子密钥协商的原理如下:
51.量子密钥协商,需要在传统信道中,传递协商的会话密钥id,记为sessionid,通信双方使用相同的sessionid申请相同的密钥量子初始密钥,记为qt_key。
52.sessionid结构:
53.3byte1byteutc_timerandom
54.密钥id结构:
55.4byte4bytesessionidoffset
56.双方协商完毕的密钥数据(即步骤s1中的量子初始密钥)缓存在内存中,获取密钥时,根据密钥id,从缓存中读取密钥。
57.步骤s2、获取所述通信双方基于传递信息协商出的sm9交换密钥。
58.步骤s3、对所述量子初始密钥和所述sm9交换密钥进行处理,生成扩展密钥。
59.具体地,当前扩展密钥协商方案中,增加了传递的信息,基于传递信息协商出新的共享密钥,即步骤s2中的sm9交换密钥,记为s_key,再对qt_key和s_key等参数进行处理,得到最终指定长度或者不限长度的扩展密钥。
60.于一实施例中,所述扩展密钥包括n个扩展块。
61.需要说明的是,n可以取任意一正整数。
62.需要说明的是,协商传输数据基本结构如下:
63.4byte4byte1byte1byte1byte1byter_len bytes_len bytesessionidextensioncipher_suiteblock_numr_lens_lenrs
64.其中,sessionid结构和原结构保持一致;extension为扩展项字段,用于存放版本号等信息;cipher_suite字段保存扩展加密算法套件;block_num字段保存扩展的密钥块(即扩展块)数量;r_len字段为密钥协商参数r比特串的长度;s_len字段为协商参数s的比特串长度;r和s均为密钥协商参数。
65.需要说明的是,sm9密钥交换的流程如下:
66.步骤a为密钥交换发起方的操作,步骤b为密钥交换响应方的操作(密钥交换发起方和密钥交换响应方即为上述的通信双方)。
67.a1.计算群g1中的元素qb=[h1(idb||hid,n)]p1+ppub。
[0068]
a2.产生随机数ra。
[0069]
a3.计算群g1中的元素ra=[ra]qb。
[0070]
a4.将ra发给用户b。
[0071]
b1.计算群g1中的元素qa=[h1(ida||hid,n)]p1+ppub。
[0072]
b2.产生随机数rb。
[0073]
b3.计算群g1中的元素rb=[rb]qa。
[0074]
b4.验证ra属于g1是否成立。计算群gt中的元素g1=e(ra,db),g2=e(ppub,p2)rb,g3=g1rb。g1,g2,g3转换成比特串。
[0075]
b5.把ra和rb的数据类型转换成比特串,计算
[0076]
skb=kdf(ida||idb||ra||rb||g1||g2||g3,klen)。
[0077]
b6.(选项)计算sb=hash(0x82||g1||hash(g2||g3||ida||idb||ra||rb))。
[0078]
b7.将rb、(选项sb)发送给用户a。
[0079]
a5.验证rb∈g1是否成立。计算群gt中的元素g’1=e(ppub,p2)ra,g’2=e(rb,da),g’3=(g’2)ra。将g’1,g’2,g’3数据类型转换成比特串。
[0080]
a6.把ra和rb的数据类型转换成比特串,(选项)计算
[0081]
s1=hash(0x82||g’1||hash(g’2||g’3||ida||idb||ra||rb)),并检验s1=sb是否成立。
[0082]
a7.计算ska=kdf(ida||idb||ra||rb||g’1||g’2||g’3,klen)。
[0083]
a8.(选项)计算sa=hash(0x83||g’1||hash(g’2||g’3||ida||idb||ra||rb),并将sa发送给用户b。
[0084]
b8.(选项)计算s2=hash(0x83||g1||hash(g2||g3||ida||idb||ra||rb),并检验s2=sa是否成立。
[0085]
其中,ra和rb为密钥协商参数r;sa、sb为密钥协商参数s;可选项sa和sb,传输需要额外一次交互,可根据实际情况选择是否使用。
[0086]
需要说明的是,上述sm9密钥交换流程中的系统参数介绍如下:
[0087]
gt:阶数为素数n的循环乘法群;
[0088]
g1:阶数为素数n的循环加法群;
[0089]
g2:阶数为素数n的循环加法群;
[0090]
hv h1()h2():密码杂凑函数;
[0091]
hid:kgc选择并公开的一个字节,为h1的输入一部分;
[0092]
da:用户的私钥;
[0093]
e:从g1
×
g2到gt的满足双线性对和非退化性对;
[0094]
p1:g1的生成元;
[0095]
p2:g2的生成元;
[0096]
ppub:主公钥;
[0097]
s:主私钥;
[0098]
ida:用户标识,公开的信息。
[0099]
需要说明的是,上述步骤s1和步骤s2是交互进行的。
[0100]
下面将结合附图来进一步解释说明该步骤s1和步骤s2的工作原理。
[0101]
如图3所示,于一实施例中,通信双方分别为图3中的发起方和响应方;具体地,量子初始密钥和sm9交换密钥的获取原理如下:
[0102]
首先,发起方生成sessionid,向量子机a申请量子初始密钥,量子机a返回量子初始密钥至发起方,发起方计算sm9参数—ra,并发送ra和sessionid等信息至响应方。
[0103]
然后,响应方使用sessionid,获取量子初始密钥qt_key,响应方通过sessionid从量子机b中获取到量子密钥,该密钥和前一步量子机a返回的量子初始密钥内容一致,均是qt_key,该响应方计算sm9参数—skb、rb、sb(可选),并将该rb、sb(可选)发送至发起方。
[0104]
最后,发起方计算sm9参数ska,计算s1,校验sb(可选),ska=skb,并发送sa(可选)至响应方;同时,发起方基于qt_key和ska计算扩展密钥。
[0105]
响应方计算s2,校验sa(可选),并基于qt_key和skb计算扩展密钥。
[0106]
如图4所示,于一实施例中,对所述量子初始密钥和所述sm9交换密钥进行处理,生成扩展密钥包括以下步骤:
[0107]
步骤s31、获取与第一个扩展块对应的第一个密钥偏移计数。
[0108]
具体地,根据预设的密钥偏移计数规则,确定与第一个扩展块对应的第一个密钥偏移计数。
[0109]
需要说明的是,该密钥偏移计数规则是预先设定好的,具体如何设置,不作为限制本发明的条件。
[0110]
步骤s32、将所述sm9交换密钥作为第一初始值,将第一个扩展块对应的第一个密钥偏移计数与当前的所述第一初始值进行异或运算,获取输出向量。
[0111]
具体地,将第一个扩展块对应的第一个密钥偏移计数与该sm9交换密钥s_key进行异或运算,获取输出向量。
[0112]
步骤s33、将所述量子初始密钥作为第二初始值,利用对称加密算法对所述第二初始值和当前的所述输出向量进行对称加密,获取第一个扩展块。
[0113]
具体地,在扩展加密处理中,根据上述的cipher_suite,获取对称加密算法;然后,利用该对称加密算法对该量子初始密钥qt_key和经步骤s32获取的输出向量进行对称加密,以获取第1个扩展块。
[0114]
于一实施例中,所述对称加密算法的模式为计算器模式(counter,简称ctr)或密码分组链接模式(cipher block chaining,简称cbc)。
[0115]
步骤s34、基于所述通信双方在协商时设定的策略,确定n的取值为n,以根据所述扩展密钥中扩展块的数量获取n个扩展块。
[0116]
需要说明的是,扩展密钥是支持无限长度扩展的,在实际应用中,可根据通信双方在协商时设定的策略,确定计算扩展密钥的次数,即获取几个扩展块。
[0117]
如图5所示,于一实施例中,第i个扩展块的获取方法包括以下步骤:
[0118]
步骤s41、获取与第i个扩展块对应的第i个密钥偏移计数。
[0119]
需要说明的是,该步骤s41的原理参考上述步骤s31,在此不再赘述。
[0120]
于一实施例中,所述第一个密钥偏移计数为1;所述第i个密钥偏移计数为i,即对应上述的预设的密钥偏移计数规则为第一个密钥偏移计数为1,第i个密钥偏移计数为i。
[0121]
步骤s42、将第i-1个扩展块作为第一初始值,将第i个扩展块对应的第i个密钥偏移计数与当前的所述第一初始值进行异或运算,获取输出向量。
[0122]
假设将第i-1个扩展块记为blocki-1,第i个扩展块记为blocki,则步骤s42中,即将第i个扩展块对应的第i个密钥偏移计数与blocki-1进行异或运算,以获取一输出向量。
[0123]
步骤s43、利用所述对称加密算法对所述第二初始值和当前的所述输出向量进行对称加密,获取第i个扩展块。
[0124]
具体地,利用对称加密算法对量子初始密钥qt_key和经步骤s42获取的输出向量进行对称加密,以获取第i个扩展块。
[0125]
需要说明的是,2≤i≤n,i为整数。
[0126]
下面通过具体实施例来进一步解释说明步骤s3中生成扩展密钥的方法。
[0127]
如图6所示,于一实施例中,生成的扩展密钥包括3个扩展块,即第1个扩展块、第2个扩展块及第3个扩展块,分别记为block1、block2、block3;输出向量记为iv;对称加密记为enc;密钥偏移计数记为counter,且第i个counter=i,则生成扩展密钥的原理如下:
[0128]
首先,将s_key与counter=1进行异或运算(对应图6中的),获取输出向量iv;然后,对qt_key和当前的输出向量iv进行对称加密(enc),获取第1个扩展块block1;具体为使用qt_key作为加密密钥,使用输出向量iv作为iv,对全零数据做对称加密。
[0129]
将block1与counter=2进行异或运算,获取输出向量iv;然后,对qt_key和当前的输出向量iv进行对称加密,获取第2个扩展块block2。
[0130]
将block2与counter=3进行异或运算,获取输出向量iv;然后,对qt_key和当前的输出向量iv进行对称加密,获取第3个扩展块block3。
[0131]
需要说明的是,扩展块按照先后顺序依次存放,形成扩展密钥,诸如,图6中生成的扩展密钥为:block1+block2+block3。
[0132]
于一实施例中,所述扩展密钥存储于所述量子初始密钥之后;读取密钥时,顺序向后读取所述扩展密钥。
[0133]
具体地,扩展密钥存放在缓存的qt_key后面,读取密钥时,顺序向后读取扩展密钥。
[0134]
进一步地,根据协商时设定的策略,如果支持无限长度扩展,在读取密钥不足时,继续向后临时计算新的扩展密钥。
[0135]
需要说明的是,本发明所述的基于sm9密钥交换的量子密钥扩展方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
[0136]
如图7所示,于一实施例中,本发明的基于sm9密钥交换的量子密钥扩展系统包括第一获取模块71、第二获取模块72及生成模块73。
[0137]
所述第一获取模块71用于在通信双方完成量子密钥协商后,获取量子初始密钥。
[0138]
所述第二获取模块72用于获取所述通信双方基于传递信息协商出的sm9交换密钥。
[0139]
所述生成模块73用于对所述量子初始密钥和所述sm9交换密钥进行处理,生成扩展密钥。
[0140]
需要说明的是,所述第一获取模块71、所述第二获取模块72及所述生成模块73的结构及原理与上述基于sm9密钥交换的量子密钥扩展方法中的步骤(步骤s1~步骤s3)一一对应,故在此不再赘述。
[0141]
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0142]
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个数字信号处理器(digital signal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
[0143]
需要说明的是,本发明的基于sm9密钥交换的量子密钥扩展系统可以实现本发明的基于sm9密钥交换的量子密钥扩展方法,但本发明的基于sm9密钥交换的量子密钥扩展方法的实现装置包括但不限于本实施例列举的基于sm9密钥交换的量子密钥扩展系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
[0144]
综上所述,本发明的基于sm9密钥交换的量子密钥扩展方法、系统、介质及终端,与现有技术相比,本发明能够在密钥量不足时,通过扩展的方式,使得通信双方能获取到更新的量子级别的密钥;本发明使用sm9密钥交换算法来协商扩展密钥参数,相较于传统的dh密钥交换算法,安全性更高;本发明使用安全可靠的密钥扩展算法来处理扩展参数,支持密钥
扩展,规避了量子密钥不足的问题;支持多种扩展算法,扩展参数传递支持可选项,在不降低密钥安全性的的情况下,支持密钥无限长度扩展;所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0145]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1