基于SM9密钥的门限化处理方法、装置、设备及存储介质与流程

文档序号:25304486发布日期:2021-06-04 14:10阅读:185来源:国知局
基于SM9密钥的门限化处理方法、装置、设备及存储介质与流程
基于sm9密钥的门限化处理方法、装置、设备及存储介质
技术领域
1.本公开涉及信息安全领域,特别是涉及一种基于sm9密钥的门限化处理方法、装置、设备及存储介质。


背景技术:

2.现代密码学的设计思想通常将数据的安全性归结到用于对数据进行加解密,或对数据进行签名等操作所用的密钥上,而密码算法往往是公开的,因此,如何安全有效的通过密钥对数据进行处理是当前数据安全领域关注的重点问题。
3.在当前的sm9分布式应用中,在利用sm9密钥对于重要数据进行处理时,往往需要多个密钥调用端共同参与运算,以此达到多个密钥调用端之间对于使用sm9密钥进行数据处理的共识。在此情况下,sm9密钥信息在特定数量且相互独立的密钥调用端中共享,每次调用sm9密钥进行数据处理时均需要所有密钥调用端都参与运算,因此当有密钥调用端离线时,难以确保其余密钥调用端调用密钥对待处理数据进行数据处理过程的可靠性。现有的基于sm9密钥的分布式应用需要每个持有密钥份额的参与方均参与运算,缺乏一种有效抗离线的健壮机制。
4.由此可见,提供一种基于sm9密钥的门限化处理方法,以相对确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性,是本领域技术人员需要解决的问题。


技术实现要素:

