是否有一种方法可以以某种方式更改公共密钥,即在更改后仍然可以使用私钥进行解密?

StackOverflow https://stackoverflow.com/questions/2361631

在一个不规则的加密方案中,我想知道是否可以实现以下内容:

  1. 鲍勃向爱丽丝派他的公钥
  2. 爱丽丝改善了鲍勃的公钥,并加密了一些文档
  3. 爱丽丝将加密文件发送给鲍勃
  4. 鲍勃(Bob)取回该文件,但不能用他的私钥解密
  5. 后来,爱丽丝向鲍勃发送了一些其他信息(可能与她用来改变鲍勃的公钥的方法有关)
  6. 鲍勃使用此其他信息来修改其私钥并成功解密文档

任何人?

我假设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密钥大小的顺序上)。

嗯,很有趣。

您指的是 RSA, , 我假设?

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

因此,您真正谈论的是一种改变钥匙的方法。

从技术上讲(数学上),如果您将其他数字放入其他数字,您将获得不同的数字。所以这不是问题;以某种方式更改公钥(假设您说服您的RSA实现使用它,或准备适当的数字)会导致不同的对称键,从而由Bob提供了不可禁止的文档(因为他会期望有不同的键)。

确实,我不确定您是否在乎。这是一件相当无用的事情。 也许, 但是,您实际上对 钥匙分裂 (或Wikipedia似乎称之为“秘密共享”)。

Hth。我绝不是专家。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top