比较ECDSA和RSA

介绍

最近,关于优缺点的讨论很多。 RSA[01]
ECDSA[02],在加密社区中。 对于初学者,他们是两个
最广泛使用的数字签名算法,但即使对于更多技术
精明,跟上事实可能会非常困难。 这篇文章是
尝试简化两种算法的比较。 虽然,这不是
一篇技术性很强的文章,越有耐心的读者可以查看文章的结尾
快速TL; DR表的文章,其中包含讨论摘要。

需要证书吗? SSL.com已覆盖您。 在这里比较选项 从中找到适合您的选择 S/MIME 以及代码签名证书等等。

马上订购

ECDSA与RSA

ECDSA和RSA是 公钥加密[03]个系统,
提供一种机制 认证。 公钥加密是
设计采用成对密钥的密码系统的科学: 国家
(因此而得名),以及
相应 私钥,只有所有者知道。 认证方式
指验证使用私钥签名的消息是否为
由特定私钥持有者创建。 用于的算法
身份验证统称为 数字签名算法 [04]。

这样的算法依赖于相对简单的复杂数学问题
计算一种方法,尽管要逆转是不切实际的。 这意味着
攻击者在没有任何私人知识的情况下伪造了数字签名
关键,他们必须解决棘手的数学问题,例如整数
分解,目前尚无有效的解决方案[05]。

因此,由于没有有效的解决方案可用于
潜在的数学问题,密码算法的评估可以
仅针对其实施细节与
他们提供的安全级别。 为此,本节介绍了
使用五个(或六个)量化指标对RSA和ECDSA进行比较。 每个指标
在其自己的部分中进行了介绍,以及其对任何人的意义
试图在两种算法之间做出决定。

采用

多年来,RSA一直是公钥加密的行业标准
现在。 大多数SSL /TLS 证书已经(并且仍在)使用RSA密钥签名。
尽管到目前为止,大多数CA已经实现了对基于ECDSA的支持
证书,这种长期的采用只导致了许多旧系统
支持RSA。 因此,如果供应商需要与旧版本向后兼容
客户端软件,他们被迫使用通过RSA签名的证书。 如今,
不过,大多数现代客户已经实现了对ECDSA的支持,
可能会在不久的将来删除此兼容性约束。

标准期限

RSA首先针对SSL /进行了标准化TLS 1994年[06],同时引入了ECDSA
在规范中 TLS v1.2,2008年[07]。 此年龄差异表示
描述以下最佳实践的标准的成熟度方面的差异
每个算法。 虽然,RSA标准已被广泛研究和
经审核,ECDSA并未引起太多关注。 最近,倡导这个
主要CA所采用的加密算法及其在大多数现代SSL /中的采用TLS 客户有
导致发表了更广泛的研究,但仍然是
相对较新的方案。 这为未发现的设计缺陷或
将来会公开错误的实现。

密钥大小与安全级别的比率

安全等级 [08]是密码学的指标,指的是强度
密码基元或函数的名称。 通常用“位”来衡量
表示攻击者需要执行以破坏其性能的操作数量
安全。 此指标可以提供量化方法以比较功效
各种密码系统。 应该强调的是,公钥的大小也是
以位为单位进行度量,但这是一个完全不同的概念,指的是
密钥的物理大小。

在这方面,通用RSA 2048位公用密钥提供了以下安全级别:
112位。 但是,ECDSA仅需要224位大小的公共密钥即可提供
相同的112位安全级别。 密钥大小的显着差异有两个
重大影响。 较小的密钥需要较少的带宽来设置
SSL /TLS 流,这意味着ECDSA证书非常适合移动设备
应用程序。 而且,这样的证书可以存储到设备中
更多限制内存的限制,这一事实使得m /TLS 叠成
无需分配许多资源即可在物联网设备中实现。 已发表
研究甚至表明ECDSA在嵌入式系统中的实施效率更高[09]
设备。

性能和时间复杂度

算法是抽象方法,描述了实现特定目标的方法。
在计算机科学中,其性能是通过计算
达到此预定终点所需的基本操作
健康)状况。 这种指标称为 时间复杂度。 由于输入不同
大小需要不同数量的操作,通常时间复杂度高
表示为输入大小的函数。

两种算法的执行时间都差不多
数学运算,例如除法和乘法。 因此,输入大小
(在这种情况下,这是其密钥的大小)仍然是最重要的
影响其性能的因素。 比较这两种算法,需要
区分消息签名和验证签名。 多数情况
在实际实施中,RSA在以下方面似乎比ECDSA快得多
验证签名,尽管签名时速度较慢。

更高的安全级别使事情变得复杂。 例如,在大多数情况下
常见配置的安全级别为112位,RSA需要2048位
而ECDSA需要224位密钥。 在下一个128位通用级别中,RSA
需要3072位的密钥,而ECDSA仅需要256位。 这导致RSA的
性能急剧下降,而ECDSA仅受到轻微影响。 如
这种扩展问题的结果,尽管RSA在
此刻,安全要求的不断提高很可能会导致
ECDSA是未来的实际解决方案。

后量子抗性

Shor的算法 [10]是一种众所周知的算法,用于使用以下方法破坏RSA密钥
量子计算机。 由于没有(公开)的
这样的机器,以下是对公钥未来的推测
密码学。 在撰写本文时,Shor的最佳实现
该算法可以击败15位密钥RSA加密。 虽然这听起来不对
随着越来越多的研究针对量子计算,RSA
随时可能陷入严重麻烦。

ECDSA的倡导者不应很快庆祝,因为椭圆形
曲线密码学 也很脆弱 [11]修改为Shor's
算法。 因此,如果两个密码都可以被量子计算机破解,
唯一的客观指标是实施这样的解决方案所需的复杂性
攻击。 根据公共研究,RSA 2048位密钥需要4098个量子位
(和5.2万亿个Tofolli门)被击败,而ECDSA 256位密钥
仅需要2330量子位(和126亿个Tofolli门)。 因此,RSA更
使用理论上的量子机器来打破它很昂贵。

结论

尽管这种比较绝非全面,但显然
RSA正确地获得了领先的数字签名地位
适用于大多数证书申请的算法。 但是,由于技术始终
以更加不可预测的方式推进安全意识和需求
增加。 大约十年前,嵌入式设备的安全性
小说和如今的安全通信对于任何现实世界都是必不可少的
应用。 结果,即使ECDSA相对较年轻,它也是任何人的
猜测它是否将取代RSA作为SSL /中认证的标准TLS
实现。

如果您(读者)仍然无法决定选择哪种算法,则有
支持ECDSA和RSA(作为后备机制)的解决方案,直到
加密社区确定了赢家。 查看本文部分,以备将来使用
指南。

TL; DR表

RSA ECDSA
采用 ?  
到期日 ?  
按键大小   ?
性能 ?  
缩放   ?
耐P / Q ?  

参考资料

订阅SSL.com的新闻通讯

不要错过SSL.com上的新文章和更新

保持信息灵通和安全

SSL.com 是网络安全领域的全球领导者, PKI 和数字证书。注册以接收最新的行业新闻、提示和产品公告 SSL.com.

我们希望收到您的反馈

参加我们的调查,让我们知道您对最近购买的想法。