5.本公开的目的是提供一种基于sm9密钥的门限化处理方法、装置、设备及存储介质,以相对确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。
6.为解决上述技术问题,本公开提供一种基于sm9密钥的门限化处理方法,应用于密钥调用端,包括:
7.获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果;其中,多项式结果的总量大于或等于门限值,多项式结果基于密钥管理端生成的随机多项式得到,随机多项式基于随机数以及门限值生成,且随机多项式的最高次幂为门限值减一后的值,随机多项式的常数项为随机数;
8.获取由密钥管理端公开的公开参数;其中,根据随机数以及sm9密钥生成公开参数由密钥管理端根据随机数以及sm9密钥生成;
9.利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。
10.优选地,利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理,包括:
11.利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的签名操作或解密操作。
12.此外,本公开还提供一种基于sm9密钥的门限化处理方法,应用于密钥管理端,包括:
13.获取门限值以及sm9密钥;
14.根据随机数以及sm9密钥生成公开参数,并将公开参数公开至密钥调用端;
15.基于随机数以及门限值生成随机多项式,其中,随机多项式的最高次幂为门限值减一后的值,随机多项式的常数项为随机数;
16.基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,以供密钥调用端之间利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理;其中,多项式结果与密钥调用端之间存在唯一对应关系。
17.优选地,根据随机数以及sm9密钥生成公开参数,包括:
18.通过执行随机数以及sm9密钥之间的累加运算的方式生成公开参数。
19.优选地,根据随机数以及sm9密钥生成公开参数,包括:
20.通过执行随机数以及sm9密钥之间的乘积运算的方式生成公开参数。
21.此外,本公开还提供一种基于sm9密钥的门限化处理装置,应用于密钥调用端,包括:
22.多项式结果获取模块,用于获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果;其中,多项式结果的总量大于或等于门限值,多项式结果基于密钥管理端生成的随机多项式得到,随机多项式基于随机数以及门限值生成,且随机多项式的最高次幂为门限值减一后的值,随机多项式的常数项为随机数;
23.公开参数获取模块,用于获取由密钥管理端公开的公开参数;其中,根据随机数以及sm9密钥生成公开参数由密钥管理端根据随机数以及sm9密钥生成;
24.密钥数据处理模块,用于利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。
25.此外,本公开还提供一种基于sm9密钥的门限化处理装置,应用于密钥管理端,包括:
26.生成公开模块,用于根据随机数以及sm9密钥生成公开参数,并将公开参数公开至密钥调用端;
27.门限密钥获取模块,用于获取门限值以及sm9密钥;
28.多项式生成模块,用于基于随机数以及门限值生成随机多项式;其中,随机多项式的最高次幂为门限值减一后的值,随机多项式的常数项为随机数;
29.多项式结果下发模块,用于基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,以供密钥调用端之间利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理;其中,多项式结果与密钥调用端之间存在唯一对应关系。
30.优选地,生成公开模块,包括:
31.累加生成模块,用于通过执行随机数以及sm9密钥之间的累加运算的方式生成公开参数。
32.此外,本公开还提供一种基于sm9密钥的门限化处理设备,包括:
33.存储器,用于存储计算机程序;
34.处理器,用于执行计算机程序时实现如上述的应用于密钥调用端的基于sm9密钥的门限化处理方法的步骤和/或实现如上述的应用于密钥管理端的基于sm9密钥的门限化处理方法的步骤。
35.此外,本公开还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的应用于密钥调用端的基于sm9密钥的门限化处理方法的步骤和/或实现如上述的应用于密钥管理端的基于sm9密钥的门限化处理方法的步骤。
36.本公开所提供的基于sm9密钥的门限化处理方法,由密钥管理端获取门限值以及sm9密钥,并根据随机数以及sm9密钥生成公开参数,进而将公开参数公开至密钥调用端,并基于随机数以及门限值生成随机多项式,其中,随机多项式的最高次幂为门限值减一后的值,且随机多项式的常数项为该随机数,在此基础上,进一步基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,多项式结果与密钥调用端之间存在唯一对应关系。密钥调用端获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果,其中,获取到的多项式结果的总量大于或等于门限值,进而密钥调用端进一步获取密钥管理端公开的公开参数,并利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。本方法通过基于随机数以及门限值生成随机多项式,进而基于随机多项式生成各个密钥调用端对应的多项式结果,并由随机数以及密钥生成的公开参数,进而能够确保在密钥调用端达到门限数量的情况下,密钥调用端之间即能够根据公开参数以及自身的多项式结果共同使用密钥完成对待处理数据的数据处理操作。当有密钥调用端离线时,能够确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。此外,本公开还提供一种基于sm9密钥的门限化处理装置、设备及存储介质,有益效果同上所述。
附图说明
37.为了更清楚地说明本公开实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本公开实施例公开的一种基于sm9密钥的门限化处理方法的流程图;
39.图2为本公开实施例公开的一种基于sm9密钥的门限化处理方法的流程图;
40.图3为本公开实施例公开的一种基于sm9密钥的门限化处理装置的结构示意图;
41.图4为本公开实施例公开的一种基于sm9密钥的门限化处理装置的结构示意图;
42.图5为本公开实施例公开的一种基于sm9密钥的门限化处理设备的框图。
具体实施方式
43.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本公开保护范围。
44.在当前的sm9分布式应用中,在利用sm9密钥对于重要数据进行处理时,往往需要
多个密钥调用端共同参与运算,以此达到多个密钥调用端之间对于使用sm9密钥进行数据处理的共识。在此情况下,sm9密钥信息在特定数量且相互独立的密钥调用端中共享,每次调用sm9密钥进行数据处理时均需要所有密钥调用端都参与运算,因此当有密钥调用端离线时,难以确保其余密钥调用端调用密钥对待处理数据进行数据处理过程的可靠性。现有的基于sm9密钥的分布式应用需要每个持有密钥份额的参与方均参与运算,缺乏一种有效抗离线的健壮机制。
45.为此,本公开的核心是提供一种基于sm9密钥的门限化处理方法,以相对确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。
46.为了使本技术领域的人员更好地理解本公开方案,下面结合附图和具体实施方式对本公开作进一步的详细说明。
47.请参见图1所示,本公开实施例公开了一种基于sm9密钥的门限化处理方法,应用于密钥调用端,包括:
48.步骤s10:获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果。
49.其中,多项式结果的总量大于或等于门限值,多项式结果基于密钥管理端生成的随机多项式得到,随机多项式基于随机数以及门限值生成,且随机多项式的最高次幂为门限值减一后的值,随机多项式的常数项为随机数。
50.需要说明的是,本实施例的执行主体为密钥调用端,密钥调用端的整体数量大于1,并且多个密钥调用端之间共同利用密钥对待处理数据进行数据处理。
51.在本实施例中,密钥管理端预先基于随机数以及门限值生成常数项为随机数的随机多项式,且随机多项式的最高次幂为门限值减一后的值,进而基于该多项式得到与密钥调用端数量一致的多项式结果,并且分发给各个密钥调用端,多项式结果可以认为是通过对随机多项式中的变量进行赋值后得到的结果。
52.本步骤的重点在于当前的密钥调用端获取其它密钥调用端对应的多项式结果,目的是为了在后续步骤中进一步结合本地的多项式结果以及密钥管理端公开的公开参数进一步使用密钥进行数据处理。
53.步骤s11:获取由密钥管理端公开的公开参数。
54.其中,根据随机数以及sm9密钥生成公开参数由密钥管理端根据随机数以及sm9密钥生成。
55.sm9(商密9号算法)为标识密码标准,在商用密码体系中,sm9适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。本实施方式进一步提高了基于sm9标准生成密钥的安全性。
56.需要说明是,本步骤中获取的由密钥管理端公开的公开参数是由密钥管理端根据随机数以及密钥生成,此处所指的密钥是对待处理数据执行数据处理所需的密钥。公开参数相当于是通用随机数对密钥进行隐藏处理后的结果,因此密钥调用端均无法根据公开参数获悉密钥的具体内容。
57.另外,获取由密钥管理端公开的公开参数的步骤与获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果的步骤之间无固定的执行顺序,也可同时执行,在此不做具体限定。
58.步骤s12:利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。
59.在获取到多项式结果以及公开参数后,本步骤进一步利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。
60.本公开所提供的基于sm9密钥的门限化处理方法,由密钥管理端获取门限值以及sm9密钥,并根据随机数以及sm9密钥生成公开参数,进而将公开参数公开至密钥调用端,并基于随机数以及门限值生成随机多项式,其中,随机多项式的最高次幂为门限值减一后的值,且随机多项式的常数项为该随机数,在此基础上,进一步基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,多项式结果与密钥调用端之间存在唯一对应关系。密钥调用端获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果,其中,获取到的多项式结果的总量大于或等于门限值,进而密钥调用端进一步获取密钥管理端公开的公开参数,并利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。本方法通过基于随机数以及门限值生成随机多项式,进而基于随机多项式生成各个密钥调用端对应的多项式结果,并由随机数以及密钥生成的公开参数,进而能够确保在密钥调用端达到门限数量的情况下,密钥调用端之间即能够根据公开参数以及自身的多项式结果共同使用密钥完成对待处理数据的数据处理操作。当有密钥调用端离线时,能够确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。
61.在上述实施例的基础上,作为一种优选的实施方式,利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理,包括:
62.利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的签名操作或解密操作。
63.需要说明的是,本实施方式的重点在于,在利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理时,可以进一步包括基于密钥的签名操作或解密操作。当利用多项式结果以及公开参数对待处理数据执行基于密钥的签名操作时,密钥的类型应为具有相应公钥的私钥;当利用多项式结果以及公开参数对待处理数据执行基于密钥的解密操作时,密钥可以为非对称加解密中的私钥,或对称加解密过程中的对称密钥。
64.请参见图2所示,本公开实施例公开了一种基于sm9密钥的门限化处理方法,应用于密钥管理端,包括:
65.步骤s20:获取门限值以及sm9密钥。
66.sm9(商密9号算法)为标识密码标准,在商用密码体系中,sm9适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。本实施方式进一步提高了基于sm9标准生成密钥的安全性。
67.需要说明的是,本步骤中密钥管理端获取到的门限值指的是,对待处理数据正常执行基于sm9密钥的门限化处理时,需要满足密钥调用端的数量最小值,可以是由用户预先设定。另外,本步骤中密钥管理端获取的密钥指的是,对待处理数据执行数据处理时所需要的密钥,可以由密钥管理端预先产生。
68.步骤s21:根据随机数以及sm9密钥生成公开参数,并将公开参数公开至密钥调用端。
69.在获取到门限值以及密钥之后,密钥管理端进一步根据随机数以及sm9密钥生成公开参数,进而将公开参数公开至密钥调用端。其中,根据随机数以及sm9密钥生成公开参数本质上是通过密钥对随机数进行隐藏处理,进而公开参数中包含有密钥,但获取到公开参数的密钥调用端无法还原密钥。另外,本步骤密钥管理端将公开参数公开至密钥调用端,可以是由密钥管理端采用广播的方式将公开参数传输至密钥调用端,以达到将公开参数公开至密钥调用端的目的。
70.步骤s22:基于随机数以及门限值生成随机多项式。
71.其中,随机多项式的最高次幂为门限值减一后的值,随机多项式的常数项为随机数。
72.另外,基于随机数以及门限值生成随机多项式时,随机多项式的最高次幂的幂值为门限值减一后的值,并且随机多项式的常数项为随机数,进而在后续步骤中即可用过随机多项式产生的门限值数量的多项式结果即可还原该随机多项式。
73.步骤s23:基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,以供密钥调用端之间利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。
74.其中,多项式结果与密钥调用端之间存在唯一对应关系。
75.在基于随机数以及门限值生成随机多项式之后,本步骤进一步基于随机多项式生成与密钥调用端的数量相同的多项式结果,进而将多项式结果发送至密钥调用端,并且多项式结果与密钥调用端之间存在唯一对应关系,也就是说,密钥管理端向每一个密钥调用端均下发相应的多项式结果,以供密钥调用端之间利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。
76.本公开所提供的基于sm9密钥的门限化处理方法,由密钥管理端获取门限值以及sm9密钥,并根据随机数以及sm9密钥生成公开参数,进而将公开参数公开至密钥调用端,并基于随机数以及门限值生成随机多项式,其中,随机多项式的最高次幂为门限值减一后的值,且随机多项式的常数项为该随机数,在此基础上,进一步基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,多项式结果与密钥调用端之间存在唯一对应关系。密钥调用端获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果,其中,获取到的多项式结果的总量大于或等于门限值,进而密钥调用端进一步获取密钥管理端公开的公开参数,并利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。本方法通过基于随机数以及门限值生成随机多项式,进而基于随机多项式生成各个密钥调用端对应的多项式结果,并由随机数以及密钥生成的公开参数,进而能够确保在密钥调用端达到门限数量的情况下,密钥调用端之间即能够根据公开参数以及自身的多项式结果共同使用密钥完成对待处理数据的数据处理操作。当有密钥调用端离线时,能够确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。
77.在上述实施例的基础上,作为一种优选的实施方式,根据随机数以及sm9密钥生成公开参数,包括:
78.通过执行随机数以及sm9密钥之间的累加运算的方式生成公开参数。
79.需要说明的是,在本实施方式中,根据随机数以及sm9密钥生成公开参数的过程可
以是通过执行随机数以及sm9密钥之间的累加运算的方式生成公开参数,也就是通过将随机数与密钥相加得到的结果值设置为公开参数。本实施方式进一步确保了所生成的公开参数的安全性。
80.在上述实施例的基础上,作为一种优选的实施方式,根据随机数以及sm9密钥生成公开参数,包括:
81.通过执行随机数以及sm9密钥之间的乘积运算的方式生成公开参数。
82.需要说明的是,在本实施方式中,根据随机数以及sm9密钥生成公开参数的过程可以是通过执行随机数以及sm9密钥之间的乘积运算的方式生成公开参数,也就是通过将随机数与密钥相乘得到的结果值设置为公开参数。本实施方式进一步确保了所生成的公开参数的安全性。
83.为了进一步提高对于上述一些列实施例的理解,本公开还提供具体应用场景下的场景实施例做进一步说明。
84.在sm9标准中,g1和g2均为n阶加法循环群,n为素数;p1和p2分别为g1、g2的生成元,g
t
为n阶乘法循环群,e为从g1
×
g2到gt的双线性对,h2为杂凑函数派生的密码函数,输入比特串和n,输出像集为[1,n

1];hid表示私钥生成函数识别符,h为杂凑函数派生的密码函数,像集为[1,n

1]。
[0085]
令n,t为正整数,满足t≤n。sm9(t,n)门限签名可使得任意大于等于t个参与方可恢复出完整签名私钥,也可在不恢复完整私钥的前提下联合生成签名值。假定密钥管理端的主私钥为ks,n个参与方为δ
i
,身份分别为x
i
∈[1,n

1],1≤i≤n。
[0086]
对sm9的门限化设计,主要在于私钥的分享,具体设计方法可采用加法和乘法两种方式。
[0087]
方案一:采用加法隐藏私钥
[0088]
针对身份为id
a
的用户,门限签名初始化过程如下:
[0089]
密钥管理端计算k=ks(ks+h(id
a
||hid,n))
‑1,此时,用户id
a
的私钥为ds
a
=[k]p1。密钥管理端生成随机数a,选择有限域f
n
上的随机多项式f(x)=a+a1x+

