我使用以下方法创建一个文件:
gpg --cipher-algo AES256 --output file -c original_file
系统要求我解释一下,然后我就输入了。
所以问题是:在不知道释义的情况下,有没有办法解密此文件?
答案1
目前 AES256 需要很长时间蛮力。来自链接:
如果你假设:
Every person on the planet owns 10 computers.
There are 7 billion people on the planet.
Each of these computers can test 1 billion key combinations per second.
On average, you can crack the key after testing 50% of the possibilities.
那么地球上的人口需要 77,000,000,000,000,000,000,000,000,000 年才能破解一个加密密钥!
所以目前来说:不行。10 年后,计算机也许能够将其降低到很小的分数,但那时我们将拥有类似 AES512 的东西(2 周前他们发现了一个新的素数,这些素数可用于新的加密)。
但这是假设它没有后门并且没有人有其他方法获取密码(社会工程学)。
答案2
该算法是美国政府用来加密绝密文件的算法,被称为calculation save
。
但没有什么是不可能的。如果你有一台非常快的计算机和大量的时间(可能是几百年或几千年),你可以破解任何密码。
因此,回答你的问题:是的,有一种方法可以在不知道密码的情况下解密文件,但对于任何人来说或任何政府来说,这都太昂贵了。而且可能你这辈子都无法做到。
答案3
除非
- 您投资广阔的通过暴力破解可以节省大量 CPU 小时。巨大意味着在未来几十年内,即使是强大的攻击者也无法对其进行攻击。
- 有人发现 AES 算法存在问题,使得这个数学问题比预期的更容易解决(使得暴力攻击变得可行)。
- 量子计算为暴力破解 AES 带来了巨大的加速,但这在未来几年内不会实现,即使发生这种情况,AES 256 仍然被认为足够安全(尽管有些人认为 AES 128 对于后量子密码学来说太弱了)。
- GnuPG 中用于从密码短语派生会话密钥的字符串到密钥函数被证明是弱的,这也是不太可能的。
总结一下:使用 AES 256 加密的数据是安全的,而且可能在几十年内都是安全的。理论上可以进行暴力攻击,但这种攻击成本太高,无法实施。