破解 224 位 Blowfish 加密

发布于 2024-10-30 04:36:15 字数 387 浏览 5 评论 0原文

我有一堆加密文件想要解密(废话)。经过一番研究,我发现它们是用 Blowfish 使用 224 位密钥加密的。我知道明文的前几个字节是什么样的(它是一种标头)。

注意到我不是国家安全局,也没有荒谬的计算能力,我是否有可能在合理的时间内暴力破解密钥(例如:不是宇宙的生命)?

我在某处读到有人发表了对成熟的 Blowfish 的攻击(没有双关语),将搜索减少到 2^(n/2) 但它神秘地消失了。显然这是某种 MITM 攻击;虽然 Blowfish 使用 16 轮 Feistel 网络,所以如果它存在的话,它必须很聪明。谁能证实这一点吗?

编辑:我确实可以访问大量使用的密钥,但不是全部。也许我更值得尝试攻击密钥的生成?

I have a bunch of encrypted files that I want to decrypt (duh). I found out they are encrypted with Blowfish using a 224-bit key after some research. I know what the first few bytes of the plaintext looks like (it's kind of a header).

Noting that I am not NSA nor do I have ridiculous computing power, is there any chance of me brute forcing the key within a reasonable time (eg: not the life of the universe)?

I read somewhere that someone published an attack on the full-blown Blowfish (no pun intended) that reduces the search to 2^(n/2) but it mysteriously disappeared. Apparently it was some kind of MITM attack; though Blowfish uses a 16 round Feistel network, so it has to be clever if it exists. Can anyone confirm this?

EDIT: I do have access to a large number of the keys that are used, just not all of them. Perhaps it would be more worth my while to try and attack the generation of the keys instead?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

最初的梦 2024-11-06 04:36:16

不,除非加密不正确,否则您无法恢复纯文本。

有一种已发布的“已知明文”攻击,但它需要数十亿条已知明文才能起作用。


有关“编辑”的更新:同样,如果加密正确完成,检查已知密钥将无济于事,因为用于生成良好密钥的加密数字生成器正在运行具有与密码类似的复杂性。然而,使用错误的生成器(或使用弱密码的基于密码的加密)是一个常见的实施缺陷。祝你好运!

No, you can't recover the plain text unless the encryption was done incorrectly.

There is a published "known plain text" attack, but it requires billions of known plain texts to work.


Update regarding "Edit": Again, if the encryption was done correctly, examining the known keys won't help, because a cryptographic number generator used to generate good keys is going to have similar complexity as the cipher. However, using a bad generator (or password-based encryption with weak passwords) is a common implementation flaw. Good luck!

|煩躁 2024-11-06 04:36:16

2^(n/2) 在这种情况下意味着 2^223 而不是 224,可能吗?如果是这样,我看不出它对你有多大帮助。我认为你需要降低到 2^64 左右才能在合理的时间内在家用电脑上进行暴力破解。

2^(n/2) means in this case 2^223 rather than 224, possibly? if so, I can't see it helps you very much. I think you need to get down to something like 2^64 or so to brute force it on a home PC in a reasonable time.

神仙妹妹 2024-11-06 04:36:16

你知道密钥是如何选择的吗?如果是说,从密码生成并且没有使用适当的密码派生函数,这可能是您的最佳攻击角度。此外,根据所使用的链接模式,可能还有其他攻击场所,我们需要了解更多信息。

Do you happen to know how the key was chosen? If it's say, generated from a password and no proper password derivation function is used this may be your best angle of attack. Also depending on the chaining mode used there could be other venue of attack, we need to know more.

太阳哥哥 2024-11-06 04:36:15

您不可能暴力破解密钥*。假设 Blowfish 存在中间相遇攻击,将其减少到测试 2^112 个密钥,那么地球上没有足够的计算能力,无法在太阳变冷之前有足够的机会暴力破解密钥。美国国家安全局也无法做到这一点,如果这有什么安慰的话,尽管可以想象他们可以解决河豚而不是猜测密钥。

除非你能找到密钥,否则你不会读取这些文件。

*从技术上讲,你确实有机会。然而,您两次赢得国家彩票的可能性要大得多(假设您购买了两张彩票)。

There is no chance of you brute-forcing the key*. Assuming there is a meet-in-the-middle attack for Blowfish that reduces it to testing 2^112 keys, there isn't enough computing power on the planet to have a decent chance of brute-forcing the key before the Sun goes cold. The NSA couldn't do it either, if that's any consolation, although it's conceivable they can solve Blowfish rather than guess keys.

Unless you can find the keys, you aren't going to read the files.

*Technically, you do have a chance. However, it's far more likely that you'll win a national lottery twice (assuming you buy a ticket for two drawings).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文