security - AES 与 Blowfish 文件加密

标签 security encryption aes blowfish

我想加密一个二进制文件。我的目标是防止任何人读取没有密码的文件。

具有相同 key 长度的 AES 或 Blowfish 哪个是更好的解决方案?我们可以假设攻击者拥有大量资源(软件、知识、金钱)来破解该文件。

最佳答案

可能 AES。 Blowfish 是 Twofish 的直接前身。 Twofish 是 Bruce Schneier 参加 AES 竞赛的作品。它被认为不如名为 Rijndael 的条目(即 AES 的前身)。

有趣的是:在比赛的某个时刻,所有参赛者都被要求对密码的排名发表意见。每个团队都选择自己的作品为最佳,这可能并不奇怪,但其他所有团队都选择 Rijndael 作为第二佳。

也就是说,Blowfish 与 AES 的基本目标存在一些基本差异,这些差异(可以说)在绝对安全性方面有利于 Blowfish。特别是,Blowfish 试图通过使初始 key 设置变得相当缓慢的操作来使暴力( key 耗尽)攻击变得困难。对于普通用户来说,这没什么影响(仍然不到一毫秒),但如果您每秒尝试数百万个 key 来破解它,则差异相当大。

但最终,我并不认为这是一个主要优势。我通常推荐 AES。我的下一个选择可能是 Serpent、MARS 和 Twofish。 Blowfish 会在这些之后出现(尽管我可能会在 Blowfish 之前推荐其他一些)。

关于security - AES 与 Blowfish 文件加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4147451/

相关文章:

javascript - 如何在 url 中注入(inject)带空格的命令?

c++ - "Error: expected a ' { ' introducing a lambda body"尝试从 map<char,char> C++ 获取 char

c++ - 加密和解密未显示正确的值

ios - 使用 Objective-C 的 AES Java 加密 16 字节 key 解密

delphi - 我想用 AES 加密 TidBytes

android - 在 Android 应用程序中存储 api-urls 的最佳方式是什么?

security - 使用Google Visualization API时,数据是否发送给Google?

c# - 在服务总线后面验证过期的 JWT token

php - OpenSSL 错误 : EVP_DecryptFinal_ex:wrong final block length

php - 加密的注册和登录密码出错