+a
t
‑1x
t
‑1,a
i
∈[1,n

1]。将f(x
i
)发送给参与方δ
i
,1≤i≤n;并公开参数[(k+a)]p1。
[0090]
假定联合生成签名的参与方分别为δ
i
,1≤i≤t。令1≤i≤t。t方生成签名的运算步骤如下:
[0091]
1、δ
i
计算群g
t
中的元素g=e(p1,p
pub

s
);
[0092]
2、δ
i
产生随机数r
i
∈[1,n

1];
[0093]
3、δ
i
计算群g
t
中的元素将w
i
发送给其他参与方;
[0094]
4、δ
i
计算将w的数据类型转为比特串,并计算整数h=h2(m||w,n);
[0095]
5、δ
i
计算若l
i
=0,则公布r
i
给所有参与者,验证是否成立,成立则返回第二步重新开始;否则计算[l
i
(k+a)]p1和[l
i
]p1;将[l
i
(k+a)]p1和[l
i
]p1发给其他参与方;
[0096]
6、δ
i
计算若v=0则返回第二步;否则计算s
i
=[α
i
f(x
i
)]v,将s
i
发送给其他参与者;
[0097]
7、δ
i
计算
[0098]
8、消息m的签名为(h,s)。
[0099]
在上述签名过程中,这与sm9标准签名格式一致。验签过程与标准算法过程一致。
[0100]
门限解密机制初始化与门限签名的初始化过程一致。假定联合解密的参与方分别为δ
i
,1≤i≤t。t方联合解密的运算步骤只需要将sm9解密算法中的b2步骤进行替换即可,将b2替换成如下:
[0101]
b2:δ
i
计算g
t
中的元素w
i
=e(c1,t
‑1[(k+a)]p1‑
α
i
f(x
i
)p1),并将w
i
发送给其他所有参与方;任意参与方可计算将w’的数据类型转换为比特串;
[0102]
其他步骤与sm9解密算法一致。
[0103]
方案二:采用乘法隐藏私钥
[0104]
针对身份为id
a
的用户,门限签名初始化过程如下:
[0105]
密钥管理端计算k=ks(ks+h(id
a
||hid,n))
‑1,此时,用户id
a
的私钥为ds
a
=[k]p1。密钥管理端生成随机数a,选择有限域f
n
上的随机多项式f(x)=a+a1x+

