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

yog*_*sma 138 des blowfish aes tripledes

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

Tho*_*nin 244

使用AES.

更多细节:

  • DES是七十年代以来的旧"数据加密标准".它的密钥大小太短而不能保证适当的安全性(56个有效位;这可能是暴力强制的,正如十多年前所证明的那样).此外,DES使用64位块,当使用相同的密钥加密几千兆字节的数据时,这会产生一些潜在的问题(现在千兆字节不是那么大).
  • 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之间进行选择更为重要.

  • 作为一个坚果,我几乎总是推荐AES256 (4认同)
  • Holy Sh*t,美国国家安全局可能会在1976年破解DES,但一直鼓励使用到2002年!叫我偏执,但我害怕推动AES (2认同)

SLa*_*aks 25

除了AES和Blowfish之外,所有这些方案都存在已知的漏洞,因此不应使用.
然而,Blowfish已被Twofish取代.


roh*_*nes 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/

  • @yogsma:Blowfish的块大小只有64位(因为它被认为是协议中DES的直接替代品),因此在使用相同密钥加密一些GB数据后会出现问题. (5认同)
  • 为什么不鼓励使用河豚?这不是最安全的吗? (2认同)

小智 8

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

  • 你可以提供这个答案或数据源的数学支持吗?我有兴趣知道你是如何得出结论128位AES大致相当于2600位RSA(我意识到这是一个老答案) (7认同)
  • @RussellUhl - 我同意这些数字的历史是一个有趣的问题,即使再经过2年的沉默.:)这些数字似乎可以从这篇PDF文件中找到:http://eprint.iacr.org/2013/635.pdf标题为"通用安全 - 从位和mips到池,湖泊 - 以及更远". (3认同)