一种密钥使用方法、装置、设备及存储介质与流程
未命名
09-17
阅读:93
评论:0

1.本发明涉及云计算技术领域,特别涉及一种密钥使用方法、装置、设备及存储介质。
背景技术:
2.目前,lifted elgamal算法具有加法同态性,是一种具有加法同态、不需要可信中心的门限密码方案。但是由于lifted elgamal算法在解密时需要使用遍历或者查表的方式,当要解密的数据过大时,会存在解密效率过低的问题,进而导致密码的解密效率过低,同时由于传统的公钥密码体制中,私钥通常由某一用户(例如某一大型服务器)保存,一旦此用户存在泄密行为,可能就会造成严重的信息泄露,信息安全性较差,或者当此用户将私钥丢失时,存在无法进行正常的解密的问题。
技术实现要素:
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.图1为本技术公开的一种密钥使用方法流程图;
46.图2为本技术公开的一种具体的密钥使用方法流程图;
47.图3为本技术提供的密钥使用装置结构示意图;
48.图4为本技术提供的一种电子设备结构图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.目前,由于lifted elgamal算法在解密时需要使用遍历或者查表的方式,当要解密的数据过大时,会存在解密效率过低的问题,进而导致密码的解密效率过低,同时由于传统的公钥密码体制中,私钥通常由某一用户(例如某一大型服务器)保存,一旦此用户存在泄密行为,可能就会造成严重的信息泄露,信息安全性较差,或者当此用户将私钥丢失时,存在无法进行正常的解密的问题。为此,本技术提供了一种密钥使用方法,能够提高信息的安全性以及解密效率。
51.本发明实施例公开了一种密钥使用方法,参见图1所示,该方法包括:
52.步骤s11:获取预设数量个目标用户对应的目标私钥,并基于全部所述目标私钥计算目标公钥。
53.本实施例中,获取预设数量个目标用户对应的目标私钥,并基于全部所述目标私钥计算目标公钥。获取预设数量个目标用户对应的目标私钥之前,设定安全参数,并将占用所述安全参数位数的素数确定为目标素数;获取所述目标素数对应的平方值以及所述平方值的本原根;基于所述本原根以及预设参数值计算公式确定目标参数;从所述预设数量个目标用户中确定当前用户,并获取所述当前用户从预设区间内选择的秘密值以及所述当前用户选择的随机数;其中,所述预设区间为基于所述目标素数确定的区间;基于所述随机数、所述秘密值构造所述当前用户对应的当前多项式;基于所述当前多项式计算所述预设数量个函数值,并存储与所述当前用户的位置顺序对应的所述当前函数值;按照每个所述目标用户的所述位置顺序秘密发送其他对应的所述函数值;接收其他全部所述目标用户发送的所述函数值,以得到目标函数值集合;基于所述目标函数值集合、所述当前函数值以及预设私钥计算公式计算与所述当前用户对应的目标私钥。
54.目前随着智能终端设备的快速普及,大量的个人信息数据被各种网络平台所采
集。而在现实生活中个人信息易被泄露,在网络通讯系统的隐私和安全保护方面,数据加密是一种十分有效的抵抗数据攻击(包括主动攻击和被动攻击)的方法。在数据加密技术中,同态加密技术具有在密文上运算然后再进行解密等价于直接在明文上运算的性质,基于这个性质,同态加密技术被广泛地应用到投票系统、云计算、数据检索等领域,尤其满足同态加法的加密技术,在分布式的机器学习领域中存在着大量的应用。目前现有的基于rsa算法的门限密码方案需要有可信任的中心;基于elgamal算法的、不需要可信中心的门限密码方案满足乘法同态性,由于elgamal算法的变体lifted elgamal算法具有加法同态性,因此形成具有加法同态、不需要可信中心的门限密码方案。但是由于lifted elgamal算法在解密时需要使用遍历或者查表的方式,当要解密的数据过大时,会存在解密效率过低的问题,进而造成对应的门限密码的解密效率过低的问题。paillier算法是满足加法同态的加密算法,此算法基于复合剩余类的困难问题,当取加密时的底数为n+1时,算法可以快速地加解密。因此本发明设计一种不需要可信任的中心,满足加法同态并且可以快速加解密的(t,n)门限密码方案,通过将私钥的共享值信息分布在每个用户上,形成一种不需要可信任中心的(t,n)门限密码方案,在解密时,只需要有t+1个参与者就可以对数据正确解密,并且在解密过程中只需要进行简单的运算即可,无需进行查表或者遍历。
55.现有的lifted elgamal加密算法的具体内容如下:设定安全参数λ,选择一个λ位的大素数p及其本原根g。选定一个小素数ρ。选取作为私钥,计算公钥b=gamodp;要加密的明文为(要求m较小,通过遍历或者查表的方式,可以很快求解ρmmodp的离散对数),选择随机数r,计算得到密文:
56.c=(c1,c2)=(grmodp,ρ
mbr
modp);
57.在计算后,通过遍历或查表的方式计算ρmmodp的离散对数m。由此可见以上算法的缺点是在计算离散对数时解密效率过低,如果要加密的数据过大,则在解密时需要花费大量的时间。
58.可以理解的是,表示集合{0,1,
…
,n-1},表示集合中与n互素的元素组成的集合,若n是素数,则amodc读作a模c,表示a除以c的余数,a≡bmodc表示a,b除以c的余数相同。如果ab≡1modc,表示b是a模c的乘法逆元,记做b≡a-1
modc,此时a也是b模c的乘法逆元。如果使得gm≡1modn成立的最小正幂m满足m=φn,则称g是n的本原根。其中φn为欧拉函数。当p为某一大素数,g是其本原根,如果有b≡gamodp,当给定一个b求解a是非常困难的,也即求离散对数困难。
59.因此本技术在生成密钥的过程中,设定安全参数λ,选择一个λ位的大素数p(即目标素数)以及p2(即所述目标素数的平方值)的本原根g。选定ρ=p+1(预设参数值计算公式,ρ为目标参数)。参与者pi选取选取作为自己的秘密值(为秘密值,为预设区间)。每个参与者pi在选取随机秘密值后,参与者pi再选取i个随机数并构造多项式每个参与者pi计算函数值fi(j),1≤j≤n,自己保留fi(i),并将fi(j),j≠i秘密发送至参与者pj。这样一来每个参与者都会收到其他每个参与者发送的一个函数值,并且也向其他每个参与者各发送一个函
数值。参与者pj收到其他参与者发送的函数值后,根据接收到的全部函数值以及自己预先保留的函数值计算将σj作为该用户pi的目标私钥。
60.可以理解的是,p为某一大素数,g是p2的本原根,如果有b≡gamodp2,即可得到b≡gamodp,因此如果推广的离散对数问题是可解的,那么原始的离散对数问题也是可解的。当选定ρ=p+1时,如果s=ρmmodp2,其中m∈结合二项式定理,可以得到s=mp+1,变形的以下公式:
[0061][0062]
计算得到相关的离散对数m。
[0063]
步骤s12:利用所述目标公钥加密目标明文,以得到对应的密文。
[0064]
本实施例中,获取预设数量个目标用户对应的目标私钥,并基于全部所述目标私钥计算目标公钥之后,利用所述目标公钥加密目标明文,以得到对应的密文。具体的,获取随机数,并基于所述随机数、所述平方值、所述目标公钥、所述目标参数以及预设加密公式加密所述目标明文,以得到对应的密文。可以理解的是,基于所述随机数、所述平方值、所述目标公钥、所述目标参数以及预设加密公式加密所述目标明文,以得到对应的密文。例如,将待加密的明文确定为选择随机数r,基于以下预设加密公式进行加密:
[0065]
c=(c1,c2)=(grmodp2,ρ
mbr
modp2)。
[0066]
步骤s13:基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值。
[0067]
本实施例中,利用所述目标公钥加密目标明文,以得到对应的密文之后,基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值。可以理解的是,在解密时根据不同的情况确定参与解密的人数,例如将秘密拆分成n份,分发给n个参与者,任意t+1个或t+1个以上的参与者一起可以恢复秘密,而任意t个参与者则不能得到秘密的任何信息,并且这里的t+1个或t+1个以上的限定条件可以根据不同情况进行更改,不在此进行限定。
[0068]
步骤s14:基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。
[0069]
本实施例中,基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值之后,基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。可以理解的是,基于全部的所述目标解密值计算解密中间值s,具体公式如下:
[0070]
s=c2·
(π
i∈q
si)-1
modp2;
[0071]
根据计算得到的s以及公式进行解密,得到最终的解密后信息m。
[0072]
本发明在解密时将求离散对数的过程替换成了简单的四则运算,提高了解密速度,并且在加密过程中可以快速地求出ρmmodp2=mp+1,提高了加密速度。
[0073]
例如,用e(m)表示对明文m的加密后得到的密文,用d(c)表示对密文c=(c1,c2)的解密后得到的解密后信息。以上算法是满足加法同态的,对于两条消息m1,m2,对它们加密可以得到
[0074]
[0075][0076]
将它们对应的分量分别相乘可以得到:
[0077][0078]
因此d(e(m1)
·
e(m2))=m1+m2modp;
[0079]
在模p意义下是满足加法同态的,当mi+m2<p时:
[0080]
d(e(m1)
·
e(m2))=m1+m2。
[0081]
另外,由于有些场景中要求所有用户都参与到解密过程中,才能对加密数据进行正确解密,也就是(n,n)门限密码系统。本发明设计了一种特例(n,n)门限密码方案的描述,在这种方案中必须让所有的参与者都参与解密,才能得到秘密值的信息。具体步骤如下:设定安全参数λ,选择一个λ位的大素数p以及p2的本原根g,确定ρ=p+1。参与者pi选取ai(0<ai<p(p-1))作为自己的私钥,计算并公开每个参与者的基于全部参与者得到的bi联合生成公钥,具体公式如下:
[0082][0083]
在加密时将要加密的明文确定为选择随机数r,计算密文的公式如下:
[0084]
c=(c1,c2)=(grmodp2,ρ
mbr
modp2);
[0085]
在联合解密时,计算每个pi的并将结果si公布。参与解密的参与者接收到其他参与者公布的结果si后,根据全部的si计算s=c2·
并根据s进行密文的解密过程,具体公式如下:
[0086][0087]
门限密码(threshold cryptography)可以实现如下功能:任意用户都可以使用公钥对数据进行加密;私钥的所有权由多个指定的秘密持有者联合控制,只有满足数目的秘密持有者合作,将解密分片聚合才能实现解密。
[0088]
可见,本技术提供了一种密钥使用方法,包括:获取预设数量个目标用户对应的目标私钥,并基于全部所述目标私钥计算目标公钥;利用所述目标公钥加密目标明文,以得到对应的密文;基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值;基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。由此可见,本技术根据全部预设数量个目标用户的目标私钥计算目标公钥,通过将私钥的共享值信息分布在每个用户上,形成不需要可信任中心的密码,从而让所有的参与者都参与解密才能得到解密后信息,提高了信息的安全性以及解密效率。
[0089]
参见图2所示,本发明实施例公开了一种密钥使用方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
[0090]
步骤s21:获取预设数量个目标用户对应的目标私钥。
[0091]
本实施例中,获取预设数量个目标用户对应的目标私钥之后,基于所述预设数量个所述目标用户对应的所述目标私钥以及拉格朗日差值公式计算目标秘密值。可以理解的是,任意t+1个参与者集合q,可以通过拉格朗日插值公式计算得到秘密a0的值,具体公式如下:
[0092][0093]
在计算私钥的过程中构造的多项式可以看作总的多项式:在计算私钥的过程中构造的多项式可以看作总的多项式:而要共享的秘密值即为f(0)也就是多项式f(x)的常数项。参与者pj计算得到σj=f(j),当有t+1个参与者参与计算时,可以得到t+1个t+1元的方程,并且这些方程的系数矩阵正好构成了范德蒙矩阵,因此使用拉格朗日插值公式可以解出f(x)的常数项系数,也就是秘密a0的值,将共享的秘密值的和将共享的秘密值的和作为密钥,可以在无信任中心的情况下实现对密钥的秘密共享。
[0094]
步骤s22:从全部所述目标私钥中确定当前私钥,并基于所述当前私钥与所述平方值计算公钥中间值;所述公钥中间值为计算所述目标公钥时使用的中间值信息。
[0095]
本实施例中,获取预设数量个目标用户对应的目标私钥之后,从全部所述目标私钥中确定当前私钥,并基于所述当前私钥与所述平方值计算公钥中间值;所述公钥中间值为计算所述目标公钥时使用的中间值信息。可以理解的是,任意t+1个参与者集合q中的每个参与者pi都计算都计算bi即为公钥中间值,并将计算得到的bi公布。
[0096]
步骤s23:获取全部所述目标私钥对应的所述公钥中间值,以得到中间值集合,基于所述中间值集合、所述平方值以及预设公钥计算公式计算所述目标公钥。
[0097]
本实施例中,基于所述当前私钥与所述平方值计算公钥中间值之后,获取全部所述目标私钥对应的所述公钥中间值,以得到中间值集合,基于所述中间值集合、所述平方值以及预设公钥计算公式计算所述目标公钥。具体预设公钥计算公式如下:
[0098]
b=π
i∈qbi modp2。
[0099]
步骤s24:利用所述目标公钥加密目标明文,以得到对应的密文。
[0100]
步骤s25:基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值。
[0101]
本实施例中,基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值。可以理解的是,任意t+1个参与者集合q中的每个参与者pi都进行计算,以得每个参与者对应的目标解密值,具体计算公式如下:
[0102][0103]
在每个参与者pi得到目标解密值之后,将目标解密值公布,以便其他参与者获取全部目标解密值。
[0104]
步骤s26:基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。
[0105]
本实施例中,基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值之后,基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。具体的,获取全部的所述预设数量个所述目标用户公布的所述目标解密值,以得到目标解密值集合;基于所述目标解密值集合、所述平方值以及预设解密中间值计算公式计算解密中间值;基于所述解密中间值、所述目标素数以及所述预设解密公式解密所述密文,以得
到所述解密后信息。可以理解的是,基于所述解密中间值、所述目标素数以及所述预设解密公式解密所述密文,以得到所述解密后信息之前,基于所述预设参数值计算公式(即ρ=p+1)以及二项式定理确定所述预设解密公式。
[0106]
进一步的,在密钥生成阶段得到的公钥为:
[0107][0108]
而在联合解密阶段得到的结果为:
[0109][0110]
可以得到加密和解密的过程一致,可以保证加密解密的正确性。
[0111]
本发明的算法满足加法同态,本发明的协议中不需要有可信任的中心,每个用户随机选择自己的秘密值,需要共享的秘密值即为所有秘密值的和。通过执行此秘密共享方案,使t+1个参与者联合可得到秘密值,但少于t+1个参与者联合不能得到共享秘密值的任何信息,即将密钥分配给多个用户分散保存,当需要解密时需要多于门限个用户一起协作才能正常对数据进行解密;在解密的时候可以直接使用简单的运算,而不需要通过遍历或者查表的方式,尤其在要加密的数据特别大的情况下(例如在联邦学习的模型参数的聚合过程中,可以利用门限密码算法对客户端的本地模型参数保密,此时需要对大量客户端的本地模型参数在密文上求和,然后对求和后的密文解密),本发明有效提高加密解密速度以及信息的安全性。本发明在无可信中心的情况下、满足加法同态的门限密码方案的解密效率过低问题,并且本发明提出的能够快速加解密的(n,n)门限密码方案同样不需要可信中心并且满足加法同态性。另外,可以将门限密码应用到无可信服务器的联邦学习中。
[0112]
关于上述步骤s24的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
[0113]
可见,本技术实施例通过获取预设数量个目标用户对应的目标私钥;从全部所述目标私钥中确定当前私钥,并基于所述当前私钥与所述平方值计算公钥中间值;所述公钥中间值为计算所述目标公钥时使用的中间值信息;获取全部所述目标私钥对应的所述公钥中间值,以得到中间值集合,基于所述中间值集合、所述平方值以及预设公钥计算公式计算所述目标公钥;利用所述目标公钥加密目标明文,以得到对应的密文;基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值;基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息,提高了信息的安全性以及解密效率。
[0114]
参见图3所示,本技术实施例还相应公开了一种密钥使用装置,包括:
[0115]
私钥获取模块11,用于获取预设数量个目标用户对应的目标私钥;
[0116]
公钥计算模块12,用于基于全部所述目标私钥计算目标公钥;
[0117]
加密模块13,用于利用所述目标公钥加密目标明文,以得到对应的密文;
[0118]
解密值计算模块14,用于基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值;
[0119]
解密模块15,用于基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。
[0120]
可见,本技术包括:获取预设数量个目标用户对应的目标私钥,并基于全部所述目
标私钥计算目标公钥;利用所述目标公钥加密目标明文,以得到对应的密文;基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值;基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。由此可见,本技术根据全部预设数量个目标用户的目标私钥计算目标公钥,通过将私钥的共享值信息分布在每个用户上,形成不需要可信任中心的密码,从而让所有的参与者都参与解密才能得到解密后信息,提高了信息的安全性以及解密效率。
[0121]
在一些具体实施例中,所述私钥获取模块11,具体包括:
[0122]
参数设定单元,用于设定安全参数;
[0123]
目标素数确定单元,用于将占用所述安全参数位数的素数确定为目标素数;
[0124]
平方值及本原根获取单元,用于获取所述目标素数对应的平方值以及所述平方值的本原根;
[0125]
目标参数确定单元,用于基于所述本原根以及预设参数值计算公式确定目标参数;
[0126]
当前用户确定单元,用于从所述预设数量个目标用户中确定当前用户;
[0127]
数值获取单元,用于获取所述当前用户从预设区间内选择的秘密值以及所述当前用户选择的随机数;其中,所述预设区间为基于所述目标素数确定的区间;
[0128]
多项式构造单元,用于基于所述随机数、所述秘密值构造所述当前用户对应的当前多项式;
[0129]
函数值计算单元,用于基于所述当前多项式计算所述预设数量个函数值;
[0130]
当前函数值存储单元,用于存储与所述当前用户的位置顺序对应的所述当前函数值;
[0131]
函数值发送单元,用于按照每个所述目标用户的所述位置顺序秘密发送其他对应的所述函数值;
[0132]
函数值接收单元,用于接收其他全部所述目标用户发送的所述函数值,以得到目标函数值集合;
[0133]
目标私钥计算单元,用于基于所述目标函数值集合、所述当前函数值以及预设私钥计算公式计算与所述当前用户对应的目标私钥;
[0134]
目标私钥获取单元,用于获取预设数量个目标用户对应的目标私钥;
[0135]
目标秘密值计算单元,用于基于所述预设数量个所述目标用户对应的所述目标私钥以及拉格朗日差值公式计算目标秘密值。
[0136]
在一些具体实施例中,所述公钥计算模块12,具体包括:
[0137]
当前私钥确定单元,用于从全部所述目标私钥中确定当前私钥;
[0138]
公钥中间值计算单元,用于基于所述当前私钥与所述平方值计算公钥中间值;所述公钥中间值为计算所述目标公钥时使用的中间值信息;
[0139]
中间值集合确定单元,用于获取全部所述目标私钥对应的所述公钥中间值,以得到中间值集合;
[0140]
目标公钥计算单元,用于基于所述中间值集合、所述平方值以及预设公钥计算公式计算所述目标公钥。
[0141]
在一些具体实施例中,所述加密模块13,具体包括:
[0142]
随机数获取单元,用于获取随机数;
[0143]
加密单元,用于基于所述随机数、所述平方值、所述目标公钥、所述目标参数以及预设加密公式加密所述目标明文,以得到对应的密文。
[0144]
在一些具体实施例中,所述解密值计算模块14,具体包括:
[0145]
目标解密值计算单元,用于基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值。
[0146]
在一些具体实施例中,所述解密模块15,具体包括:
[0147]
目标解密值集合确定单元,用于获取全部的所述预设数量个所述目标用户公布的所述目标解密值,以得到目标解密值集合;
[0148]
解密中间值计算单元,用于基于所述目标解密值集合、所述平方值以及预设解密中间值计算公式计算解密中间值;
[0149]
预设解密公式确定单元,用于基于所述预设参数值计算公式以及二项式定理确定所述预设解密公式;
[0150]
解密单元,用于基于所述解密中间值、所述目标素数以及所述预设解密公式解密所述密文,以得到所述解密后信息。
[0151]
进一步的,本技术实施例还提供了一种电子设备。图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
[0152]
图4为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的密钥使用方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
[0153]
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
[0154]
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
[0155]
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的密钥使用方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
[0156]
进一步的,本技术实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的密钥使用方法步骤。
[0157]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装
置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0158]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0159]
以上对本发明所提供的一种密钥使用方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
技术特征:
1.一种密钥使用方法,其特征在于,包括:获取预设数量个目标用户对应的目标私钥,并基于全部所述目标私钥计算目标公钥;利用所述目标公钥加密目标明文,以得到对应的密文;基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值;基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。2.根据权利要求1所述的密钥使用方法,其特征在于,所述获取预设数量个目标用户对应的目标私钥之前,还包括:设定安全参数,并将占用所述安全参数位数的素数确定为目标素数;获取所述目标素数对应的平方值以及所述平方值的本原根;基于所述本原根以及预设参数值计算公式确定目标参数;从所述预设数量个目标用户中确定当前用户,并获取所述当前用户从预设区间内选择的秘密值以及所述当前用户选择的随机数;其中,所述预设区间为基于所述目标素数确定的区间;基于所述随机数、所述秘密值构造所述当前用户对应的当前多项式;基于所述当前多项式计算所述预设数量个函数值,并存储与所述当前用户的位置顺序对应的所述当前函数值;按照每个所述目标用户的所述位置顺序秘密发送其他对应的所述函数值;接收其他全部所述目标用户发送的所述函数值,以得到目标函数值集合;基于所述目标函数值集合、所述当前函数值以及预设私钥计算公式计算与所述当前用户对应的目标私钥。3.根据权利要求2所述的密钥使用方法,其特征在于,所述基于全部所述目标私钥计算目标公钥,包括:从全部所述目标私钥中确定当前私钥,并基于所述当前私钥与所述平方值计算公钥中间值;所述公钥中间值为计算所述目标公钥时使用的中间值信息;获取全部所述目标私钥对应的所述公钥中间值,以得到中间值集合;基于所述中间值集合、所述平方值以及预设公钥计算公式计算所述目标公钥。4.根据权利要求2所述的密钥使用方法,其特征在于,所述利用所述目标公钥加密目标明文,以得到对应的密文,包括:获取随机数,并基于所述随机数、所述平方值、所述目标公钥、所述目标参数以及预设加密公式加密所述目标明文,以得到对应的密文。5.根据权利要求2所述的密钥使用方法,其特征在于,所述基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息,包括:获取全部的所述预设数量个所述目标用户公布的所述目标解密值,以得到目标解密值集合;基于所述目标解密值集合、所述平方值以及预设解密中间值计算公式计算解密中间值;基于所述解密中间值、所述目标素数以及所述预设解密公式解密所述密文,以得到所述解密后信息。6.根据权利要求5所述的密钥使用方法,其特征在于,所述基于所述解密中间值、所述
目标素数以及所述预设解密公式解密所述密文,以得到所述解密后信息之前,还包括:基于所述预设参数值计算公式以及二项式定理确定所述预设解密公式。7.根据权利要求1至6任一项所述的密钥使用方法,其特征在于,还包括:基于所述预设数量个所述目标用户对应的所述目标私钥以及拉格朗日差值公式计算目标秘密值。8.一种密钥使用装置,其特征在于,包括:私钥获取模块,用于获取预设数量个目标用户对应的目标私钥;公钥计算模块,用于基于全部所述目标私钥计算目标公钥;加密模块,用于利用所述目标公钥加密目标明文,以得到对应的密文;解密值计算模块,用于基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值;解密模块,用于基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的密钥使用方法的步骤。10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的密钥使用方法。
技术总结
本申请公开了一种密钥使用方法、装置、设备及存储介质,涉及云计算技术领域,用于解决目前解密效率低的缺点,包括:获取预设数量个目标用户对应的目标私钥,并基于全部所述目标私钥计算目标公钥;利用所述目标公钥加密目标明文,以得到对应的密文;基于所述预设数量个所述目标用户对应的所述目标私钥计算对应的目标解密值;基于预设解密公式以及所述目标解密值解密所述密文,以得到解密后信息。本申请根据全部预设数量个目标用户的目标私钥计算目标公钥,通过将私钥的共享值信息分布在每个用户上,形成不需要可信任中心的密码,从而让所有的参与者都参与解密才能得到解密后信息,提高了信息的安全性以及解密效率。提高了信息的安全性以及解密效率。提高了信息的安全性以及解密效率。
技术研发人员:王小伟 张旭 孙华锦
受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
技术研发日:2023.07.21
技术公布日:2023/9/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/