Use AES.
更详细地说:
- DES 是七十年代的旧“数据加密标准”。它的密钥大小对于适当的安全性而言太短(56 个有效位;这可以被暴力破解,正如已经证明的那样十多年前)。此外,DES 使用 64 位块,这在使用相同密钥加密几 GB 数据时会引发一些潜在问题(现在 1 GB 并没有那么大)。
- 3DES is a trick to reuse DES implementations, by cascading three instances of DES (with distinct keys). 3DES is believed to be secure up to at least "2112" security (which is quite a lot, and quite far in the realm of "not breakable with today's technology"). But it is slow, especially in software (DES was designed for efficient hardware implementation, but it sucks in software; and 3DES sucks three times as much).
- Blowfish 是 Bruce Schneier 提出的一种分组密码,并部署在一些软件中。 Blowfish 可以使用巨大的密钥,并且被认为是安全的,除了其块大小(与 DES 和 3DES 一样,为 64 位)之外。 Blowfish 在软件方面是高效的,至少在某些软件平台上(它使用依赖于键的查找表,因此性能取决于平台如何处理内存和缓存)。
- AES 是 DES 的继承者,作为美国联邦组织的标准对称加密算法(也作为几乎其他所有人的标准)。 AES 接受 128、192 或 256 位密钥(128 位已经非常牢不可破),使用 128 位块(因此没有问题),并且在软件和硬件方面都很高效。它是通过几年来数百名密码学家参与的公开竞赛选出的。基本上,你没有比这更好的了。
因此,如有疑问,请使用 AES。
请注意,分组密码是一个加密“块”(使用 AES 的 128 位数据块)的盒子。当加密可能长于 128 位的“消息”时,必须将消息分割成块,而进行分割的实际方式称为操作模式或“链接”。朴素模式(简单拆分)称为 ECB,存在问题。正确使用分组密码并不容易,它比在 AES 或 3DES 之间进行选择更重要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)