0

Consider that there 100 computers in a network where each computer is required to generate 10 unique public-private key pairs [and that each of the 100 X 10 pairs are to be unique] . Is there any standard algorithm which achieves this ?

Even if there are standard algorithms to generate unique keys, is there any possibility of a collision for some reason ?

closed as unclear what you're asking by Steve, Stephane, Xander, Serge Ballesta, Matthew Apr 20 '17 at 11:00

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    Why do you think that the typical methods will not generate unique key pairs? – schroeder Apr 17 '17 at 22:55
  • 1
    Unless you're using a VM that's just recently cloned to create keys, you're going to be fine generating the keypair in the most straightforward method. If you suspect your code may be running on such situation, you can just mix in external entropy to the system CSPRNG, for example, in Linux/most Unixes, by writing a number you fetch from random.org to /dev/random or by simply waiting until the machine have enough entropy – Lie Ryan Apr 18 '17 at 2:52
5

Just generate 100×10 key pairs and, unless you are using Debian’s (in)famous OpenSSL version, you are pretty sure that they are all different.

  • Each of the 10 key pairs are generated on different computers, will that 10 X 100 key pairs be unique. (I think you have assumed those 100 X 10 key pairs are generated on a single computer). – user145871 Apr 17 '17 at 17:31
  • 2
    I did not assume anything like that. Thousands of key pairs are created each day and they are all different. – user2233709 Apr 17 '17 at 18:03
1

Open ssl/boring ssl. As long as random number generation is reliable there won't a problem. Research a possibility to generate all on one computer and make deployment.

  • The problem is that, I cannot let out those pairs from those computers (for a certain period of time) due to security reasons. (I know public key is meant to be public.) – user145871 Apr 17 '17 at 17:35
  • You need to be absolutely sure your remote computers generate reliably random numbers. Therefore test them first, may be login with ssh session and test it. Random number is a base stone for security, you better to test it anyway. Of course if you get different public keys your private keys are unique, too. – VovCA Apr 17 '17 at 17:47