比较DES,三重DES,AES,数据的河豚加密

时间:2011-04-05 15:39:52

标签: aes blowfish des tripledes

有没有人在比较这些加密算法时有利有弊?

8 个答案:

答案 0 :(得分:242)

使用AES。

更多细节:

  • DES是七十年代以来的旧“数据加密标准”。它的密钥大小太短,无法获得适当的安全性(56个有效位;这可以是强制性的,正如已经证明的more than ten years ago)。此外,DES使用64位块,当使用相同的密钥加密几千兆字节的数据时,这会产生一些潜在的问题(现在千兆字节不是那么大)。
  • 通过级联三个DES实例(具有不同的键),3DES是重用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位的“消息”时,必须将消息拆分为块,并且实际进行拆分的方式称为mode of operation或“链接”。天真模式(简单拆分)称为ECB并存在问题。正确使用分组密码并不容易,而且比在AES或3DES之间进行选择更为重要。

答案 1 :(得分:24)

所有这些方案,除AES和Blowfish外,都有已知漏洞,不应使用 但是,Blowfish已被Twofish取代。

答案 2 :(得分: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/

的优秀且清醒的视频

答案 3 :(得分:8)

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

答案 4 :(得分:4)

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

  

注意   一种较新的对称加密算法,即高级加密   标准(AES)可用。考虑使用   AesCryptoServiceProvider类而不是   TripleDESCryptoServiceProvider类。使用   TripleDESCryptoServiceProvider仅用于与legacy兼容   应用程序和数据。

祝你好运

答案 5 :(得分:1)

enter image description here

DES是旧的"数据加密标准"从七十年代开始。

答案 6 :(得分:0)

AES是目前公认的标准算法(因此称为高级加密标准)。

其余的不是。

答案 7 :(得分:0)

                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