之前的文章中我们简单聊了SM9加密算法和国密算法,如果按照逻辑来讲,今天应该讲一讲SM1的。但是无奈SM1算法并不公开,最多的介绍也是其加密强度与AES加密算法相当。所以,我们今天跨过SM1,来了解一下SM2加密算法。
SM2加密算法
SM2加密算法是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,是一种基于ECC椭圆曲线密码理论的非对称算法。
SM2的出现
众所周知,RSA加密算法是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,被ISO推荐为公钥数据加密标准。
但是随着密码技术和计算机技术的不断发展,1024位的RSA算法已经被证实存在被攻击的风险,所以为了避免潜在攻击的出现,我国密码管理部门决定在商用密码体系中,采用SM2椭圆曲线算法替换RSA算法。
SM2的优点
SM2和RSA算法一样,都属于公钥密码算法,但SM2算法是一种更先进更安全的加密算法。
- 安全强度高
RSA算法的数学原理相对简单,在工程应用中比较易于实现,以至于它的安全强度相对较低。随着计算机运行速度的不断进步,加上因子分解方法的改进,使其的安全系数进一步降低。
而在国际标准的ECC椭圆曲线密码理论基础上进行改进而来的SM2加密算法,其数学理论非常深奥复杂,在工程应用中比较难以实现,但它拥有更高的安全轻度。
目前,SM2算法普遍采用256位密钥长度,加密强度等同于3072位密钥的RSA算法。
- 运行速度快、消耗少
加密算法为了提高加密强度就必须不断增加密钥长度,而更长的密钥意味着必须来回发送更多的数据以验证连接,这也就以为着会产生更大的性能损耗和时间延迟。
SM2算法的密钥长度增长速度较慢,一般为160-224-256…,而RSA算法密钥长度则需呈倍数增长,如1024-2048-3072…。
这也就意味着,在同等安全要求下,SM2算法能够以较小的密钥和较少的数据,能有效的保障加密的安全性,同时减少计算机的运行时间和性能消耗。
免责声明:素材源于网络,如有侵权,请联系删稿。