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算法快十几倍。


SM2算法的应用推广


    我国大力推动SM2国产密码算法替换目前所采用的RSA算法,一方面规避RSA算法存在的脆弱性和“预置后门”等安全风险,另一方面确保密码算法这一关键环节的自主可控,保障我国信息安全基础设施的安全可信。

    目前,国密改造计划处于快速推进中,为了响应国家号召,加快推动计划的落地,推出“双证书”应用模式,即国密SM2+RSA双算法证书支持。

    国密SM2+RSA双算法证书,具备高兼容性和高可用性两大优势。

    高兼容性:RSA算法证书选择国际主流CA品牌证书,确保业务兼容性的基础上,满足国密SM2算法证书改造要求,浏览器自动识别支持和兼容的证书进行展示。

    高可用性:SM2算法证书使用****CA提供产品服务,RSA算法证书选择国际CA机构提供。多CA机构、异地、同步证书签发,可轻松满足证书高可用需求。

    通过双证书、双算法并行模式,以及国密应用生态支持体系,构建一系列兼顾国密算法合规和全球通用性的国密证书应用解决方案,让基于国密算法的应用真正可落地、可实施,帮助政府、企事业单位平滑实现国密算法升级改造,推动国密算法的普及应用。