+a
t
‑1x
t
‑1,a
i
∈[1,n

1]。将f(x
i
)发送给参与方δ
i
,1≤i≤n;并公开参数[(ak)]p1。
[0106]
假定联合生成签名的参与方分别为δ
i
,1≤i≤t。令1≤i≤t。t方生成签名的运算步骤如下:
[0107]
δ
i
计算群g
t
中的元素g=e(p1,p
pub

s
);
[0108]
δ
i
产生随机数r
i
∈[1,n

1];
[0109]
δ
i
计算群g
t
中的元素将w
i
发送给其他参与方;
[0110]
δ
i
计算将w的数据类型转为比特串,并计算整数h=h2(m||w,n);
[0111]
δ
i
计算若l
i
=0,则公布r
i
给所有参与者,验证是否成立,成立则返回第二步重新开始;计算[l
i
(ak)]p1;将[l
i
(ak)]p1发给其他参与方;
[0112]
δ
i
计算若u=0返回第二步;计算s
i
=[α
i
f(x
i
)]u,将s
i
发送给其他参与者;
[0113]
δ
i
计算
[0114]
消息m的签名为(h,s)。
[0115]
在上述签名过程中,这与sm9标准签名格式一致。验签过程与标准算法过程一致。
[0116]
门限解密机制初始化与门限签名的初始化过程一致。假定联合解密的参与方分别为δ
i
,1≤i≤t。t方联合解密的运算步骤只需要将sm9解密算法中的b2步骤进行替换即可,将b2替换成如下:
[0117]
b2:δ
i
计算g
t
中的元素w
i
=e(c1,t
‑1[(ak)]p1‑
α
i
f(x
i
)p1),并将w
i
发送给其他所有参与方;任意参与方可计算将w’的数据类型转换为比特串;
[0118]
其他步骤与sm9解密算法一致。
[0119]
请参见图3所示,本公开实施例提供了一种基于sm9密钥的门限化处理装置300,应用于密钥调用端,包括:
[0120]
多项式结果获取模块310,用于获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果;其中,多项式结果的总量大于或等于门限值,多项式结果基于密钥管理端生成的随机多项式得到,随机多项式基于随机数以及门限值生成,且随机多项式的最高次幂为门限值减一后的值,随机多项式的常数项为随机数;
[0121]
公开参数获取模块320,用于获取由密钥管理端公开的公开参数;其中,根据随机数以及sm9密钥生成公开参数由密钥管理端根据随机数以及sm9密钥生成;
[0122]
密钥数据处理模块330,用于利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。
[0123]
本公开所提供的基于sm9密钥的门限化处理装置,由密钥管理端获取门限值以及sm9密钥,并根据随机数以及sm9密钥生成公开参数,进而将公开参数公开至密钥调用端,并基于随机数以及门限值生成随机多项式,其中,随机多项式的最高次幂为门限值减一后的值,且随机多项式的常数项为该随机数,在此基础上,进一步基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,多项式结果与密钥调用端之间存在唯一对应关系。密钥调用端获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果,其中,获取到的多项式结果的总量大于或等于门限值,进而密钥调用端进一步获取密钥管理端公开的公开参数,并利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。本装置通过基于随机数以及门限值生成随机多项式,进而基于随机多项式生成各个密钥调用端对应的多项式结果,并由随机数以及密钥生成的公开参数,进而能够确保在密钥调用端达到门限数量的情况下,密钥调用端之间即能够根据公开参数以及自身的多项式结果共同使用密钥完成对待处理数据的数据处理操作。当有密钥调用端离线时,能够确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。
[0124]
请参见图4所示,本公开实施例提供了一种基于sm9密钥的门限化处理装置400,应用于密钥管理端,包括:
[0125]
生成公开模块410,用于根据随机数以及sm9密钥生成公开参数,并将所述公开参数公开至密钥调用端;
[0126]
门限密钥获取模块420,用于获取门限值以及sm9密钥;
[0127]
多项式生成模块430,用于基于所述随机数以及所述门限值生成随机多项式;其中,所述随机多项式的最高次幂为所述门限值减一后的值,所述随机多项式的常数项为所述随机数;
[0128]
多项式结果下发模块440,用于基于所述随机多项式生成与所述密钥调用端的数量相同的多项式结果,并将所述多项式结果发送至所述密钥调用端,以供所述密钥调用端之间利用所述多项式结果以及所述公开参数对待处理数据执行基于所述sm9密钥的数据处理;其中,所述多项式结果与所述密钥调用端之间存在唯一对应关系。
[0129]
更进一步的,生成公开模块410,包括:
[0130]
累加生成模块,用于通过执行随机数以及sm9密钥之间的累加运算的方式生成公开参数。
[0131]
本公开所提供的基于sm9密钥的门限化处理装置,由密钥管理端获取门限值以及sm9密钥,并根据随机数以及sm9密钥生成公开参数,进而将公开参数公开至密钥调用端,并基于随机数以及门限值生成随机多项式,其中,随机多项式的最高次幂为门限值减一后的值,且随机多项式的常数项为该随机数,在此基础上,进一步基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,多项式结果与密钥调用端之间存在唯一对应关系。密钥调用端获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果,其中,获取到的多项式结果的总量大于或等于门限值,进而密钥调用端进一步获取密钥管理端公开的公开参数,并利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。本装置通过基于随机数以及门限值生成随机多项式,进而基于随机多项式生成各个密钥调用端对应的多项式结果,并由随机数以及密钥生成的公开参数,进而能够确保在密钥调用端达到门限数量的情况下,密钥调用端之间即能够根据公开参数以及自身的多项式结果共同使用密钥完成对待处理数据的数据处理操作。当有密钥调用端离线时,能够确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。
[0132]
图5是根据一示例性实施例示出的一种基于sm9密钥的门限化处理设备500的框图。如图5所示,该密钥使用端设备500可以包括:处理器501,存储器502。该密钥使用端设备500还可以包括多媒体组件503,输入/输出(i/o)接口504,以及通信组件505中的一者或多者。
[0133]
其中,处理器501用于控制该密钥使用端设备500的整体操作,以完成上述的应用于密钥调用端或应用于密钥管理端的基于sm9密钥的门限化处理方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该密钥使用端设备500的操作,这些数据例如可以包括用于在该密钥使用端设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read

