我最近一直在阅读关于文件加密的文章,在许多地方我都看到过警告,加密的文件很容易被倾向于解密的人解密,而不管加密算法的强度。
然而,我不能理解别人是如何尝试解密加密文件的。
例如,假设你有一个加密的文件,你想知道它的内容。您不知道用于加密文件的密钥是什么,也不知道所使用的加密算法。你的工作是什么?(对于该示例,假设加密算法是诸如AES-256的对称密钥算法,即用密钥加密的文件,该文件需要所述密钥来解密它)。
此外,如果您知道所使用的加密算法,您的方法将如何改变?(假设在这种情况下使用的加密算法是AES-256,具有随机密钥+盐)。
发布于 2013-01-14 07:51:09
有两种方法可以回答这个问题,从字面上讲,一个完美的密码系统是如何被攻击的,以及现实世界的系统是如何被攻击的。如何管理这些密钥变得异常困难。
攻击基本原语的方式取决于算法的类型。对于使用对称密码(如AES )加密的数据,您可以使用Brute force attacks。也就是说,您可以有效地尝试所有可能的键,直到找到正确的键。不幸的是,除非物理定律发生变化,否则无法尝试所有可能的256位密钥。来自维基百科:"A device that could check a billion billion (10^18) AES keys per second would in theory require about 3×10^51 years to exhaust the 256-bit key space"
在不了解所使用的方法的情况下,遇到一个看似加密的文件的问题是,这是一个称为Distinguishing Attack的难题。如果我在AES和Twofish下都加密了一些东西,然后给你一些随机数据,没有任何其他信息,比如头,你就没有办法区分它们。话虽如此..。
您问到算法的知识如何改变方法。通常,无论您使用的是什么协议,都会告诉您算法规范。如果这不是公开的,可互用性将是一场噩梦。例如,Cipher Suites是像SSL这样的协议支持的算法集。
然而,在实践中,大多数密码系统都有更大的问题。
发布于 2013-01-14 07:11:42
以基本的暴力攻击为例。您要求软件尝试使用a-z A-Z 0-9的1到15个字符之间的每一种组合,然后等待。软件将从0到10开始...然后0a,0b,0c,直到它找到密码。Wikipedia将为您提供更多详细信息。
发布于 2013-01-14 07:14:43
AES256实际上是牢不可破的。
来自http://www.wilderssecurity.com/showthread.php?t=212324
我不认为有任何可信的推测,任何机构都可以破解一个正确实现的高级加密标准。目前还没有已知的密码分析攻击,实际上,在我们有生之年,强行使用AES-256可能超出了人类的能力范围。让我们假设56位DES可以在1秒内被强制执行,这从一开始就是一个荒谬的假设。那么AES-256将花费2^200秒,即5x10^52年。因此,你可以看到,在AES中没有任何已知的弱点,这在我们的有生之年是完全不可能的,即使是量子计算。我们的太阳将在大约50亿年后爆炸,那时我们还没有获得足够的计算能力,可以在没有已知弱点的情况下强行使用AES-256。如果AES中的一个弱点从未被发现,那么除了AES之外,绝对没有理由去寻找另一种密码。只要人类占领地球,它就足够了。
https://stackoverflow.com/questions/14309283
复制相似问题