我有一个用某种未知算法加密的文件。在研究文件格式时,我偶然发现了一个网站,该网站声称(没有解释原因)这些文件是用 32 位 Blowfish 加密的。该网站还推测魔法烟雾包含在具有特定名称的 .iff 文件中。
事实证明,.iff 文件嵌入在加密文件的明文部分中。我已经把它抓出来了,它暗示它是河豚。
4 字节的标头是“BLFS”。之后的下一个 int32 是 0x80。然后是 16 字节的随机二进制字符串(128 位)。然后,还有两个 int32s... 0x75 和 0x01。接着是 120 字节的二进制字符串(不是 117?)和 4 个空值。我认为最后一点可以安全地假设为填充,因为父文件需要一些奇怪的字节对齐方案。
我有很多这些加密文件的例子。128 位字符串更改,文件到文件。120 字节字符串更改,文件到文件。BLFS、0x80、0x75 和 0x01 都保持不变。
我是密码学小白。120 字节的字符串对于 Blowfish 密钥来说太长了,最大为 56 字节。128 位字符串是一个更好的选择(它具有原始实现者会喜欢的漂亮的二次幂)。我知道这样的算法也需要一个 iv,但那些不是很短吗?在某些情况下,只是一个字节?
这个 iff 文件是我提取的魔法酱吗,是我认为的那种吗?我无法理解我所看到的,而且我不确定接下来需要做哪些研究才能实现这一目标。
抱歉,如果这个问题不适合这个 SE,请在结束前发表评论并让我知道。