SSL证书中的RSA和ECC两种算法各有什么特点
RSA和ECC是SSL证书两种比较常用的算法,不同品牌的SSL证书所使用的算法会不太一样。本文简单介绍一下这两种算法的特点。
一、RSA(Rivest Shamir Adleman)
1、历史悠久。RSA是国际标准算法,在七十年代首次被描述,它被很好地理解并用于安全数据传输。它作为一种加密方案持续了几十年,其中公钥用于加密信息,而私钥用于解密信息。
2、RSA 基于分解大整数的难度。分解大整数以识别素数是处理器密集型的,因此迄今为止作为一种防御非常有效。但它带来了开销,例如缓慢的密钥生成,计算机资源的最大消耗。
3、可扩展性不是最佳的。当我们知道联网设备(物联网)的激增将对预计到 2030 年过时的系统提出要求时,这是一个重大缺陷。RSA 容易受到量子计算机和蛮力攻击的攻击,因此需要一种新算法,它可以为指定的安全级别提供更好的性能。
4、非常快速,非常简单的加密。RSA 加密基于简单的原理,并且在正确的环境下可以比 ECC运行得更快。RSA 可能不可扩展,但在某些情况下,例如对于内部组织,它可能更快。在RSA中,可靠性和安全性取决于整数分解的难度级别。
二、ECC(Elliptic Curve Cryptography)
1、依赖于检测随机椭圆曲线的单独对数。ECC算法适用于黑客难以破解的椭圆曲线离散对数问题 (ECDLP)。对于在图形中产生椭圆曲线的方程所提出的数学问题没有已知的解决方案,因此唯一的解决方案是尝试随机数。但是,每个比特大小都提供了比 RSA 更多的选项,这使得蛮力方法不太可能成功。
2、ECC加密中的较短密钥与RSA中的长密钥一样强。这会大大减少网络开销,从而实现更快的性能和更好的客户或用户体验。这也意味着从长远来看,还有更多的增长空间,因为在 RSA 中,每增加一个位,就比每增加一个位提供更多的选择。这也意味着随着时间的推移,比特大小的增长会放缓,这使得它在物联网方面可能更具可扩展性。
3、较小的证书大小。同样,交换验证所需的信息量明显少于 RAS,从而降低了网络开销并提高了性能,从而改善了用户或客户体验。它还通过提供一个环境来提高可伸缩性,在该环境中,由于开销较低,服务器可以处理增加的流量,而无需更改基础架构。
4、CPU消耗和内存使用率低。对于客户端和服务器来说,这是一种改进的体验,简化了连接并简化了流程。ECC 消耗更少的计算能力和电池资源。RSA 证书每秒可容纳 450 个请求,平均响应时间为 150 毫秒,而 ECC 仅需要 75 毫秒即可响应每秒相同数量的请求。ECC 在服务器与桌面通信时具有极好的响应时间。
5、支持RSA受信任的根证书。对于某些组织而言,网站必须在较旧的设备上成功运行,在这种情况下,每个组织都必须考虑一种混合证书技术,该技术允许 ECC 算法甚至支持 RSA 受信任的根证书。
总结一下,RSA算法应用较早,适用范围广,兼容性更好,但是对服务端性能消耗高。ECC算法是新一代算法趋势主流,加密速度快,效率更高,对服务器资源消耗低,而且最重要的是更安全,抗攻击型更强。两种算法各有各的优点,但是长远来看,RSA可能会被ECC取代。