文档章节

SM2算法对比RSA算法,有哪些优势?

wossl
 wossl
发布于 06/17 10:03
字数 2013
阅读 66
收藏 0

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

SM2算法和RSA算法简介

RSA公钥加密算法是美国计算机学家Ron Rivest、Adi Shamir和Leonard Adleman于1977年提出,是最早的公钥加密算法之一,在全球范围被广泛使用。随着密码技术和计算机技术的发展,目前1024位RSA算法已经被证实存在被攻击的风险,美国NIST(国家标准技术研究院)在2010年要求全面禁用1024位RSA算法,升级到2048位RSA算法。此外,斯诺登事件爆发后,其泄露出的机密文档显示,RSA算法中可能存在NSA的预置后门,对RSA算法的安全性产生巨大影响。

SM2算法由国家密码管理局于2010年12月17日发布,是我国自主设计的公钥密码算法,基于更加安全先进的椭圆曲线密码机制,在国际标准的ECC椭圆曲线密码理论基础上进行自主研发设计,具备ECC算法的性能特点并实现优化改进。

SM2算法和RSA算法性能对比

SM2算法和RSA算法都属于公钥加密算法,但两者分别基于不同的数学理论基础。与RSA算法相比,SM2算法具有抗攻击性强、CPU 占用少、内容使用少、网络消耗低、加密速度快等特点。

(1)SM2算法与RSA算法安全性能对比

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

ECC(EllipticCurves Cryptography,椭圆曲线密码编码学)是由Koblitz和Miller两人于1985年提出,其数学基础是基于椭圆曲线上离散对数计算难题(ECDLP)。ECC算法的数学理论非常深奥和复杂,在工程应用中比较难以实现,但它的单位安全强度相对较高。用国际上公认的针对ECC算法最有效的攻击方法——Pollard rho方法去破译和攻击ECC算法,它的破译或求解难度基本上是指数级的。

因此,ECC算法的单位安全强度远高于RSA算法,可以用较少的计算能力提供比RSA算法更高的安全强度,而所需的密钥长度却远比RSA算法低。目前,基于ECC的SM2证书普遍采用256位密钥长度,加密强度等同于3072位RSA证书,远高于业界普遍采用的2048位RSA证书。

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

(2)SM2算法与RSA算法速度性能对比

在TLS握手过程中,更长的密钥意味着必须来回发送更多的数据以验证连接,产生更大的性能损耗和时间延迟。因此,ECC算法能够以较小的密钥和较少的数据传递建立HTTPS连接,在确保相同安全强度的前提下提升连接速度。经国外有关权威机构测试,在Apache和IIS服务器采用ECC算法,Web服务器响应时间比RSA算法快十几倍。

SM2算法的优化和先进性

SM2算法是我国基于ECC椭圆曲线密码理论自主研发设计,由国家密码管理局于2010年12月17日发布,在密码行业标准GMT 0003.1-2012 SM2 总则中推荐了一条256位曲线作为标准曲线,数字签名算法、密钥交换协议以及公钥加密算法都根据SM2总则选取的有限域和椭圆曲线生成密钥对;在数字签名、密钥交换方面区别于ECDSA、ECDH等国际算法,而是采取了更为安全的机制,提高了计算量和复杂性;在数字签名和验证、消息认证码的生成与验证以及随机数的生成等方面,使用国家密管理局批准的SM3密码杂凑算法和随机数生成器。SM3杂凑算法是我国自主设计的密码杂凑算法,安全性要高于MD5算法(128位)和SHA-1算法(160位),SM3算法的压缩函数与SHA-256具有相似结构,但设计更加复杂;SM4分组密码算法是我国自主设计的分组对称密码算法,与AES算法具有相同的密钥长度128位,在安全性上高于3DES算法,在实际应用中能够抵抗针对分组密码算法的各种攻击方法。

 

SM2算法的应用推广

