我想知道我是否可以为私钥设置多个公钥。
可以这样做吗? 如果是这样,有什么安全问题!?
如果我根据相同的初始值生成多个密钥对(没有初始向量),那么密钥不应该是“兼容的”吗?
答案 0 :(得分:7)
在我可以想到的所有非对称加密系统中,公钥和私钥之间存在1-1对应关系:给定私钥,您可以唯一地确定公钥并给定公钥,您可以唯一确定私钥(但从公钥中确定私钥当然在计算上是不可行的)。
然而,考虑到通常的非对称方案之一,您可以轻松地创建这样的方案:要创建具有n
个公钥的私钥,只需在正常方案中生成n
个公私密钥对并定义私钥的集合“私钥”。当仅使用所有私钥签名时,在验证时尝试验证其中一个签名。加密是通常的操作,解密应该尝试使用所有密钥解密(其中一个密钥应该有效)。
答案 1 :(得分:4)
标准算法无法做到这一点。
如果查看RSA中密钥对的生成方式,首先通过指定公共指数来选择公钥,然后生成私钥。
我想不出多个公钥的用例。它们是公开的,您可以获得它们中的任何一个,因此它不会真正提高安全性。
答案 2 :(得分:0)
目前尚不清楚为什么您认为需要多个公钥。它可以帮助您了解如果使用公钥加密某些内容,则无法使用相同的公钥对其进行解密。
如果有三个人(A,B,C)使用您的公钥,则B和C无法读取由A加密的消息,但您(使用私钥)可以。
如果您希望能够发送只有A,B或C中的一个可以读取的消息,则每个消息都应该有一个私钥,并与您共享其公钥。
听起来你想要处理私钥等公钥,这可能是一个糟糕的计划。
答案 3 :(得分:-1)
私钥/公钥具有1-1关系,因此对于给定的私钥,不可能有多个公钥。
但是,对于同一个公钥,您可以拥有3个单独的证书,如果这是您要查找的内容类型。