如何评估数据加密算法的性能?
数据加密标准 (DES) 算法是由 IBM 在 20 世纪 70 年代初发明的。基于 DES 的系统有两个主要组成部分:算法和密钥。DES 算法是一个复杂的交互过程,包括替换、置换和数学运算。
DES 的主要特点是算法是固定的,并且是公开数据。但实际使用的密钥是发送方和接收方之间共享的秘密。DES 的改进包括将密钥长度延长到 128 位,以及多重 DES,它包括多次(通常三次)使用多个密钥进行加密和解密。
本部分旨在为读者提供必要的背景,以便理解所比较算法之间的关键差异。
DES - 数据加密标准是第一个获得 NIST(美国国家标准与技术研究院)批准的加密标准。它基于 IBM 提出的算法,称为 Lucifer。
DES 于 1974 年发展成为标准。从那时起,人们记录了若干攻击和方法,这些攻击和方法利用了 DES 的弱点,使其成为一种不安全的块密码。
3DES - 作为 DES 的改进,推荐了 3DES(三重 DES)加密标准。在此标准中,加密方法与原始 DES 中的方法相同,但应用了 3 次以增强加密级别。
它被称为“三重 DES”,因为它在加密信息时会将 DES 密码应用三次。当 DES 最初于 1976 年开发时,它需要 56 位的密钥大小,这对于抵抗蛮力攻击来说是一个足够的安全级别。
从那时起,计算机变得更便宜且更强大,允许 3DES 算法连续使用三次 DES,从而有效地阻止了现代计算机上的蛮力攻击。
AES - 高级加密标准是 NIST 建议用来取代 DES 的新加密标准。AES 是一种新的密码算法,可用于保护数字信息。
具体来说,AES 是一种重复的对称密钥块密码,可以使用 128、192 和 256 位的密钥,并以 128 位(16 字节)的块加密和解密信息。公钥密码可以使用一对密钥,而对称密钥密码使用相同的密钥来加密和解密信息。新的 AES 将毫无疑问地成为加密所有形式电子数据的实际标准,取代 DES。
AES 加密的信息在以下意义上是不可破解的:已知的密码分析攻击无法在不使用对所有可能的 256 位密钥进行蛮力搜索的情况下解密 AES 密文。
Blowfish - Blowfish 是一种可变长度密钥、64 位块密码。Blowfish 算法发明于 1993 年。虽然该算法通常用于软件应用程序,但它可以在硬件和软件中得到优化。它可以经受住弱密钥问题的考验,目前还没有已知的强力攻击手段。