一种基于国密算法的门限密钥协商的方法及系统技术方案

技术编号:39505570 阅读:16 留言:0更新日期:2023-11-24 11:37
本发明专利技术涉及

【技术实现步骤摘要】
一种基于国密算法的门限密钥协商的方法及系统


[0001]本专利技术涉及
SM2
密钥协商
,尤其涉及一种基于国密算法的门限密钥协商的方法及系统


技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术

[0003]在基于硬件指纹的高安全性国密自动化加固系统中,通信方
B
与通信方
A
的通信交流必不可少,而通信时维护安全的主要方法就是密钥协商

在密钥协商过程中,身份验证关系到双方的通信安全,在密钥协商之前,双方要确保对方的身份是合法的,如果没有进行有效的身份验证,就会存在被伪造者攻击或中间人攻击的风险

其次,密钥传输过程中,双方需要交换信息以生成共享密钥,但是在不安全的通信渠道中传递数据很容易被攻击,造成密钥信息泄露或篡改,威胁通信的机密性和完整性

此外,密钥信息的管理也是一个挑战,共享密钥的生成

存储和更新需要精确而安全的处理,如果密钥信息管理不当,比如密钥过期

密钥关键信息泄露等问题,都会造成密钥被破解或者被篡改而无法使用,进而威胁系统的安全性


技术实现思路

[0004]为了解决上述
技术介绍
中存在的技术问题,本专利技术提供一种基于国密算法的门限密钥协商的方法及系统,其由云端充当可信中心,执行
Shamir
门限秘密共享方案将私钥
dB/>进行分割,得到子秘密项
dBi
,设置分割的安全级别,并将
dBi
进行包数据处理发送给通信方
B
;通信方
A
选取随机数
rA
并计算出椭圆曲线点
RA
转化为整数,发送给通信方
B
;通信方
B
选取随机数
rB
计算椭圆曲线点
RB
转化为整数,发送给通信方
A
,并执行门限算法将
rB
分割成若干数据项
rBi
,对数据项
rBi
进行打包处理,添加认证信息等操作,随后将数据项
rBi
传递给通信方
B
;通信方
B
接收云端数据包
dBi
;通信方
B
选取合适的
Vi
,进行拉格朗日插值法恢复点
V
,验证点
V
是否在椭圆曲线上,若不满足,则重新选取
rBi
进行计算;通信方
B
执行
Shamir
门限秘密共享方案将
KB
进行分割,得到
k
个子秘密项
KBi
,并选取若干项发送给通信方
A
,若需要再次传输数据,则通过
KBi
项进行恢复
KB
,验证其安全性和保密性

[0005]为了实现上述目的,本专利技术采用如下技术方案:
[0006]本专利技术的第一个方面提供一种基于国密算法的门限密钥协商的方法

[0007]一种基于国密算法的门限密钥协商的方法,通信双方通过互相传递信息,共同协商出一个共享密钥,通信方
A
和通信方
B
,各自分别具有私钥
dA、dB
,公钥
PA、PB

[0008]所述通信方
A
包括以下步骤:使用伪随机数生成器选取随机数
rA
,并计算出椭圆曲线点
RA
,再转化为整数后,发送给通信方
B
;接收通信方
B
计算的椭圆曲线点
RB
和通信方
B
选取的随机数
rB
,执行门限算法将
rB
分割成若干数据项
rBi
,对数据项
rBi
进行处理后,将数据项
rBi
发送给通信方
B
;验证
RB
是否在椭圆曲线上,不满足则报错退出;根据公钥
PB
计算椭圆
曲线点
U
,并根据椭圆曲线点
U
,计算
KA
;接收通信方
B
计算的
KB
,并判断
KA

KB
是否成立,若是,则协商通过;否则不通过,则协商失败;
[0009]所述通信方
B
包括以下步骤:使用伪随机数生成器选取随机数
rB
,计算椭圆曲线点
RB
,再转化为整数后,发送给通信方
A
;接收云端数据包
dBi
,以此计算
tBi
,并保存;接收通信方
A
计算的椭圆曲线点
RA
,验证
RA
是否满足椭圆曲线方程,不满足则报错退出;根据
tBi

RA
计算
Vi
,进行拉格朗日插值法恢复点
V
,验证点
V
是否在椭圆曲线上,若不满足,则重新选取
rBi
进行计算;根据点
V
,计算
KB
,并发送给通信方
A。
[0010]进一步地,所述云端数据包
dBi
的产生过程包括:云端采用
Shamir
门限秘密共享方案将私钥
dB
进行分割,得到
k
个子秘密项
dBi
,保存
dBi
,并选取若干项
dBi
发送给通信方
A。
[0011]更进一步地,所述端采用
Shamir
门限秘密共享方案将私钥
dB
进行分割的过程包括:
[0012]将数据私钥
dB
转换为
Base64
字符串并存储在
password
变量中;
[0013]根据
shamir
门限秘密共享方案分别创建
Split
分割函数,
SecurityLevel
安全级别等级函数;
[0014]设置分割的安全级别,存储在
splitSecurityLevel
变量中;
[0015]使用
split.MakeShares
方法进行密码分割,传入参数为:要求的最小共享数量

总共的共享数量
、password、

splitSecurityLevel
...

【技术保护点】

