秘密分享方法、系统、装置及存储介质制造方法及图纸

技术编号:34253021 阅读:63 留言:0更新日期:2022-07-24 12:00
本发明专利技术公开了一种秘密分享方法、系统、装置及存储介质,其中所述方法包括:首先根据椭圆曲线的参数五元组,生成第一秘密信息;根据第一秘密信息和预设的密钥生成算法,生成加密秘钥;根据加密秘钥和预设的秘密加密算法,对待加密信息进行加密,得到秘密;根据椭圆曲线、随机数和选定的系统种子,生成多份分割私钥;将每份分割私钥和秘密通过秘密信道发布给多个成员。本申请实施例基于椭圆曲线加密机制,实现了秘密的分散保存,从分割密钥恢复秘密是离散对数难度,有效保障了秘密的安全。另外,本申请通过根据椭圆曲线生成的第一秘密信息对待加密信息进行加密,进一步提高了秘密的安全性。性。性。

Secret sharing method, system, device and storage medium

【技术实现步骤摘要】
秘密分享方法、系统、装置及存储介质


[0001]本申请涉及密码
,尤其涉及一种秘密分享方法、系统、装置及存储介质。

技术介绍

[0002]秘密分享是一种将秘密分割存储的密钥技术,为了防止秘密过于集中,将秘密分解为多个份额并将每个份额分发给不同的人掌管,当需要获得原始的秘密时,需要多个份额的秘密才能还原得到原始的秘密,从而实现多人分担保密风险的功能。
[0003]因此,在这种保密机制下,为了保障秘密的安全,如何有效防止秘密掌管者依赖自身的秘密份额对原始秘密进行还原,是秘密分享技术中亟待解决的问题。

技术实现思路

[0004]本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请提出一种秘密分享方法、系统、装置及存储介质。
[0005]第一方面,本申请实施例提供了一种秘密分享方法,包括:根据椭圆曲线的参数五元组,生成第一秘密信息;根据所述第一秘密信息和预设的密钥生成算法,生成加密秘钥;根据所述加密秘钥和预设的秘密加密算法,对所述待加密信息进行加密,得到秘密;根据所述椭圆曲线、随机数和选定的系统种子,生成多份分割私钥;将每份所述分割私钥和所述秘密通过秘密信道发布给多个成员。
[0006]可选地,所述根据椭圆曲线的参数五元组,生成第一秘密信息,包括:确定所述椭圆曲线为y2=x3+ax+b,并确定所述椭圆曲线的参数五元组a、b、p、q、G;其中,x表示所述椭圆曲线上点的横坐标,y表示所述椭圆曲线上点的纵坐标;a、b为系数,G为基点,p为大素数,q为阶,q也为大素数,随机生成列向量P;P=[a0,a1,...,a
m
‑1]T
;其中,a
i
为GF(q)域内的整数,i=0,1,...,m

1;根据a
i
确定key
s
;key
s
=a0+a1+...+a
m
‑1mod(q);其中,mod(q)表示对q进行取模运算(除非特殊说明,下面所有的运算都是都是在GF(q)域上的模代数,包括逆矩阵,也是指GF(q)域上的逆矩阵,不是实数域上的逆矩阵);根据key
s
和G,确定KEY
s
;KEY
s
=key
s
G;其中,KEY
s
为所述第一秘密信息。
[0007]可选地,所述根据所述椭圆曲线、随机数和选定的系统种子,生成多份分割私钥,包括:选定任意非零值为所述系统种子seed,并计算所述系统种子的散列值h;h=Hash(seed)mod(q);其中,Hash()表示散列算法,mod(q)表示对q进行取模运算;根据所述椭圆曲线,选取x
i
,生成行向量X
i
,并通过X
i
计算得到y
i
;生成所述随机数k
i
,根据k
i
和G确定R
i
;R
i
=k
i
G=(x
R,i
,y
R,i
);根据h、y
i
和x
R,i
确定s
i
;其中,为k
i
在GF(q)域内的逆元;每份所述分割私钥表示为(s
i
,R
i
)。
[0008]可选地,所述根据所述椭圆曲线,选取x
i
,生成行向量X
i
,并通过X
i
计算得到y
i
,包括:选取x1,x2,...,x
N
,生成行向量其中,当且仅当i=j,j∈{1,2,...,N}时,x
i
=x
j
;根据X
i
计算y
i
;y
i
=X
i
Pmod(q),i=1,

