如何解密只知道密钥长度的AES CBC加密文件

How to decrypt AES CBC encrypted file only knowing key length

我有一个使用 AES CBC 加密的文件。我唯一知道的是密码长度为 6 个字符,可能有 10 个字符。此密码被散列为 128 位密钥。

但是由于 128 位密钥解密永远是乱码,我该如何解密这个文件?

从 10 个可能的不同字符中生成 6 个字符的每个排列。然后散列这些排列并与您获得的密码散列进行比较。不应超过一秒钟左右。 10 的 6 次方是 1000000 次排列,您可以在几毫秒内生成这些排列。散列需要最长的时间,根据算法,它可能需要一分钟,但请放心,您会在很短的时间内找到正确的排列(密码)。

没有必要 "decrypt" 128 位哈希,从字面上看,这会浪费时间,因为哈希被设计为 "undecryptable"。他们被称为 "one-way-hashes" 是有原因的。

但您仍然需要知道使用哪种哈希算法来对密码进行哈希处理才能使这项工作正常进行。

另一种方法是生成所有排列并简单地用每个排列解密文件并检查那里是否有一些有效数据。但是,由于它是 CBC,而您不知道 IV,那也是徒劳的。