是否有一种方法可以以某种方式更改公共密钥,即在更改后仍然可以使用私钥进行解密?
-
23-09-2019 - |
题
在一个不规则的加密方案中,我想知道是否可以实现以下内容:
- 鲍勃向爱丽丝派他的公钥
- 爱丽丝改善了鲍勃的公钥,并加密了一些文档
- 爱丽丝将加密文件发送给鲍勃
- 鲍勃(Bob)取回该文件,但不能用他的私钥解密
- 后来,爱丽丝向鲍勃发送了一些其他信息(可能与她用来改变鲍勃的公钥的方法有关)
- 鲍勃使用此其他信息来修改其私钥并成功解密文档
任何人?
我假设RSA用于钥匙生成,加密和解密,但是如果使用其他方案更容易,请随时发表评论。
解决方案
(我想您谈论RSA。)
对的,这是可能的, 但不是100%.
公钥是私钥的一部分。它包含键的模量和指数。
您可以完全忘记更改模量,因为您必须生成一个新的RSA Keypair,这与我们要解决的问题是相同的问题。
但是可以更改指数。您可以选择1和指数之间的任何(prime)数字作为新指数, 希望 它与统治者是企业。在不知道基准的情况下,不可能始终选择一个正确的指数。要找出正常的,您必须知道钥匙的主要因素,这意味着您将不得不打破钥匙(玩得开心!)。
所以, 实际上是不可能的 至少在只知道公共密钥的同时,没有100%的工作方法来做到这一点。
如果您需要有关理论检查的更多信息 这里
其他提示
希望我的想法有效。
让我们假设 (e,d,n)
是RSA公共指数的元组。 RSA私人指数和RSA模量 n :
选择一个素数,说 p, ,在1到256位整数之间。
至 加密 一个消息 m, ,将新的公共指数计算为 e*p
和密文AS:
c= m^{e*p} mod n
.
至 解密, ,接收器应该知道素数 p, ,所以你发送了 p 后来他,他计算
(1) P = p^{-1} mod phi(n)
和
(2) m^e=c^{P} mod n
和
最后 m=(m^e)^d mod n
. 。这可以作为接收器知道Phi(n)的作用。
顺便说一句,我们在哪里可以使用?您是否有任何应用程序?
正如Silky在他的回答中所暗示的那样,RSA通常用于加密文档的方式与对称算法(如AES)结合使用。为AES算法生成了一个安全的随机密钥,该记录的AES键加密,并且AES密钥与收件人的公钥加密。这两个部分均提供给收件人。
您可以仅通过在第一步中仅发送使用AES密钥加密的文档来调整您的情况,并保留使用收件人的公共密钥加密的AES密钥,直到第二步。第一部分将在原始文件大小的顺序上,第二部分将是一个小的,恒定的大小(在RSA密钥大小的顺序上)。