什么是对称加密,常见的对称加密算法有哪些?

 2023-10-02 17:17:42发布

对称加密,又称对称密钥加密,是指使用相同的密钥进行加密和解密的一种密码学方案。加密密钥能够从解密密钥中推算出来,同时解密密钥也可以从加密密钥中推算出来。

对称加密的原理

对称加密方案依赖于两个或多个用户之间共享的相同密钥。相同的密钥被用于对所谓的明文(表示正在编码的消息或数据段)进行加密和解密。

加密过程大致概括如下:对明文(作为输入)使用加密算法进行加密,然后加密算法会将明文生成密文(输出)。

对称加密图解

对称加密图解

如果加密方案足够强大,则人们读取或访问密文信息的唯一方法是使用相应的加密密钥对其进行解密。解密过程基本上是将密文转换回明文。

对称加密系统的安全性基于随机猜测相应密钥以破解它们的难度。

例如,使用普通计算机硬件破解128位的密钥至少需要花费数十亿年。加密密钥的位数越长,破解它就越难。 256位的密钥通常被认为是安全度极高的,并且理论上可抵抗量子计算机的暴力攻击。

对称加密的优缺点

对称加密算法可以提供相对较高的安全级别,同时支持快速加密和解密消息。对称加密系统的相对便捷性在逻辑上也是一种优势,因为它们比非对称系统消耗更少的计算资源。

此外,对称加密提供的安全性可以通过增加密钥长度来实现,随着对称密钥长度的增加,暴力攻击破解加密的难度也呈指数增长。

虽然对称加密能够提供诸多优势,但是也存在一个严重的缺点:用于加密和解密数据的密钥是相同的。

当这些密钥在不安全的网络连接中共享时,它们很容易被恶意的第三方拦截。如果未经授权的用户获得对特定密钥的访问权限,则使用该密钥加密数据安全性都会受到破坏。

为了解决这个问题,许多Web协议使用对称和非对称加密的组合来建立安全连接。这种混合协议最常见的例子是传输层安全加密协议(TLS),该协议被用于保护现代互联网上大部分的网络连接。

需要注意的是,由于实施的不当,所有类型的计算机加密都会受到漏洞影响。虽然足够长的密钥在数学上可使暴力攻击失效,但程序员的错误配置,常常也会产生漏洞,为网络攻击者开辟新的道路。

常见的对称加密算法

DES

DES加密解密算法最初由美国IBM公司研究人员所设计发明,且为第一个公开的商用密码算法标准,自诞生以来便得到了 ISO 的一致认可。

DES是分组密码算法的典型代表,它的明文分组长度为64位,密钥长度为64位,其中包括有 8位的奇偶校验,因此有效密钥长度为 56为。

DES 加密解密算法使用的过程相同,且可以随时均都可以进行变动。它们其中有极少数被认为是易破解的弱密钥,但是很容易抛开它们不使用,因此其自身安全性主要依赖于有效密钥。

AES

AES 加密算法为分组密码,分组长度为 128 位即 16 个字节,密匙长度有128、192 或 256 位,根据密匙 长 度的不同,加密的轮数也不同,本文采用长度为 128 位的密匙,加密轮数为 10 轮。

AES 加密算法不仅编码紧凑、设计简单而且可抵抗多种类型的攻击。

推荐阅读