gpt4 book ai didi

python - Blowfish 和 Blowfish-compat 有什么区别?

转载 作者:太空狗 更新时间:2023-10-30 00:57:07 27 4
gpt4 key购买 nike

我似乎找不到差异的来源。我在这个在线解密工具中发现了这种差异

http://www.tools4noobs.com/online_tools/decrypt/

我有一些加密的 Blowfish 数据,我正试图通过 Python 的 PyCrypto 模块对其进行解密。然而,问题是数据似乎是用“blowfish-compat”加密的,因为这是通过在线工具解密它所需要的;我无法通过 PyCrypto 的模块对其进行解密,而且我收集到它严格使用 Blowfish 解密(而不是 Blowfish-compat,无论如何)。

是否可以通过 Python 以某种方式解密 blowfish-compat?我不知道两者之间的区别。

最佳答案

好问题。它似乎是特定于 mcrypt/libmcrypt 程序的东西。

我找不到任何文档,所以我查看了 libmcrypt 的源代码。包含两个模块,一个用于河豚,一个用于河豚兼容。当我查看这些时,我能看到的唯一区别(警告:我是一名软件工程师,但不是加密专家)是字节顺序的逻辑被交换了(ifdef WORDS_BIGENDIAN 被替换为 ifndef WORDS_BIGENDIAN - 注意“n”)。

所以我的猜测是它用于解码在小端机器上编码的大端机器上的数据,反之亦然。或者也许有一些关于字节序的约定,代码应该遵循,但一些库打破了它,这弥补了这一点。

更新 啊哈!并且知道这一点,谷歌搜索“blowfish-compat big-endian”会出现看起来像是确认的内容。见http://www.spinics.net/lists/crypto/msg00175.html - 讨论了颠倒顺序的不正确实现。

因此,简而言之,您的数据编码不正确。 “compat”模式重现错误,以便它们可以被解码。

鉴于此,除非您能找到 mcrypt 的 python 接口(interface),否则您似乎在 python 方面运气不佳。 http://labix.org/python-mcrypt看起来它可能有效(pypi 页面 - http://pypi.python.org/pypi/python-mcrypt)。

(这是长期以来提供的最有趣的答案之一 :o)

哦,我从http://sourceforge.net/projects/mcrypt/得到了来源通过点击下载按钮下的“浏览所有文件”链接(该按钮下载 mcrypt,而不是 libmcrypt)。

关于python - Blowfish 和 Blowfish-compat 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11422497/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com