【技术特征摘要】
1.
一种基于国密算法的门限密钥协商的方法,其特征在于,通信双方通过互相传递信息,共同协商出一个共享密钥,通信方
A
和通信方
B
,各自分别具有私钥
dA、dB
,公钥
PA、PB
;所述通信方
A
包括以下步骤:使用伪随机数生成器选取随机数
rA
,并计算出椭圆曲线点
RA
,再转化为整数后,发送给通信方
B
;接收通信方
B
计算的椭圆曲线点
RB
和通信方
B
选取的随机数
rB
,执行门限算法将
rB
分割成若干数据项
rBi
,对数据项
rBi
进行处理后,将数据项
rBi
发送给通信方
B
;验证
RB
是否在椭圆曲线上,不满足则报错退出;根据公钥
PB
计算椭圆曲线点
U
,并根据椭圆曲线点
U
,计算
KA
;接收通信方
B
计算的
KB
,并判断
KA

KB
是否成立,若是,则协商通过;否则不通过,则协商失败;所述通信方
B
包括以下步骤:使用伪随机数生成器选取随机数
rB
,计算椭圆曲线点
RB
,再转化为整数后,发送给通信方
A
;接收云端数据包
dBi
,以此计算
tBi
,并保存;接收通信方
A
计算的椭圆曲线点
RA
,验证
RA
是否满足椭圆曲线方程,不满足则报错退出;根据
tBi

RA
计算
Vi
,进行拉格朗日插值法恢复点
V
,验证点
V
是否在椭圆曲线上,若不满足,则重新选取
rBi
进行计算;根据点
V
,计算
KB
,并发送给通信方
A。2.
根据权利要求1所述的基于国密算法的门限密钥协商的方法,其特征在于,所述云端数据包
dBi
的产生过程包括:云端采用
Shamir
门限秘密共享方案将私钥
dB
进行分割,得到
k
个子秘密项
dBi
,保存
dBi
,并选取若干项
dBi
发送给通信方
A。3.
根据权利要求2所述的基于国密算法的门限密钥协商的方法,其特征在于,所述端采用
Shamir
门限秘密共享方案将私钥
dB
进行分割的过程包括:将数据私钥
dB
转换为
Base64
字符串并存储在
password
变量中;根据
shamir
门限秘密共享方案分别创建
Split
分割函数,
SecurityLevel
安全级别等级函数;设置分割的安全级别,存储在
splitSecurityLevel
变量中;使用
split.MakeShares
方法进行密码分割,传入参数为:要求的最小共享数量

总共的共享数量
、password、

splitSecurityLevel
;将返回的
shares
对象赋值给
secret
变量,表示原始密码的秘密部分;使用
LINQ
表达式筛选出满足条件
(X
是偶数
)
的份额,并将结果存储在
subSet1
变量中;将
dBi
进行包数据处理发送给通信方
B。4.
根据权利要求1所述的基于国密算法的门限密钥协商的方法,其特征在于,所述将
dBi
进行包数据处理发送给通信方
B
的过程包括:选择要发送的子秘密项
dBi
,同时从总数据项中对已经发送的子秘密项
dBi
进行标记
dBi

;添加标识信息
identity
,表示发送方的身份标识;添加哈希认证
Hash Authentication
,用于验证包的完整性和防篡改;将包括
dBi
的关键信息进行加密处理;添加发送包的时间戳信息,并将上述操作后的数据放入
JSON
数据结构中,转换为字符串
。5.
根据权利要求1所述的基于国密算法的门限密钥协商的方法,其特征在于,所述根据
tBi

RA
计算
Vi
,进行拉格朗日插值法恢复点
V
的过程包括:对一些参数进行初始化,包括
SM2
曲线的参数以及定义一个
Infinity
点作为插值的初
始点;对于每一个已知点,计算其对应的
Li
值;
Li
的计算使用了拉格朗日插值公式,其中分子部分使用了已知点的
x
坐标的差值,分母部分使用了已知点的
x
坐标的差值的累积乘积,并求模曲线的模数
p
;将
Li
值乘以对应的已知点的
y
坐标,并求模曲线的模数
p
;将
Li
值乘以
SM2
曲线的生成点
G
,得到对应的插值点
LiPoint
;将插值点
LiPoint
与之前的插值点
interpolatedPoint
相加,得到新的插值点;循环遍历所有的已知点,重复计算新的差之点的过程;返回最终的插值点;构造坐标点,验证其是否满足椭圆曲线方程
。6.
根据权利要求1所述的基于国密算法的门限密钥协商的方法,其特征在于,在得到
KB
后,通信方
B
采用
Shamir
秘密共享方案将
KB
进行分割,得到
k
个子秘密项
KBi
,保存
KBi
,并选取若干项发送给通信方
A。7.
根据权利要求6所述的基于国密算法的门限密钥协商的方法,其特征在于,所述在得到
KB
后,通信方
B
采用
Shamir
秘密共享方案将
KB
进行分割,得到
k
个子秘密项
KBi
,保存
KBi
,并选取若干项发送给通信方
A
的过程包括:通信方
B
执行以下步骤:将得到的共享密钥
KB
,使用
Split
函数进行分割,得到分割后的子密钥项
KB1

KB2

KB3
;选择
KB1
子密钥项,采用包处理方式添加身份标识
identity
,哈希认证
Hash Authentication
等操作,同时标记
KB1
子密钥项;将处理后的
KB1
数据包发送给通信方
A
,同时接收通信方
A<...

【专利技术属性】
技术研发人员:王坤付勇高绍锋陈丽娟
申请(专利权)人:齐鲁工业大学山东省科学院
类型:发明
国别省市:

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

1