400-900-6808
登录
当前位置: 首页 > 资讯中心 > SM2算法对比RSA算法有什么不一样的

SM2算法对比RSA算法有什么不一样的

SM2算法对比RSA算法有什么不一样的

   SM2算法和RSA算法都是公钥密码算法,SM2算法是一种更先进安全的算法,在安全性能、速度性能等方面都优于RSA算法,在我国商用密码体系中被用来替换RSA算法。国家密码管理局于2010年12月17日发布了SM2算法,并要求现有的基于RSA算法的电子认证系统、密钥管理系统、应用系统进升级改造,使用SM2算法。


SM2算法和RSA算法简介


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

    随着密码技术和计算机技术的发展,目前1024位RSA算法已经被证实存在被攻击的风险,美国国家标准技术研究院在2010年要求全面禁用1024位RSA算法,升级到2048位RSA算法。

    SM2算法,由国家密码管理局于2010年12月发布,是我国自主设计的公钥密码算法。SM2基于更加安全先进的椭圆曲线密码机制,在国际标准的ECC椭圆曲线密码理论基础上进行改进而来,其加密强度更高。


安全性能对比


    RSA算法,其数学原理相对简单,在工程应用中比较易于实现,但它的单位安全强度相对较低。随着计算机运算速度的提高和分布式计算的发展,加上因子分解方法的改进,对低位数的密钥攻击已成为可能。

    ECC算法,其数学理论非常深奥复杂,在工程应用中比较难以实现,但它的单位安全强度相对较高,破译或求解难度基本上是指数级的。

    因此,ECC算法的单位安全强度远高于RSA算法,可以用较少的计算能力提供比RSA算法更高的安全强度,而所需的密钥长度却远比RSA算法低。

    目前,基于ECC的SM2算法普遍采用256位密钥长度,加密强度等同于3072位RSA证书,远高于业界普遍采用的2048位RSA证书。



    此外,为了提高安全强度必须不断增加密钥长度,ECC算法密钥长度增长速度较慢(例如:224-256-384),而RSA算法密钥长度则需呈倍数增长(例如:1024-2048-4096)。


速度性能对比


    更长的密钥意味着必须来回发送更多的数据以验证连接,产生更大的性能损耗和时间延迟。因此,SM2算法能够以较小的密钥和较少的数据传递建立HTTPS连接,在确保相同安全强度的前提下提升连接速度。

    经国外有关权威机构测试,在Web服务器中采用SM2算法,Web服务器响应时间比RSA算法快十几倍。