Take the 2-minute tour ×

In asymmetric cryptography, is it possible to ensure that public key derived from a given private key is unique, no matter the algorithm?

share|improve this question
Your question may need some expanding so we can address it a little better. It sounds like this post on crypto may be in the right direction: crypto.stackexchange.com/questions/2558/… –  Eric G Mar 3 '13 at 19:27
@Lester - I've always wanted to attach this YouTube video somewhere, and I thought your question finally warrants it. As you'll soon learn, having a private key unique or not doesn't really matter, and I'm not entirely sure why would you want to assure that? Your question is mathematically/logically similar to asking 'if I choose a random time of the day to a millisecond precise, will it be unique to any other random selections of mine in the days of the coming year?'. As you can see, you can't really assure that, nor should you depend on it. –  TildalWave Mar 3 '13 at 20:24
Why would you want to? –  Mark C. Wallace Mar 4 '13 at 14:30

1 Answer 1

up vote 4 down vote accepted

You cannot speculate on unknown algorithms.

With RSA, you can make several public keys which are all functionally equivalent, in that they all correspond to the same private keys. Namely, if the public modulus n is the product of p and q, and the public exponent is e, then e'=e+k*lcm(p-1,q-1) will be another valid public exponent for the same modulus, and corresponding to the same private key, for any integer k ("lcm" is the Least Common Multiple). This allows you to compute an infinity of distinct public keys for one private key. (But it is not recommended at all to make more than one of these public keys public: combining two such keys reveals the private key quite easily.)

If you want unicity of public key, for some notion of unicity, then you have to arrange that yourself.

share|improve this answer
Thanks Thomas. Do you know other algorithms that make my answer "true"? –  Lester Mar 4 '13 at 14:57
With DSA and ECDSA, there is only one public key which matches a given private key -- provided that the key pair was correctly generated (it depends on whether the person who generates the key pair is a potential attacker or not). There can still be some possible variations in encoding. –  Thomas Pornin Mar 4 '13 at 15:34

Your Answer


