【发布时间】:2010-12-12 08:35:08
【问题描述】:
我的问题分为两部分。第一个是“我使用了哪种可能的加密类型”,另一个是“破解它的可能性有多大”(一旦找到加密算法)。
所以,我得到了原始文件和加密文件,当原始文件发生变化时,我能够测试加密文件的行为。我发现的最重要的线索是:
原始文件和加密文件大小完全相同(注意大小是0x10 = 128位的乘积)
加密块大小似乎是 128 位。当原始文件上的一个字节发生变化时,加密文件上的相同 128 位块会发生变化,有时(可能)上一个或下一个块也会发生变化。但大多数时候只有这个块。并且文件的其余部分根本没有改变。
原始文件中有重复的部分(例如 16 字节的 00 值),但在加密文件上没有相同的 128 位块结果。因此,第二个块中的 16 个字节的 00 与下一个块中的 16 个字节的 00 具有不同的加密结果。
考虑到这些线索,你能猜出它是什么类型的算法吗?我以为它是 AES 128 位,但线索 #2 不包括 CBC 模式,而线索 #3 不包括 ECB!似乎是那些“之间”的东西......它可能是任何其他模式下的 AES 128 吗?你还能想到什么?
如果有几种已知算法可能导致该行为,那么能够破解它、知道原始数据并能够对这两个文件的更改进行测试的可能性有多大?
提前致谢
【问题讨论】:
-
""当原始文件上的一个字节发生变化时,[...} 前一个 [...] 块 [changes]。" 你有仔细检查过吗?那会有所不同从我听说过的任何模式。
-
我会尝试再次检查。也许这是因为 2 个块上的 2 个字节发生了变化,所以会再次尝试确定。
标签: aes encryption break