如何仅知道密钥长度来解密AES CBC加密文件

时间:2018-10-10 21:30:03

标签: encryption aes cbc-mode

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

但是,由于128位密钥解密将永远浪费掉,我该如何解密该文件?

1 个答案:

答案 0 :(得分:0)

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

不需要“解密” 128位哈希,从字面上看,这是浪费时间的,因为哈希被设计为“不可解密”。由于某种原因,它们被称为“单向哈希”。

但是您仍然需要知道使用哪种哈希算法对密码进行哈希处理才能实现此功能。

另一种方法是生成所有排列,并简单地对每个排列解密文件,然后检查其中是否存在一些有效数据。但是,由于是CBC,而且您不知道IV也没有用。