就像我们在凯撒的密码中看到的那样,每种加密数据的加密方法背后都有特定的逻辑。今天使用的加密方法依赖于高度复杂的数学函数,这些函数几乎不可能破解它们。本文针对SSL证书加密算法都有哪些进行详细解答一下。
1、DES对称加密算法
DES(数据加密标准)于1976年推出,是最古老的对称加密方法之一。它是由IBM开发的,用于保护敏感的,未分类的电子政府数据,并于1977年被正式采用,以供联邦机构使用。DES使用56位加密密钥,它基于Feistel结构,该结构由密码学家Horst Feistel设计。DES加密算法是TLS(传输层安全性)版本1.0和1.1中包含的算法。
DES通过将64位纯文本数据块划分为两个单独的32位块,并对每个块分别应用加密过程,从而将明文数据的64位块转换为密文。这涉及16个回合的各种过程(例如扩展,置换,替换或具有回合密钥的XOR操作),数据将在加密后经历。最终,将生成64位加密文本块作为输出。
如今,DES已不再被使用,因为它已被许多安全研究人员破解。在2005年,DES被正式弃用,并由AES加密算法取代,我们将在稍后进行讨论。DES的最大缺点是其加密密钥长度短,这使暴力破解变得很容易。TLS 1.2是当今使用最广泛的TLS协议,它没有使用DES加密方法。
2、3DES对称加密算法
顾名思义,3DES(也称为TDEA,代表三重数据加密算法)是已发布的DES算法的升级版本。3DES的开发是为了克服DES算法的缺点,并于1990年代后期开始投入使用。为此,它将DES算法三次应用于每个数据块。结果,此过程使3DES比其DES前身更难破解。它也已成为金融行业支付系统,标准和技术中广泛使用的加密算法。它也已成为TLS,SSH,IPsec和OpenVPN等加密协议的一部分。
所有加密算法最终都屈从于时间的力量,而3DES也不例外。研究人员Karthikeyan Bhargavan和GaëtanLeurent发现的Sweet32漏洞消除了3DES算法中存在的安全漏洞。这一发现促使安全行业考虑弃用该算法,美国国家标准技术研究院(NIST)在2019年发布的指南草案中宣布弃用该算法。
根据该草案,到2023年之后,将在所有新应用程序中废弃3DES的使用。值得注意的是,TLS 1.3(SSL / TLS协议的最新标准)也停止了3DES的使用。
3、AES对称加密算法
AES代表“高级加密系统”,是最常用的加密算法之一,并且是DES算法的替代方法。AES也称为Rijndael,在2001年经NIST批准后成为一种加密标准。与DES不同,AES是一组分组密码,由不同密钥长度和分组大小的密码组成。
AES致力于替代和置换方法。首先,将明文数据转换为块,然后使用加密密钥应用加密。加密过程由各种子过程组成,例如子字节,移位行,混合列和添加回合密钥。根据密钥的大小,执行10、12或14次这样的回合。值得注意的是,上一轮不包括混合列的子过程以及为加密数据而执行的所有其他子过程。
4、RSA非对称加密算法
由Ron Rivest,Adi Shamir和Adleman的伦纳德(因此“RSA”)于1977年发明的,RSA是,迄今为止,最广泛使用的非对称加密算法。它的效力在于它所依赖的“素数分解”方法。基本上,此方法涉及两个巨大的随机质数,并将这些数字相乘以创建另一个巨数。这里的难题是从这个巨大的乘法数确定原始素数。
事实证明,对于当今的超级计算机,这个难题实际上是不可能的-如果使用具有足够的正确密钥长度,更不用说人类了。在2010年,一组研究人员进行了研究,他们花费了超过1500年的计算时间(分布在数百台计算机上)来破解RSA-768位密钥-远低于使用的标准2048位RSA密钥今天。
5、ECC非对称加密算法
与RSA相比,ECC非常复杂(相对于当前的破解方法),它提供了更高的安全性。它提供与RSA类似的保护级别,但是使用的密钥长度短得多。结果,使用更大长度的密钥应用的ECC将使用蛮力攻击花费相当多的时间来破解。
ECC中较短密钥的另一个优点是性能更快。较短的密钥需要较少的网络负载和计算能力,这对于存储和处理能力有限的设备来说非常有用。在SSL / TLS证书中使用ECC时,可大大减少执行SSL / TLS握手所需的时间,并有助于您更快地加载网站。ECC加密算法用于加密应用程序,应用数字签名,伪随机数生成器等。 但是,使用ECC所面临的挑战是许多服务器软件和控制面板尚未添加对ECC SSL / TLS证书的支持。我们希望这种情况将来会改变,但这意味着RSA在此期间将继续成为使用更广泛的非对称加密算法。