我可以对两个私钥使用非对称加密吗?
|
根据维基百科(和其他来源)的说法,非对称加密始终像这样工作:
甲方具有公钥和私钥
乙方使用A \的公钥加密内容
甲方使用其私钥解密内容
但是,我不希望甲方能够加密自己的数据,而只希望他们能够对其解密。使用非对称逻辑将导致:
甲方有私钥
乙方有一个私钥(这是甲方的公钥)
乙方使用其私钥加密内容
甲方使用其私钥解密内容
我们将使用它进行某种形式的许可证生成/检查。我们的客户可能不会生成许可证,但是许可证文件必须在客户端可读。
这仍然是非对称加密吗?还是应该考虑使用其他方法?
没有找到相关结果
已邀请:
7 个回复
宠封钞轰
莽缓逢
犀耽澄协吻
膛嵌墒缅欠
锯康
驮帽俺篮号
抬澈帅沮
请注意,我们在这里做了一些奇怪的事情。我们将来自不同密钥对的RSA操作混合在一个操作中。括号中的对象实际上是一个新的虚拟RSA密钥,并且这些密钥都不是公共的。如果我们尝试直接创建该RSA密钥,则alice或bob会知道该对密钥。该密钥对实际上是一个秘密密钥,您在其中写入一端,只有另一端可以解密它,但是您不能解密自己编写的内容,其他任何人都不能加密到另一端的消息。 我从未见过有人混合这样的密钥对,但是我通过编写代码进行了测试。我不得不做一些不寻常的事情,因为通常,将私钥应用于消息是为了“签名”。但是签名通常会散列秘密,并将私钥应用于它的散列。我们不想要的东西。因此,在我的代码中,一旦我将RSA组件(D,E,N)提取为任意精度数字...即:解密,加密,模数...我就做了:
有点棘手的是,E(加密指数)实际上是一个可预测的值,但是模数N在公共密钥(E,N)中。 D对每一方都是私有的。我们在这里需要小心,因为您和我的模数N不同。 我之所以这样做,是因为我想要一个系统,该系统的程序被授权可以加密可由用户解密的密钥。这样做,用户无法加密密钥,并且程序无法解密密钥。