是否可以通过使用2个或更多RSA密钥加密消息来获得额外的安全性?
编辑: 一些澄清:
我最感兴趣的上下文是加密随机生成的对称密钥。
我不想将问题限制为连续两次加密;目的是避免大型RSA密钥的高计算成本。使用不那么简单的策略,例如将消息分成多个部分并单独加密它们应该被视为一种选择。
应该假设只获得部分信息是可以接受的。
如果您知道专家讨论过的任何出版物,或使用多个RSA密钥的算法,请提供帮助。
答案 0 :(得分:5)
<强> 没有 强>
对密码学进行思考实验是不安全的。建议您严格遵守专家所踩的路径。
当专家想要更好地保护某些东西时,他们使用更大的密钥大小(需要至少2048位,更小的证书insufficient以便安心)或使用elliptic curve证书优先于RSA。
顺便提一下,您要记住,您的邮件正文通常使用对称密码和随机密钥加密,并且只有此随机密钥使用收件人的公钥进行加密。对此密钥进行双重加密不会使此密钥更长,并且不会影响攻击者暴力破解的能力。
量子加密 - 我只是提到它只是令人兴奋的一面,你不需要将它考虑在你的选择中 - 承诺键盘有趣的东西:RSA键将被Shor的算法消灭,但是对称密钥(Grover)将只有半长(128位将等于64位,因此将是可破解的)。关于这些量子机器是否可以实现等问题当然存在争议:)
答案 1 :(得分:1)
没有
如果密钥A被泄露而不是使用A + B进行加密,则可以防止泄密,但在特殊情况之外,您无法获得额外的好处。
答案 2 :(得分:0)
是!
但不要使用原始加密。使用RSA加密模式。而不是使用第二个密钥重新加密加密的消息,这可能会削弱效果(我不知道),使用共享秘密算法将您的秘密分成两部分。共享秘密算法可以将秘密分成n个部分,并确保如果攻击者设法获得n-1个部分,他就不知道秘密。所以不要简单地将秘密分成两部分。
然后您可以拥有2个以上的RSA密钥。共享秘密算法的另一个强大特性是可以将秘密分布在n个片段上,并且只需要m个小于n的片段来恢复秘密。这使得秘密恢复对于丢失碎片更加健壮。
在此处查看有关共享密钥的更多信息:http://en.wikipedia.org/wiki/Shared_secret
答案 3 :(得分:0)
除了给出的答案之外,除非你做一些修补,否则它也根本不起作用。很简单,其中一个模数必须大于另一个模数。如果你首先执行RSA mod较大的模数并且修改较小的模数,则丢失信息并且不能保证成功解密。显而易见的补丁是始终使用较小的模数加密。当然,您必须以相反的顺序执行解密。另一个简单的补丁是选择大小非常接近的模数,这样你遇到无法唯一解密的密文的概率就会很小。
答案 4 :(得分:0)
撰写密码
假设您有加密函数E(M, K)
,其中M
是明文消息,K
是密钥。假设E
中没有已知的漏洞。
您生成两个完全不相关的键K1
和K2
。
如果您以E(E(M, K1), K2)
的形式撰写,则无法以这种方式实际输掉安全性。如果 可能会因加密E(M, K1)
而失去安全性,无论是K2
还是其他任何密钥,都会被破解,因为攻击者只能{{1} } E(E(M, K1), KF)
是攻击者希望选择的任何密钥。
有关详细信息,请参阅here。
使用其他密钥加密每隔一个块
这里的含义是显而易见的。假设您正在使用具有KF
组合的正确组合的加密原语,如果您使用两个密钥集中的不同密钥加密每个第二个块,则攻击者只能解密他拥有该密钥的块。