暴力破解密钥与暴力破解密码
暴力破解密钥
要直接暴力破解密钥,我需要不断猜测密钥并尝试用它解密加密文件,直到最终文件正确解密。在没有任何额外信息的情况下,我需要随机尝试 2 128个可能的键值。
平均而言,我需要做 2 128 / 2 = 2 127次猜测。顺便说一句,这是一个巨大的数字!物理缩减:在低功耗嵌入式设备上,一条 ARM 汇编指令(ADD、SUB、XOR、...)每条指令消耗大约 300 pJ ~= 3.0x10 -10焦耳。太阳包含大约 1.2x10 44焦耳的核燃料。假设我们可以猜出一个密钥并尝试在单个 ARM 指令中解密文件(这是香蕉,您正在查看数百万条指令以获得一个合理大小的文件),那么进行这种蛮力攻击将需要消耗 2x10 15颗星!是的,2 127是一个巨大的数字。祝那次蛮力攻击好运。希望你有一个好的电费。
暴力闹剧密码
密码的长度仅在 16 字符密码比 8 字符密码具有更多可能的组合来猜测的情况下才相关。虽然您的 16 个字符的密码可能需要 128 位的磁盘空间,但它肯定不是 128 位的安全性。对于初学者来说,只有95 个可打印的 ASCII 字符,因此对于只使用键盘字符(没有重音符号、表情符号等)的密码,您最多只能看到 95 16 ~= 2 105 个可能的 16 字符密码来猜测。最重要的是,我们知道互联网上 30% 的帐户的密码来自前 10,000 个密码 [来源],因此如果您是这 10,000 个密码中的一员,长度实际上是无关紧要的。
把它放在一起
暴力破解密码,如果这是一些随机的互联网用户(即他们以普通互联网用户的方式发明密码),那么你有 30% 的机会在前 10,000 次猜测中破解它。如果我直接暴力破解密钥(不使用任何额外知识),那么我有 0.0000000000000000000000000000000003% (3x10 -35 ) 的机会在前 10,000 次猜测中破解它。
基本上,密码比密钥弱,因为人脑是愚蠢且可预测的。如果您的密码来自随机生成器,那么这是一个完全不同的故事,因为它实际上更像是一个密钥而不是密码。