密码算法的安全性是信息安全保障的核心,通过自主可控的国产密码技术保护重要数据的安全,是有效提升我国信息安全保障水平的重要举措。我国大力推动SM2国产密码算法替换目前所采用的RSA算法,一方面规避RSA算法存在的脆弱性和“预置后门”等安全风险,另一方面确保密码算法这一关键环节的自主可控,保障我国信息安全基础设施的安全可信。中办2018年36号文件《金融和重要领域密码应用与创新发展工作规划(2018-2022年)》以及相关法规文件均要求我国金融和重要领域密码应用采用SM2国产密码算法体系。

然而,由于国密算法尚未实现广泛兼容,在主流浏览器、操作系统等终端环境中不受信任,面向互联网的产品应用中采用国产密码算法将无法满足可用性、易用性和全球通用性的需求,在实际应用中很难真正落地实施。

沃通CA针对这一应用难题,提出“双轨制”应用模式,在服务器SSL加密、电子邮件加密、PDF文件签名等领域,推出SM2/RSA双证书服务以及密信浏览器、密信邮件客户端、密信PDF阅读器等支持国密算法的客户端产品,通过双证书、双算法并行模式以及国密应用生态支持体系,构建一系列兼顾国密算法合规和全球通用性的国密证书应用解决方案,让基于国密算法的应用真正可落地、可实施,帮助政府、企事业单位平滑实现国密算升级改造,推动国密算法的普及应用。

 

沃通原创文章,转载请注明出处

© 著作权归作者所有

wossl
粉丝 1
博文 83
码字总数 66597
作品 0
东城
私信 提问
部署国密SSL证书,如何兼容国际主流浏览器?

国密算法在主流操作系统、浏览器等客户端中,还没有实现广泛兼容。因此,在面向开放互联网的产品应用中,国密算法无法得到广泛应用。比如,在SSL证书应用领域,由于国际主流浏览器不信任国密...

wossl
06/18
0
0
“国密证书全生态应用战略研讨会”在深圳隆重召开

4月15日,沃通主办的“国密证书全生态应用战略研讨会”在深圳隆重召开,有关领导、全国26家CA机构的负责人和CA业内专家齐聚一堂,详细了解沃通CA基于国密证书的全生态应用研究成果,共同探讨...

一夜九次
04/17
0
0
支持国密算法的 Python 加密包 - gmssl-python

GMSSL GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法、项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。 安装 pip install gmss...

段洪义
2018/07/30
0
0
基于python的国密算法gmssl-python版本发布[3.2.1]

关于 项目起源于一个银行合作项目,银行接口中涉及了大量的国密算法,但是目前大多数类库都是java或者c/c++,于是本人东拼西凑了一个类库,希望能给大家带来方便。 GMSSL GmSSL是一个开源的加...

段洪义
2018/07/30
0
0
沃通国密SSL证书应用成功案例

标新科技与沃通CA达成合作,选用沃通国密SSL证书产品及国密证书全生态支持和全球信任解决方案,完成国密算法HTTPS加密升级改造,使用自主可控密码技术保护网站数据传输安全以及网站身份可信,...

wossl
06/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

solr

简介:solr是基于全文检索的企业级应用服务器。 solr入门案列。 配置: (1)配置Solr服务器。 1.解压一个Tomcat 2.部署solr服务到Tomcat中 3.添加solr运行依赖的jar包 (2)配置SolrHome。(...

klmkom
12分钟前
0
0
nginx 可以使用 alias 指定 其他目录,做静态服务器

比如 访问 图片,/images 去到 对应的 硬盘地址去获取。 expires 表示 缓存的意思, 这里缓存 一天

之渊
16分钟前
0
0
linux redis后台运行

daemonize no -> yes /usr/local/redis/redis-4.0.10/src/redis-server /usr/local/redis/redis-4.0.10/redis.conf...

八戒八戒八戒
27分钟前
0
0
SSM(SPRING+SPRINGMVC+MYBATIS)框架搭建

一. SSM框架架构及流程介绍 SSM框架,通常是指将spring mvc+spring+mybatis三个框架整合在一起进行工作,spring mvc本身就是spring的一部分,所以这两者之间不用整合,这里主要做的事情就是将...

潜行-L
30分钟前
2
0
django2.2 用户登录练习完整版(待改善)

主要配置: settings.py配置: #数据库配置import pymysqlpymysql.install_as_MySQLdb()DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',  ......

平头哥-Enjoystudy
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部