only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read

only memory,简称eprom),可编程只读存储器(programmable read

only memory,简称prom),只读存储器(read

only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o
接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该密钥使用端设备500与其他设备之间进行有线或无线通信。无线通信,例如wi

fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件505可以包括:wi

fi模块,蓝牙模块,nfc模块。
[0134]
在一示例性实施例中,密钥使用端设备500可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用于密钥调用端或应用于密钥管理端的基于sm9密钥的门限化处理方法。
[0135]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的应用于密钥调用端或应用于密钥管理端的基于sm9密钥的门限化处理方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由密钥使用端设备500的处理器501执行以完成上述的应用于密钥调用端或应用于密钥管理端的基于sm9密钥的门限化处理方法。
[0136]
此外,本公开还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的应用于密钥调用端的基于sm9密钥的门限化处理方法的步骤和/或实现如上述的应用于密钥管理端的基于sm9密钥的门限化处理方法的步骤。
[0137]
本公开所提供的计算机可读存储介质,由密钥管理端获取门限值以及sm9密钥,并根据随机数以及sm9密钥生成公开参数,进而将公开参数公开至密钥调用端,并基于随机数以及门限值生成随机多项式,其中,随机多项式的最高次幂为门限值减一后的值,且随机多项式的常数项为该随机数,在此基础上,进一步基于随机多项式生成与密钥调用端的数量相同的多项式结果,并将多项式结果发送至密钥调用端,多项式结果与密钥调用端之间存在唯一对应关系。密钥调用端获取由密钥管理端传入本地的多项式结果,并获取其它密钥调用端对应的多项式结果,其中,获取到的多项式结果的总量大于或等于门限值,进而密钥调用端进一步获取密钥管理端公开的公开参数,并利用多项式结果以及公开参数对待处理数据执行基于sm9密钥的门限化处理。本计算机可读存储介质通过基于随机数以及门限值生成随机多项式,进而基于随机多项式生成各个密钥调用端对应的多项式结果,并由随机数以及密钥生成的公开参数,进而能够确保在密钥调用端达到门限数量的情况下,密钥调用端之间即能够根据公开参数以及自身的多项式结果共同使用密钥完成对待处理数据的数据处理操作。当有密钥调用端离线时,能够确保通过多个密钥调用端之间联合调用密钥对待处理数据进行数据处理过程的可靠性。
[0138]
以上对本公开所提供的一种基于sm9密钥的门限化处理方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方
法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以对本公开进行若干改进和修饰,这些改进和修饰也落入本公开权利要求的保护范围内。
[0139]
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0140]
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0141]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0142]
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1