0
$\begingroup$

Consider a use case that requires the creation of multiple asymmetric key pairs. There are two options for generating random seeds for a PRF:

  • Use a software based RNG and generate a new seed for each key pair
  • Use a hardware based TRNG, generate a single seed, and increment that value for each new key pair

Would either of these options be superior to the other, in terms of security strengths/weaknesses?

EDIT

My thinking is that neither solution above would be necessarily insecure.

The RNG solution would generate less entropy than the TRNG initially, but that may not be a problem, depending on the use case, if no other weaknesses were present.

For the TRNG solution, my understanding is that the larger goal is for the salt value to be unique, rather than secret (the private key needs to be secret). As the seed increments, the PRF will mask any resemblance to the original seed.

$\endgroup$
  • $\begingroup$ This looks like an assignment to me, because one of these options would never be taken by a serious cryptographer. Please include your own thoughts and mind that we only provide hints for homework style questions. $\endgroup$ – Maarten Bodewes Jun 30 at 22:29
  • 1
    $\begingroup$ Updated question with my thinking. This is not a homework assignment, but I'm definitely not a 'serious cryptographer'. Would appreciate any correction to my understanding. $\endgroup$ – SecurityNoob Jul 1 at 11:39
  • $\begingroup$ So are you going to use the "seed" to seed another RNG or do you plan to use the generated seed directly within the key pair generation? $\endgroup$ – Maarten Bodewes Jul 1 at 11:44
  • $\begingroup$ I was thinking seed directly to PRF (HMAC, lets say) for KDF. So RNG used once per key pair for the first option, and incremented once per key pair for the second option. $\endgroup$ – SecurityNoob Jul 1 at 11:51
  • $\begingroup$ Asymmetric key pair generation generally takes a PRNG, not a PRF. That's why I was asking. $\endgroup$ – Maarten Bodewes Jul 1 at 14:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.