重复加密给定文件有多实用?

时间:2010-10-05 03:16:43

标签: brute-force encryption-asymmetric aes

我目前正在尝试使用公钥加密和个人文件加密。我使用的程序分别具有2048位RSA和256位AES级加密。作为这个东西的新手(我现在只是一个cypherpunk大约一个月了 - 对信息系统来说有点新)我不熟悉RSA算法,但这在这里并不重要。

我知道除非某个秘密实验室或NSA程序碰巧有一台量子计算机,否则目前不可能暴力破解这些程序提供的安全级别,但我想知道加密一个更安全的程度。一遍又一遍地提起文件。

简而言之,我想知道的是:

  1. 当我使用256位AES加密文件,然后再次加密已加密的文件(再次使用256)时,我现在是否具有相当于512位AES的安全性?这几乎是一个问题,即强力方法可能需要测试的可能键的数量是 2 x 2到256次幂还是2到256次方 平方 。悲观,我认为它是前者,但我想知道512-AES是否真的可以通过简单地用256-AES加密两次来实现?
  2. 一旦文件被加密多次,以便您必须继续使用不同的密钥或在每个加密级别保持密码,有人**甚至会认识到他们是否已通过第一级加密?我想也许 - 如果一个人要多次加密一个文件需要几个不同的密码 - 一个破解者就没有办法知道他们是否已经突破了第一级加密,因为他们所拥有的所有东西仍然是加密的文件。
  3. 以下是一个例子:

    • 解密文件
    • DKE $ jptid UiWe
    • oxfialehv u%uk

    暂时假装最后一个序列是一个破解者必须使用的 - 蛮力回到原始文件,他们必须获得的结果(在破解下一级加密之前)一旦他们突破第一级加密,它仍然看起来是一个完全没用的文件(第二行)。这是否意味着任何试图使用暴力的人都无法回到原始文件,因为他们可能仍然只会看到加密文件?

    这些基本上是两个同样处理问题的问题:一遍又一遍地加密同一个文件的效果。我在网上搜索了一下重复加密对使文件安全有什么影响,但除了在某处找到第一个问题的答案没有的轶事之外,我没有发现任何与同一主题的第二次旋转有关的内容。我对最后一个问题特别好奇。

    **假设假设他们以某种方式通过弱密码强行推进 - 因为如果您知道如何制作安全的密码,那么现在看来这是256-AES的技术可能性......

3 个答案:

答案 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: 可能有方法来识别某些密文。如果许多算法留下一些可用于识别的签名或工件,我不会感到惊讶。