我们可以有多个公钥和一个用于 RSA 的私钥吗? [英] Can we have multiple public keys with a single private key for RSA?

查看:31
本文介绍了我们可以有多个公钥和一个用于 RSA 的私钥吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们能否将多个公钥与单个私钥关联以进行 RSA 公钥加密?

Can we have multiple public keys associated with a single private key for RSA public-key encryption?

推荐答案

在实践中,就安全性而言,不,从数学上讲,是的.如果你有一个私钥 (N, D),那么等式 1 = E*D (mod Phi(N)) 的代数解就有无数个.但是,如果您将两个这样的解决方案 (E, N) 和 (E', N) 都满足等式公开,那么您将破坏私钥的保密性.

In practice and with respect to security, no, mathematically, yes. If you have a private key (N, D), there is algebraically an infinite number of solutions to the equation 1 = E*D (mod Phi(N)). However, if you make two such solutions (E, N) and (E', N) that both satisfy the equation public, you will have compromised the secrecy of the private key.

然而,给定一种常用的非对称方案,您可以轻松创建这样的方案:要使用 n 公钥创建私钥,只需生成 n 公钥-私钥对在正常方案中并将私钥"定义为私钥的集合.签名时只需使用所有私钥签名,验证时尝试验证其中一个签名.加密是通常的操作,解密应该尝试使用所有密钥(其中一个应该可以工作)解密.

However given one of the usual asymmetric schemes you can easily create such a scheme: To create a private key with n public keys, just generate n public-private keypairs in the normal scheme and define the "private key" to be the collection of the private keys. When signing just sign with all the private keys, when verifying try to verify one of the signatures. Encryption is the usual operation and decrypting should try to decrypt with all the keys (one of them should work).

这种算法被称为分层确定性钱包"并在此处进行了很好的解释 BIP-32

Such algorithm is well known as "hierarchical deterministic wallets" and well explained here BIP-32

这篇关于我们可以有多个公钥和一个用于 RSA 的私钥吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