【问题标题】:Can we have multple private Keys with single public key?我们可以有多个私钥和一个公钥吗?
【发布时间】:2014-05-29 21:27:06
【问题描述】:

我用公钥加密数据,用私钥解密数据。

是否有可能拥有多个私钥和一个公钥?

【问题讨论】:

  • 答案取决于您认为什么是“公钥”和“私钥”。如果只是 e/d 用于 RSA 和 y/x 用于 DSA,那么 - 只要您改变基本参数 p/q/n RSA 和 p/q/g 用于 DSA。如果您将 (n, e) 和 (p, q, g, y) 的整个组合视为公钥,那么显然 no
  • @EugeneMayevski'EldoSCorp 如果最近没有被问到...
  • @owlstead 如果人们在做某事之前阅读规则,生活会容易得多:)

标签: cryptography public-key-encryption encryption-asymmetric


【解决方案1】:

不,你不能说这是公钥加密的本质。为什么你想要一个公钥有多个私钥?如果你想签署一个加密文件怎么办? 如果可以的话,我可以将加密文件发送给您的朋友并使用我精心制作的私钥对其进行签名?

【讨论】:

  • 在我的情况下,我正在向我的客户发送敏感数据,因为我正在使用公钥加密我的数据,他们将使用私钥解密数据。所以在这种情况下,我想给不同的私钥具有公共公钥的客户端。
  • 不,你给你的客户你的公钥,然后用你的私钥加密它。它是如何工作的。然后他们用你的公钥加密一些东西,只有你可以解密它:) 或者你有你所有的客户公钥,对于每个客户,你使用他们的公钥加密数据,然后他们用他们自己的私钥解密
  • @Sharr 你能解释一下你最后的评论吗?我们可以用私钥加密我们的数据,然后用已知的公钥解密吗?
【解决方案2】:

我想理论上它取决于算法。

但是对于我们一般使用的(RSA、ECC),有1:1的对应关系,所以:没有。

没有一对一的通信似乎是一件坏事。毕竟,您想知道只有指定的人才能成为发件人/收件人。

如果您想要群组对话,这通常是通过使用对称会话密钥加密消息来完成的(无论如何您都可能这样做,因为 public-key-crypto 不能很好地扩展大型消息),然后为多个收件人(分别)加密会话密钥。

【讨论】:

    【解决方案3】:

    从一个公钥生成多个私钥是不可行的。首先生成一个密钥,这将是您的私钥。公钥对是从此私钥生成的。一个密钥只能生成一个公钥。这是一个使用 RSA 算法生成公钥的简单命令

    rsa -in <yourkeyname(private key)> -pubout -out <publickeyname>
    

    【讨论】:

      猜你喜欢
      • 2012-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多