3

在非对称加密方案中,我想知道是否有可能实现以下目标:

  1. Bob 将他的公钥发送给 Alice
  2. 爱丽丝更改鲍勃的公钥并用它加密一些文件
  3. Alice 将加密的文档发送给 Bob
  4. Bob 检索到文档,但无法用他的私钥解密
  5. 之后,Alice 向 Bob 发送了一些额外的信息(可能与她用来更改 Bob 的公钥的方法有关)
  6. Bob 使用此附加信息修改他的私钥并成功解密文档

任何人?

我假设 RSA 用于密钥生成、加密和解密,但如果使用其他方案更容易,请随时发表评论。

4

4 回答 4

2

(我假设您谈论的是 RSA。)

是的,这是可能的,但不是 100%

公钥是私钥的一部分。它包含密钥的模数和指数。

您可以完全忘记更改模数,因为您必须生成一个新的 rsa 密钥对,这与我们试图解决的问题相同。

但是可以改变指数。您可以选择 1 和您的指数之间的任何(素数)数作为新指数,并希望它与 totient 互质。如果不知道总指数,就不可能始终选择正确的指数。要找出密钥,您必须知道密钥的主要因素,这意味着您必须打破密钥(玩得开心!)。

所以,实际上不可能有一个 100% 的工作方法来做到这一点,至少在只知道公钥的情况下是不可能的。

如果您需要有关理论的更多信息,请点击此处

于 2010-03-02T08:39:58.333 回答
2

我希望我的想法有效。

让我们假设这(e,d,n)是一个 RSA 公共指数的元组。RSA 私有指数和 RSA 模数n

选择一个介于 1 和 256 位整数之间的质数,例如p 。

为了加密消息m,计算新的公共指数为e*p和密文为:

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) 时起作用。

顺便说一句,我们可以在哪里使用它?您对此有什么想法吗?

于 2011-02-16T13:53:46.330 回答
1

正如 Silky 在他的回答中暗示的那样,通常使用 RSA 加密文档的方式是与对称算法(如 AES)结合使用。为 AES 算法生成一个安全随机密钥,文档使用该 AES 密钥加密,AES 密钥使用接收者的公钥加密。这两部分都提供给收件人。

您只需在第一步中仅发送使用 AES 密钥加密的文档,然后将使用收件人的公钥加密的 AES 密钥保留到第二步,您就可以根据您的情况进行调整。第一部分将按原始文件大小的顺序排列,第二部分将是一个小的恒定大小(按 RSA 密钥大小的顺序)。

于 2010-03-02T08:39:53.683 回答
0

嗯,有趣。

你指的是RSA,我猜?

仅供参考,RSA 实际上并不用于加密文档。它用于交换密钥(对称算法的密钥,如 AES)。

所以你真正谈论的是一种改变键的方法。

从技术上(数学上)如果你输入一个不同的数字,你会得到一个不同的数字。所以这不是问题;以某种方式更改公钥将(假设您说服您的 RSA 实现使用它,或准备一个适当不同的数字)会导致不同的对称密钥,因此 Bob 无法解密文档(因为他会期望不同的密钥)。

不过,真的,我不太确定你是否关心这个。这是一件相当无用的事情。但是,也许您实际上对密钥拆分(或维基百科似乎称之为“秘密共享”)感兴趣。

HTH。我绝不是专家。

于 2010-03-02T08:09:18.903 回答