防自动破解文件加密体制——几乎永远不可破解

现在普遍流行一种这样的观点,认为凡是可实用的文件加密解密算法都是可以破解的,只要计算机运算的足够快,一切加密文件都可以破解。

本文想说明的是,如果采用一种“防自动破解”的文件加密体制,无论计算机运行多快,几乎永远都不可破解。

大家之所以认为只要计算机运行的足够快就可以破解任何加密文件,是因为大家相信,即使使用最笨的穷举算法,也一定可以将所有的密码穷举完,也就可以说只要计算机运行的足够快,一定可以将得到正确的密码,从而一定可以将加密文件进行解密。

上段的推证过程似乎很严密,从而让大家深信不疑。事实上有一个漏洞,计算机为什么可以穷举?计算机凭什么可以识别真假密码?假如有一套加密解密算法,对于任何密码都没有识别能力,根本分不清真密码还是假密码,那么计算机还能够穷举下去吗?或许有人会问,这套加密解密算法,连真假密码都识别不了,还有一点用吗?我告诉你,非常有用。因为它虽然没有识别真假密码的能力,但是用真密码解密时可以得到加密前的原始文件,用错误密码解密时只能得到错误文件,这个个错误文件可能只是一堆乱码,如果加密算法足够“随机”的话,可能还是一个极具干扰性的错误文件,即使让人类本身也难以识别真假。

也就是说,如果解密算法在解密过程中如果使用一个错误的密码时,完全没有任何错误、异常、真假的信息,那么光靠计算机程序是绝对不可能将加密文件还原的。假如将一个1MB的文件加密,现在需要对加密后的文件进行解密。即使是六位数的密码(含英文大小写字母及阿拉伯数字共62个字符),那么密码的可能性是62的6次方,也就是说具有大约568亿的可能性。假如我们到了来到极速计算机的时代,使用已知的解密算法一纳秒就已经完成了对这个1MB文件进行568亿次穷举,并且将这568亿个1MB的文件存储在超大的硬盘上面。是的,计算机的运算速度已经足够快了,可是它能够破解这个文件吗?答案是否定的,因为在这个超大的硬盘上面有568亿个文件,虽然有了一个正确的原始文件,可是计算机无法识别。那么只能靠人去识别了,如果你能够号召全世界的人来识别的话,大概每个人只要识别不到十次。可是你根本不可能有这个号召力,而且你也根本不确定真正的密码就是六位,说不定是八位,还说不定是20位,还说不定是加密了多次,仅仅解密出568亿个1MB的文件实在是太少太少了,要知道每多一位密码就要成指数倍增。现在你还会相信只要计算机运算速度足够快就可以破解任意加密文件吗?

了解了上面的思想之后,唯一剩下的疑问就是,是否存在这样的加密解密算法,使得计算机完全无法识别真假密码。

大家知道,所谓的加密解密无非就是进行数学运算。只需要用最简单的加减乘除求余数即可说明这个算法非常简单而且一定可以实现。一个字节是八位,任何一个八位的字符都可以唯一对应一个0至255之间的整数。假如某个字符对应的整数是150,使用一个算法将密码换成一个整数10000,那么将原始整数和和密码得到的整数相加即为10150,将它除以256得到的余数即为166。现在告诉计算机,密文就是166,而且原始整数就是在0——255之间。你觉得计算机可能破解得了吗?它使用任何一个密码再对应一个整数进行解密都可以得到0——255之间的整数,可是它根本判断不了150是正确的,还是151是正确,还是161是正确。如果掌握了正确的密码进行解密,将密码用同样的算法进行计算换成整数10000,将密文166减去10000得到-9834,9834除以256得到的整数是38。现在用38+1再乘以256再加上-9834就得到了150,再用150除以256得到的余数是150。毫无疑问,如果有正确的密码,就可以知道原始数字是150,而如果不知道密码,让计算机破解的话再瞎折腾即使算到了150也根本无法确定就是这个值,无异于随机猜测。

上段已经说明了一个字节的加密解密过程,实际上是再简单不过了,却毫无疑问得到了这个结论,计算机无法判断密码真假,而拥有真密码的人可以得到原始数字或对应的字符。任何一个文件无非就是多个字节的数据构成,只需要将密码与字符位置、伪随机数、该字符所处的环境信息等等信息结合起来加密解密,绝对可以将原始文件加密成存储容量一样大的加密文件,而且具有计算机绝对不可识别密码真假、而拥有真密码的人可以正确解密的特征。无疑也做到了防自动破解、永不可破解!当然此种方法对文件加密来说非常有效,对于其他形式的加密则几乎完全无效了。

举一个例子,某个文件中只有一句话“张三爱李四”,那么如果让加密算法足够随机,在极速穷举的过程中,会得到了无数多条类似的信息,比如“张三恨李四”、“李四爱张山”、“王五瞎炒蛋“等等,当然还有许许多多的乱码,毫无疑问的是,在这种情况下即使人类的识别能力也达到极速,仍然无法从中得到任何有用信息,因为他根本不知道原始文件中到底是什么,所以注定无法分辨。
Shared publiclyView activity