第一种算法就是AES-GCM,AES-GCM是目前很常用的一种分组加密算法,但是这种算法会产生一个缺点:那就是计算量会很大,这一缺点会导致性能和电量开销比较大。因此为了解决这个问题,Intel 推出了名为 AES NI的 x86 指令拓展集,这个拓展集可以从硬件上提供对 AES 的支持,而对于支持AES NI指令的设备来说,使用AES-GCM毫无无疑是最好的选择。
而移动端所需要的ssl证书也是不一样的,针对移动端,谷歌开发的ChaCha20-Poly1305是最好的选择,这也就是我们要讲的第二种算法,Chacha20-Poly1305 是由 Google 专门针对移动端 CPU 优化而采用的一种新式的流式加密算法,它的性能相比普通算法要提高3倍,在 CPU 为精简指令集的 ARM 平台上尤为显著,其中在ARM v8前效果较明显。因此对于移动端的ssl证书,通过使用这种算法,可以大大减少加密解密所产生的数据量,进而可以改善用户体验,减少等待的时间,很好地节省电池寿命等,也由于其算法精简、安全性强、兼容性强等特点,目前 Google致力于全面将其在移动端推广。
目前SSL证书的加密算法主要有以下四种:
常用的对称加密算法如下:
算法 优势 劣势
AES-128-GCM 支持 MAC 功能 实现复杂,较 CBC 运行速度慢
AES-128-CBC 实现简单,运行速度快 不支持 MAC 功能
RC4 实现简单,运行速度快 安全性低,已被验证不安全
ChaCha20-Poly1305 针对移动端开发,运行速度快 推出时间较短
AES-GCM 是目前常用的分组加密算法,但是其有一个缺点就是计算量大,导致性能和电量开销比较大。为了解决这个问题,Intel 推出了名为 AES NI(Advanced Encryption Standard new instructions)的 x86 指令拓展集,从硬件上提供对 AES 的支持。对于支持 AES NI 指令的设备来说,使用 AES-GCM 无疑是最佳选择。
而针对移动端,谷歌开发的ChaCha20-Poly1305是最好的选择。
Chacha20-Poly1305 是由 Google 专门针对移动端 CPU 优化而采用的一种新式流式加密算法,它的性能相比普通算法要提高 3 倍,在 CPU 为精简指令集的 ARM 平台上尤为显著(ARM v8 前效果较明显)。其中 Chacha20 是指对称加密算法,Poly1305 是指身份认证算法。使用该算法,可减少加密解密所产生的数据量进而可以改善用户体验,减少等待时间,节省电池寿命等。
由于其算法精简、安全性强、兼容性强等特点,目前 Google致力于全面将其在移动端推广。
目前又拍云提供 SSL 证书的申购、管理、部署等功能。与国际顶级 CA 机构合作,证书类型丰富,操作流程简单方便,为用户提供一站式 HTTPS 安全解决方案。免费版 SSL 证书 1小时内,付费版OV、EV SSL证书 3 天内即可完成申购签发。并且一键完成 SSL 证书部署,即时开启全站HTTPS服务开启。
SSL证书(Secure Sockets Layer Certificate)使用了不同的加密算法来确保传输的数据安全性。以下是几种常见的SSL证书算法以及它们的优缺点:
1、RSA(Rivest-Shamir-Adleman)
优点:RSA是一种非对称加密算法,广泛应用于SSL证书。它的主要优势在于安全性和广泛的支持。RSA算法的安全性基于大素数的因子分解问题,已经经过长期的广泛应用和验证。
缺点:RSA算法的主要缺点是密钥长度的要求较高,较长的密钥长度会导致更高的计算和处理成本。此外,RSA算法也比较慢,特别是对于处理大量数据时。
2、ECC(Elliptic Curve Cryptography)
优点:ECC是一种基于椭圆曲线数学问题的加密算法。相比于RSA,ECC提供相同的安全性,但使用更短的密钥长度,从而提供更高的效率和性能。它在移动设备和资源受限环境下特别有优势。
缺点:ECC算法的主要缺点是相对较新,可能不被所有设备和软件广泛支持。此外,由于其复杂的数学基础,实施和验证ECC算法的正确性和安全性可能具有挑战性。
3、DSA(Digital Signature Algorithm)
优点:DSA是一种数字签名算法,用于验证证书的真实性和完整性。它在某些特定情况下可以提供与RSA相似的安全性,但使用更短的密钥长度,从而提供更高的效率和性能。
缺点:DSA算法的主要缺点是其应用范围相对较窄,主要用于数字签名而不是加密。此外,与RSA相比,DSA在某些应用场景中可能具有更长的计算时间。
为了考虑浏览器兼容性,通常使用以下算法:
加密算法:RSA
哈希签名算法:SHA256
加密位数:2048
最近ECC算法也比较普遍,主要有优点读取速度快了,但相反浏览器支持率降低了,首先IE7、IE6是肯定不支持的,甚至IE8也不支持。