对称算法列表:3种最常见的对称算法类型
在本节中,我们整理了一个对称算法列表,该列表将帮助我们浏览最常见的对称密码。我们将从最古老的算法开始,逐步讲到到“最新和最大的算法”,这就是我们今天通常用于现代对称加密的算法。
1.数据加密标准(DES)
我们名单上的第一位是数据加密标准。DES,也称为DEA(数据加密算法的缩写),是从那时起已弃用的最早的对称加密算法之一。它基于Feistel密码(与其他许多分组密码类似),实际上被认为是1976年被用作联邦信息处理标准(FIPS)的首批对称算法之一。
DES的历史可以追溯到1970年代初,当时它的原始形式(“ Lucifer”)是由IBM密码学家Horst Feistel开发的。IBM报告说,该加密方法最初是根据英国劳埃德银行的要求创建的。英国国家标准局(现在简称为国家标准局,简称NIST)最终为商业加密应用程序寻求建议,IBM提交了其变体。美国国家安全局(NSA)甚至希望使用它来保护其数据。
这种类型的对称加密将特定长度的输入映射到特定长度的输出。这样,它可以在64位块上运行,这意味着它可以同时对多达64个块的组进行数据加密-并且具有56位的密钥大小。密钥还有8个额外的奇偶校验位,用作检查数据传输错误的一种方式。但是,请务必注意,奇偶校验位不是我们曾经用来加密的内容。
按今天的标准,此大小键实际上很小,这使其很容易受到蛮力攻击。而且,密钥和块的长度与原始的Lucifer密钥和块的长度有所不同,两者均从128位减少了。
DES加密通过三重数据加密算法(TDEA)成功地用于某些应用程序,尽管并非全部。但是,在2000年,高级加密标准(即所谓的AES加密)取代了DES作为主要推荐。这就是我们今天最常用于对称加密的内容。
现在,让我们探索另外两种类型的对称加密算法。
2.三重数据加密算法(TDEA)
在1990年代后期创建的三重数据加密算法有点棘手,因为它实际上有几个缩写:TDEA,TDES和3DES。你可能会从其名称中猜到,3DES基于DES的概念,但它们还是有所不同。
与之前的版本不同的是,TDEA使用多个单独的密钥来加密数据-TDEA的一个变体使用两个密钥,另一个变体使用三个密钥(因此其名称为“三倍”)。两者中最强的是使用三个键的那个。
这是三键TDEA工作原理流程:
这是一个简化流程图,解释了TDEA如何将纯文本数据加密为无法解密的密文。使用多个密钥会使处理数据的速度变慢,并增加了计算开销,这就是企业经常跳过3DES并直接使用AES的原因。
TDEA使用合适的168位密钥大小运行。与DES一样,3DES也可以在小型64位块上运行。它的小块大小使其很容易受到sweet32漏洞(CVE-2016-2183和CVE-2016-6329)的攻击。该方式利用了一个漏洞,这个漏洞使意外双方可以访问DES / TDEA加密数据的一部分。
TDEA对称密钥加密算法将在2023年用于加密保护方面被弃用。但是,与此同时,NIST SP 800-76 Rev. 2规定联邦*组织可以使用3DES来保护敏感的未分类数据,只要在“整个安全程序范围内”使用它即可。这样的程序将包括:
良好的信息安全规范;
强大的物理安全程序;
计算机网络或系统访问控制。
3.高级加密标准(AES)
AES是我们今天使用的最常见的对称加密算法。实际上,即使是NSA,也使用AES加密来帮助保护其敏感数据。
AES是Rijndael对称加密算法系列的一种变体。与它的DES或TDEA不同,它基于替换置换网络。因此,它以此为基础代替了Feistel密码。你会发现高级加密标准正在用于从SSL / TLS加密到无线和处理器安全性的所有内容。它是快速,安全的,并且不会显着增加你的处理开销(至少在使用正确的密钥时)。
AES使用128位的块大小进行操作,而与所使用的密钥大小无关,并在多个回合中执行加密操作。
共有四个AES加密子过程:
1.AddRoundKey
2.子字节
3.排档
4.混合柱
这些对纯文本数据执行的回合使用查找表中的替换项。因此,其中一轮看起来与此类似:
这是ShiftRows操作的说明性示例。
AES在取代DES并取代3DES之后成为FIPS批准的新加密标准,其最大密钥大小为256位。这大约是DES密钥的4.5倍。更大的尺寸,对于大规模应用而言将是不切实际的。现在,密钥的大小决定了将执行几轮操作-例如,一个128位的密钥将具有10个回合,而一个256位的密钥将具有14个回合。
当然,AES加密非常强大。因此,正如某些控制论人士喜欢说的,使用现代计算机技术通过蛮力破解AES的任何尝试都是“徒劳的”。即使是中校数据,也可能会因这种计算工作而苦苦挣扎。我之所以这样说是因为,甚至预计量子计算机对对称加密算法的影响也不会像现代非对称加密方法那样大。(对称加密方法将要求较大的密钥具有量子抗性,而公共密钥方法将不再是安全的期限)。
当然,这些并不是使用中的仅有的三种对称算法。
还有许多其他类型的对称加密算法可用于不同目的和加密功能。为了让你快速入门,其中一些算法的列表包括:
国际数据加密算法(IDEA,带有128位密钥的64位密码);
Blowfish(密钥最高为448位的64位密码);
Twofish(密钥最高为256位的128位密码);
多个Rivest密码(包括RC2,RC4,RC5,RC6);
KASUMI(使用128位密钥的密码;
SALSA20;
CHACHA20.
当然,也有其他密码-但我们不会在这里包含所有密码。但这至少为你提供了一些有关AES算法的示例。
在哪里可以找到对称算法
对称加密算法单独使用时,最适合对静态或非公共通道中的数据进行加密。我之所以这么说是因为经常发现它们在各种情况下都可以保护静态数据,包括数据库,在线服务以及与银行相关的交易。(后者是因为“支付卡行业数据安全标准”(简称PCI DSS)需要它。)
但是,这些并不是唯一有用的地方。你可能还会在Internet上找到对称算法。当你将它们与非对称加密结合使用以进行密钥交换时(例如,当你连接到安全网站时),对称加密将与以下服务一起发挥作用:
网站数据交换
Google的在线服务G Suite
CodeGuard网站备份工具
SalesForce平台
我们对对称加密算法的疑惑
是不是不想深入到所有的技术繁文缛节中去?不用担心,以下是本文中有关对称密钥算法的一些主要内容:
加密算法基本上是执行加密功能(例如加密,解密,哈希等)的逐步指南。算法分为不对称和对称两种。首先,一个密钥加密数据,另一个密钥解密数据。在后者中,一个密钥同时执行加密和解密功能。
对称算法是有效的过程,旨在对安全的,非公开渠道中的数据进行加密。
称为TLS握手的过程使你可以在公共通道中使用某种形式的对称加密。
近年来使用了许多不同类型的对称密钥算法。最常见的三个包括DES,TDEA / 3DES和AES。