之前的文章中我们简单聊了SM9加密算法和国密算法,如果按照逻辑来讲,今天应该讲一讲SM1的。但是无奈SM1算法并不公开,最多的介绍也是其加密强度与AES加密算法相当。所以,我们今天跨过SM1,来了解一下SM2加密算法。

SM2加密算法

SM2加密算法是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,是一种基于ECC椭圆曲线密码理论的非对称算法。

SM2加密算法

SM2的出现

众所周知,RSA加密算法是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,被ISO推荐为公钥数据加密标准。

但是随着密码技术和计算机技术的不断发展,1024位的RSA算法已经被证实存在被攻击的风险,所以为了避免潜在攻击的出现,我国密码管理部门决定在商用密码体系中,采用SM2椭圆曲线算法替换RSA算法。

SM2加密算法

SM2的优点

SM2和RSA算法一样,都属于公钥密码算法,但SM2算法是一种更先进更安全的加密算法。

  • 安全强度高

RSA算法的数学原理相对简单,在工程应用中比较易于实现,以至于它的安全强度相对较低。随着计算机运行速度的不断进步,加上因子分解方法的改进,使其的安全系数进一步降低。

而在国际标准的ECC椭圆曲线密码理论基础上进行改进而来的SM2加密算法,其数学理论非常深奥复杂,在工程应用中比较难以实现,但它拥有更高的安全轻度。

目前,SM2算法普遍采用256位密钥长度,加密强度等同于3072位密钥的RSA算法。

SM2加密算法

  • 运行速度快、消耗少

加密算法为了提高加密强度就必须不断增加密钥长度,而更长的密钥意味着必须来回发送更多的数据以验证连接,这也就以为着会产生更大的性能损耗和时间延迟。

SM2算法的密钥长度增长速度较慢,一般为160-224-256…,而RSA算法密钥长度则需呈倍数增长,如1024-2048-3072…。

这也就意味着,在同等安全要求下,SM2算法能够以较小的密钥和较少的数据,能有效的保障加密的安全性,同时减少计算机的运行时间和性能消耗。

免责声明:素材源于网络,如有侵权,请联系删稿。