143

有没有人比较这些加密算法的优缺点?

4

9 回答 9

249

使用 AES。

详细信息:

  • DES 是七十年代的旧“数据加密标准”。它的密钥长度太短,无法保证适当的安全性(56 个有效位;这可以是暴力破解的,正如十多年前所证明的那样)。此外,DES 使用 64 位块,这在使用相同密钥加密数 GB 数据时会引发一些潜在问题(现在 1 GB 并没有那么大)。
  • 3DES 是一种重用 DES 实现的技巧,通过级联 DES 的三个实例(具有不同的密钥)。3DES 被认为是安全的,至少达到“ 2 112 ”安全性(这是相当多的,并且在“用今天的技术无法破解”的领域中相当远)。但它很慢,尤其是在软件方面(DES 是为高效的硬件实现而设计的,但它在软件方面很糟糕;而 3DES 的速度是后者的三倍)。
  • Blowfish 是 Bruce Schneier 提出的分组密码,并部署在一些软件中。Blowfish 可以使用巨大的密钥并且被认为是安全的,除了它的块大小是 64 位,就像 DES 和 3DES 一样。Blowfish 在软件方面是高效的,至少在某些软件平台上是这样(它使用依赖于键的查找表,因此性能取决于平台如何处理内存和缓存)。
  • AES 是 DES 的继任者,作为美国联邦组织的标准对称加密算法(也作为几乎所有其他人的标准)。AES 接受 128、192 或 256 位的密钥(128 位已经非常牢不可破),使用 128 位块(所以没有问题),并且在软件和硬件方面都很高效。它是通过几年来数百名密码学家参与的公开竞争选出的。基本上,你不能有比这更好的了。

因此,如有疑问,请使用 AES。

请注意,块密码是一个加密“块”(使用 AES 的 128 位数据块)的盒子。在对可能超过 128 位的“消息”进行加密时,必须将消息拆分为块,而您进行拆分的实际方式称为操作模式或“链接”。朴素模式(简单拆分)被称为 ECB 并且存在问题。正确使用分组密码并不容易,它比在 AES 或 3DES 之间进行选择更重要。

于 2011-04-05T22:04:57.100 回答
26

除 AES 和 Blowfish 外,所有这些方案都存在已知漏洞,不应使用。
但是,Blowfish 已被替换为Twofish

于 2011-04-05T15:42:06.130 回答
11

所描述的加密方法是对称密钥分组密码。

数据加密标准 (DES) 是前身,使用 56 位密钥加密 64 位块中的数据。每个块都被隔离加密,这是一个安全漏洞。

三重 DES 通过对每个块应用三个 DES 操作来扩展 DES 的密钥长度:使用密钥 0 的加密、使用密钥 1 的解密和使用密钥 2 的加密。这些密钥可能是相关的。

与传统商业产品和服务交互时,通常会遇到 DES 和 3DES。

AES 被认为是继任者和现代标准。http://en.wikipedia.org/wiki/Advanced_Encryption_Standard

我相信不鼓励使用 Blowfish。

强烈建议您不要尝试实现自己的加密,而是使用高级实现,例如 GPG 用于静态数据或 SSL/TLS 用于传输中的数据。这是一个关于加密漏洞的精彩视频http://rdist.root.org/2009/08/06/google-tech-talk-on-common-crypto-flaws/

于 2011-04-05T16:14:42.443 回答
9

AES 是一种对称加密算法,而 RSA 是一种非对称(或公钥)加密算法。加密和解密在 AES 中使用单个密钥完成,而在 RSA 中使用单独的密钥(公钥和私钥)。128 位 AES 密钥的强度大致相当于 2600 位 RSA 密钥。

于 2012-12-01T03:16:45.440 回答
4

虽然 TripleDESCryptoServiceProvider 是一种安全且好的方法,但它太慢了。如果你想参考 MSDN,你会得到建议你使用 AES 而不是 TripleDES。请查看以下链接: http: //msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider.aspx 您将在备注部分看到此注意事项:

注意 可以使用更新的对称加密算法高级加密标准 (AES)。考虑使用 AesCryptoServiceProvider 类而不是 TripleDESCryptoServiceProvider 类。仅将 TripleDESCryptoServiceProvider 用于与旧应用程序和数据的兼容性。

祝你好运

于 2012-12-02T11:45:33.850 回答
1

AES 是当前接受使用的标准算法(因此名称为 Advanced Encryption Standard)。

其余的都没有。

于 2011-04-05T15:43:44.767 回答
1
                DES                               AES
Developed       1977                              2000
Key Length      56 bits                           128, 192, or 256 bits
Cipher Type     Symmetric                         Symmetric
Block Size      64 bits                           128 bits
Security        inadequate                        secure
Performance     Fast                              Slow
于 2017-12-14T09:27:40.400 回答
1

在此处输入图像描述

DES 是七十年代的旧“数据加密标准”。

于 2017-12-16T05:38:03.690 回答
1

除 AES 和 Blowfish 外,所有这些方案都存在已知漏洞,不应使用。

如果包装好,它们实际上都可以安全使用。

是 AES 包装的示例。

于 2021-08-16T01:00:17.733 回答