打印
[APM32F4]

APM32F407支持国密算法,助力国产安全可控 ——SM2

[复制链接]
689|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Aligagago 于 2022-5-5 18:15 编辑

#技术资源# #申请原创#
  在了解SM2(非对称加密算法)之前,先给大家科普下什么是对称加密和非对称加密。
对称加密:指信息的发送方和接收方采用同一个密钥去进行数据的加密和解密。

非对称加密:指需要两个不同的密钥(公开密钥public key、私有密钥private key)进行加解密,如果用公开密钥对数据进行加密,只有对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有对应的公开密钥才能解密。

SM2详解:
  SM2 是由国家密码管理局于 2010年12月17日发布,相关标准为“GM/T0003-2012 《SM2 椭圆曲线公钥密码算法》 ”其算法公开。是我国自主设计的公钥密码算法。在国际标准的 ECC 椭圆曲线密码理论基础上进行自主研发设计,具备 ECC 算法的性能特点更加安全先进。具有抗攻击性强、CPU占用少、内存占用少、网络消耗低、加密速度快等功能特性。

  
SM2
RSA
算法结构
基本椭圆曲线(ECC)
基于特殊的可逆模幂运算
计算复杂度
完全指数级
亚指数级
公钥位数
256bit
2048bit
秘钥生成速度
较RSA算法快百倍以上
解密加密速度
较快
一般
安全性:
      ECC算法的单位安全强度远高于RSA算法,可用较少的计算能力提供比RSA算法更高的安全强度,而所需的密钥长度却远比RSA算法低。目前基于ECC的SM2 证书普遍采用256位密钥长度,加密强度等同于 3072 位 RSA证书,远高于业界普遍采用的2048位RSA证书。
此外,为了提高安全强度必须不断增加密钥长度,ECC算法密钥长度增长速度较慢,而RSA算法密钥长度则需呈倍数增长。
对称秘钥长度(bit)
ECC秘钥长度(bit)
RSA秘钥长度(bit)
保密年限
80
160
1024
2010
122
224
2048
2030
128
256
3072
2040
192
384
7680
2080
256
512
15360
2120
高效性:
     在TLS握手过程中,更长的密钥意味着必须来回发送更多数据以验证连接,产生更大性能损耗和时间延迟。因此,ECC算法能够以较小的密钥和较少的数据传递建立HTTPS连接,确保相同安全强度的前提下提升连接速度。

函数描述:
函数
描述
SM2_Cinfig
初始化ECC算法参数,执行其余函数前必须配置此函数。
SM2_Gen_KeyPair
生成一对密钥,公钥(32Bytes)和私钥(64Bytes)
SM2_Encryption
加密明文(1-2048 Bytes),生成密文,输出为:(04 || C1 || C2 || C3).
SM2_Decryption
解密密文(98-2145 Bytes),生成明文。
SM2_Preprocess
签名预处理,输入Message and ID,生成 e: pointer to the H256.
SM2_Signature
签名,输入e值,生成signature.R(32Bytes)signature.S(32Bytes)
SM2_Verify
验签,返回验签结果(SM2_VERIFY_SUCESS)
注:
1.密文输出顺序为 C1,C2,C3(旧标准),C1,C3,C2(新标准GM/T 0009-2012)。
2.04为压缩标识(1Byte),C1为公钥xy分量(64Bytes),C2为加密数据(与明文长度一致),C3为摘要值(32Bytes)。

参考资料:
  • 国家密码管理局:https://www.sca.gov.cn/

  • 密码标准委员会:http://www.gmbz.org.cn/


使用特权

评论回复
沙发
caigang13| | 2022-5-5 20:51 | 只看该作者
比较看好非对称加密

使用特权

评论回复
板凳
Aligagago|  楼主 | 2022-5-6 11:38 | 只看该作者
caigang13 发表于 2022-5-5 20:51
比较看好非对称加密

大家各有优缺点,后续会讲两者取长补短的应用。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

14

帖子

0

粉丝