Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 539
Priyank Bolia Avatar asked Feb 21 '12 09:02

Priyank Bolia


People also ask

Can one private key have multiple public keys?

No, there is not one private key. There is one Master private key. The master private key is then used to generate more private keys in a deterministic fashion, i.e. using the same master private key, you will generate the same private keys.

How many public keys can correspond with a matching private key?

It allows each person in a conversation to create two keys—a public key and a private key. The two keys are connected and are actually very large numbers with certain mathematical properties. If you encode a message using a person's public key, they can decode it using their matching private key.

Does a private key only have one public key?

In public key cryptography, every public key matches to only one private key. Together, they are used to encrypt and decrypt messages. If you encode a message using a person's public key, they can only decode it using their matching private key.

Does RSA private key include public key?

The private key always includes the public key. What you might really want is Signing. Using the same . NET classes, you can sign data with your private key and verify the signature on the other party's side with the public key (which obviously doesn't contain the private key).


1 Answers

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.


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).

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

like image 158
Henrick Hellström Avatar answered Oct 16 '22 11:10

Henrick Hellström