我目前正在尝试使用公钥加密和个人文件加密。我使用的程序分别具有2048位RSA和256位AES级加密。作为这个东西的新手(我现在只是一个cypherpunk大约一个月了 - 对信息系统来说有点新)我不熟悉RSA算法,但这在这里并不重要。
我知道除非某个秘密实验室或NSA程序碰巧有一台量子计算机,否则目前不可能暴力破解这些程序提供的安全级别,但我想知道加密一个更安全的程度。一遍又一遍地提起文件。
简而言之,我想知道的是:
以下是一个例子:
暂时假装最后一个序列是一个破解者必须使用的 - 蛮力回到原始文件,他们必须获得的结果(在破解下一级加密之前)一旦他们突破第一级加密,它仍然看起来是一个完全没用的文件(第二行)。这是否意味着任何试图使用暴力的人都无法回到原始文件,因为他们可能仍然只会看到加密文件?
这些基本上是两个同样处理问题的问题:一遍又一遍地加密同一个文件的效果。我在网上搜索了一下重复加密对使文件安全有什么影响,但除了在某处找到第一个问题的答案没有的轶事之外,我没有发现任何与同一主题的第二次旋转有关的内容。我对最后一个问题特别好奇。
**假设假设他们以某种方式通过弱密码强行推进 - 因为如果您知道如何制作安全的密码,那么现在看来这是256-AES的技术可能性......
答案 0 :(得分:1)
一般情况下,如果使用k-bit AES加密文件,然后使用k-bit AES加密,则只能获得(k + 1)位安全性,而不是2k位的安全性。 - 中间攻击。对于大多数类型的加密也是如此,例如DES。 (请注意,由于这个原因,三重DES不仅仅是三轮加密。)
此外,使用方法A然后使用方法B加密文件甚至不需要像单独使用方法B加密一样强大! (尽管方法A存在严重缺陷,但很少会出现这种情况。)相比之下,你保证至少与方法A一样强。(任何记住这个定理名称的人都会被鼓励发表评论;我'我忘记了。)
通常,只要选择尽可能强大的单一方法,你就会好得多。
对于您的第二个问题:是的,对于大多数方法,攻击者都会知道第一层已被泄露。
答案 1 :(得分:0)
此处有更多意见......
首先,当计算机强大到足以对AES-256进行暴力攻击时,它也将用于相同的迭代......在该级别上加倍或三倍的时间或精力是微不足道的。< / p>
接下来,根据您尝试使用此加密的应用程序,这些注意事项可能无效......您需要携带的“秘密”变得更大(迭代次数和您需要的所有不同的密钥,如果实际上它们是不同的),加密和解密的时间也需要增加。
我的预感是迭代加密并没有多大帮助。要么算法强大到足以维持蛮力附着,要么不是。其余的都是保护钥匙。
更实际的是,如果你的前门上有三个相同或类似的锁,你认为你的房子会受到更多的保护吗? (并且包括随身携带的钥匙数量,不要松开这些钥匙,确保窗户和后门也是安全的......)
答案 2 :(得分:0)
问题1: 对于256位密钥的两次传递,解决方案空间的大小将与512位密钥相同,因为2 ^(256 + 256)= 2 ^ 512
每个decrypt()的实际运行时间可能会随着密钥大小的增长而非线性增加(这将取决于算法),在这种情况下,我认为暴力强制256 + 256将比2 ^运行得更快512,但仍然是不可行的。
问题2: 可能有方法来识别某些密文。如果许多算法留下一些可用于识别的签名或工件,我不会感到惊讶。