【技术实现步骤摘要】
一种基于SM9的双方加密解密方法、系统及电子设备
[0001]本专利技术属于信息安全
,涉及一种双方加密解密方法、系统及电子设备,具体涉及一种基于SM9算法的双方加密解密方法、系统及电子设备。
技术介绍
[0002]在信息安全领域中,如何保护数据的安全与隐私一直是人们关注的重点。在安全通信场景中,服务端加密方法会存储在传输过程中加密的数据,保证数据不被未经授权者访问,但这种方法不能保护整个的数据隐私的传输过程。端到端加密方式提供了很好的解决方法,这种方法的加密解密过程发生在终端设备上,只有发送方和指定的接收方可以访问数据,任何第三方机构都不能访问服务器上的加密数据。即时通信是当前信息网络上应用广泛的一种通信技术,允许两人或多人使用互联网实时传输文字、语音和图片等信息。与电子邮件等传统安全通信任务的要求不同,安全即时通信不仅要求保障用户信息的安全传输,同时也需要保证用户隐私数据的安全存储。
[0003]运用密码技术是解决通信过程中的数据隐私保护问题的重要手段。目前的即时通信加密技术为满足该场景下用户双方的解密需求,需要通过密钥协商生成双方共有的会话密钥。这种方法不仅为实现会话密钥的一次一密安全要求带来了困难,也为即时通信系统的密钥管理带来了极大困难。SM9公钥加密与解密算法即基于标识的非对称密码算法,该算法使消息发送者可以利用接收者的标识对消息进行加密,只有接收者可以用相应的私钥对该密文进行解密,从而获取消息。与传统公钥加密算法相比,SM9通过将用户标识作为公钥,从而省略了数字证书交换与证书管理等过程,适 ...
【技术保护点】
【技术特征摘要】
为K最左边的mlen比特,K2为剩下的K
2_
len比特,若K1为全0比特串,则回转执行步骤1.2:(2)计算如果加密明文的方法是结合密钥派生函数的分组密码算法,则:(1)计算整数klen=K1‑
len+K
2_
len,然后计算K=KDF(C1||C
′1||w||ID
A
||ID
B
,klen);令K1为K最左边的K
1_
len比特,K2为剩下的K
2_
len比特,若K1为全0比特串,则回转执行步骤1.2;(2)计算C2=Enc(K1,M);其中,Enc()为分组加密算法;步骤1.8:计算C3=MAC(K2,C2);其中,MAC()为消息认证码函数;步骤1.9:输出密文C=C1||C
′1||C3||C2。3.根据权利要求1所述的基于SM9的双方加密解密方法,其特征在于,步骤2的具体实现包括以下子步骤:步骤2.1:从C中取出比特串C1与C
′1,将C1的数据类型转换为椭圆曲线上的点,验证C1∈G1是否成立,并计算中间变量t,若不成立则报错并退出;步骤2.2:计算群G
T
中的元素w
′
,将w
′
的数据类型转换为比特串;w
′
=e(C1,de
A
)
t
;步骤2.3:使用密钥派生函数KDF()生成加密码密钥,解密密文C2得到M;如果加密明文的方法是基于密钥派生函数的序列密码算法,则:(1)计算整数klen=mlen+K
2_
len,然后计算K
′
=KDF(C1||C
′1||w
′
||ID
A
||ID
B
,klen);令K
′1为K
′
最左边的mlen比特,K
′2为剩下的K
2_
len比特,若K
′1为全0比特串,则报错并退出;(2)计算如果加密明文的方法是结合密钥派生函数的分组密码算法,则:(1)计算整数klen=K
1_
len+K
2_
len,然后计算K
′
=KDF(C1||C
′1||w
′
||ID
A
||ID
B
,klen);令K
′1为K
′
最左边的K
1_
len比特,K
′2为剩下的K
2_
len比特,若K
′1为全0比特串,则报错并退出;(2)计算M
′
=Dec(k
′1,C2);其中,Dec()为分组解密算法;步骤2.4:计算u=MAC(K
′2,C2),从C中取出比特串C3,若u≠C3,则报错并退出;步骤2.5:输出明文M
′
。4.根据权利要求1所述的基于SM9的双方加密解密方法,其特征在于,步骤3的具体实现包括以下子步骤:步骤3.1:从C中取出比特串C
′1,将C
′1的数据类型转换为椭圆曲线上的点,验证C
′1∈G1是否成立,若不成立则报错并退出;步骤3.2:计算群G
T
中的元素w
′
,将w
′
的数据类型转换为比特串;w
′
=e(C
′1,de
B
);其中,de
B
为用户B的私钥,de
B
=[ke
·
(H1(ID
B
||...
【专利技术属性】
技术研发人员:杜昭睿,宋奕,杨世昭,王茜艳,霍明月,
申请(专利权)人:烟台珈港电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。