问题不在于这些算法的键/输入可能是暴力破解的。给定足够大的键和/或输入大小,它们几乎肯定不会。
问题在于,没有水晶球可以用来断言在接下来的 200 年密码分析中,一个特定的算法是否仍然被认为是强大的。我们目前认为这些算法很强大,但这些信念要么基于经验证据(例如,AES 算法本身并没有被世界上最重要的密码学家破解),要么基于数学假设(例如,假设因式分解,RSA“很难”破解)是“硬”的,假设 DLP 是“硬”的,ECDSA 是“难以”打破的)。
此外,我们没有通用的方法来断言安全密码原语的复杂用例是强大的。GPG 建立在 RSA、AES 和 SHA 之上。即使我们认为这些原语中的每一个都很强,但 GPG 使用的特定组合可能会被发现很弱。对于更真实的世界,TLS 经历了许多修改,当时每次都认为是相对安全的,但每次后来发现都被巧妙地(或严重地)破坏了。
即使我们以某种方式证明原语和组合是安全的,我们仍然会遇到问题。这些算法是用软件编写的,而软件是由人类编写的。人类是不完美的,我们会犯错误。例如,GNU/Linux 的 Debian 发行版对 OpenSSL 进行了看似无害的更改,导致其随机数生成器非常可预测。在许多加密用例中,如果您的随机数生成器坏了,整个系统就会坏掉。Heartbleed 是最近以不安全的方式实施不一定不安全的例子——导致全球服务器上敏感数据的灾难性损害。
最后,即使我们拥有经过数学验证的加密协议的无错误、正式验证的实现,计算机上的其他软件也可能不安全或配置不正确并且容易受到攻击。你的比特币钱包可能是高度加密的,但如果你的 Windows 机器感染了病毒来窥探你的击键,这并不重要。人本身也是一个薄弱环节;研究一再表明,人们几乎会为了一块糖果或一只猫的动画 GIF 而交出任何被要求提供的敏感信息。
TL;DR,您今天的数据在 200 年后会安全吗?我不会打赌。