,N;其中,P为所述列向量,mod
(q)表示对q取模。
[0009]可选地,所述方法还包括:销毁key
s
、KEY
s
、a
i
和y
i
,公开seed、X
i
和椭圆曲线参数五元组a、b、p、q、G。
[0010]可选地,所述方法还包括秘密恢复步骤,这一步骤包括:获取m个成员对应的m个(s
i
,R
i
);根据每个成员的(s
i
,R
i
)所对应的T
i
;根据计算得到的m个T
i
,还原KEY
s
;根据KEY
s
和所述密钥生成算法,生成解密密钥;根据所述解密密钥和所述预设的秘密加密算法,对所述秘密进行解密,得到所述待加密信息。
[0011]可选地,所述密钥生成算法为散列算法;
[0012]第二方面,本申请实施例提供了一种秘密分享系统,包括:第一模块,用于根据椭圆曲线的参数五元组,生成第一秘密信息;第二模块,用于根据所述第一秘密信息和预设的密钥生成算法,生成加密秘钥;第三模块,用于根据所述加密秘钥和预设的秘密加密算法,对所述待加密信息进行加密,得到秘密;第四模块,用于根据所述椭圆曲线、随机数和选定的系统种子,生成多份分割私钥;第五模块,用于将每份所述分割私钥和所述秘密通过秘密信道发布给多个成员。
[0013]第三方面,本申请实施例提供了一种秘密分享装置,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上述的秘密分享方法。
[0014]第四方面,本申请实施例提供了一种计算机存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由所述处理器执行时用于实现如上述的秘密分享方法。
[0015]本申请实施例的有益效果如下:首先根据椭圆曲线的参数五元组,生成第一秘密信息;根据第一秘密信息和预设的密钥生成算法,生成加密秘钥;根据加密秘钥和预设的秘密加密算法,对待加密信息进行加密,得到秘密;根据椭圆曲线、随机数和选定的系统种子,生成多份分割私钥;将每份分割私钥和秘密通过秘密信道发布给多个成员。本申请实施例基于椭圆曲线加密机制,实现了秘密的分散保存,从分割密钥恢复秘密是离散对数难度,有效保障了秘密的安全。另外,本申请通过根据椭圆曲线生成的第一秘密信息对待加密信息进行加密,进一步提高了秘密的安全性。
附图说明
[0016]附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
[0017]图1是本申请实施例提供的秘密分享方法的步骤流程图;
[0018]图2为本申请实施例提供的秘密分享系统的示意图;
[0019]图3为本申请实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种秘密分享方法,其特征在于,包括:根据椭圆曲线的参数五元组,生成第一秘密信息;根据所述第一秘密信息和预设的密钥生成算法,生成加密秘钥;根据所述加密秘钥和预设的秘密加密算法,对所述待加密信息进行加密,得到秘密;根据所述椭圆曲线、随机数和选定的系统种子,生成多份分割私钥;将每份所述分割私钥和所述秘密通过秘密信道发布给多个成员。2.根据权利要求1所述的秘密分享方法,其特征在于,所述根据椭圆曲线的参数五元组,生成第一秘密信息,包括:确定所述椭圆曲线为y2=x3+ax+b,并确定所述椭圆曲线的参数五元组a、b、p、q、G;其中,x表示所述椭圆曲线上点的横坐标,y表示所述椭圆曲线上点的纵坐标;a、b为系数,G为基点,p为大素数,q为阶,q也为大素数,随机生成列向量P;P=[a0,a1,...,a
m
‑1]
T
;其中,a
i
为GF(q)域内的整数,i=0,1,...,m

1;根据a
i
确定key
s
;key
s
=a0+a1+...+a
m
‑1mod(q);其中,mod(q)表示对q进行取模运算;根据key
s
和G,确定KEY
s
;KEY
s
=key
s
G;其中,KEY
s
为所述第一秘密信息。3.根据权利要求2所述的秘密分享方法,其特征在于,所述根据所述椭圆曲线、随机数和选定的系统种子,生成多份分割私钥,包括:选定任意非零值为所述系统种子seed,并计算所述系统种子的散列值h;h=Hash(seed)mod(q);其中,Hash()表示散列算法,mod(q)表示对q进行取模运算;根据所述椭圆曲线,选取x
i
,生成行向量X
i
,并通过X
i
计算得到y
i
;生成所述随机数k
i
,根据k
i
和G确定R
i
;R
i
=k
i
G=(x
R,i
,y
R,i
);根据h、y
i
和x
R,i
确定s
i
;其中,为k
i
在GF(q)域内的逆元;每份所述分割私钥表示为(s
i
,R
i
)。4.根据权利要求3所述的秘密分享方法,其特征在于,所述根据所述椭圆曲线,...

【专利技术属性】
技术研发人员:田文春王含徐艺武陈洪
申请(专利权)人:广州天予智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1