6
$\begingroup$

I have come across the term "seed" many times and, each time, it confuses me more and more. I think it has a well-known meaning in cryptography, but what is it?

From an article I was reading:

They can usually use the limited number of results stemming from a limited number of seed values to defeat security.

Not only does complex manipulation not help you if you have a limited range of seeds, but blindly-chosen complex manipulation can destroy the entropy in a good seed!

I understand the context, but I'm not sure about "seed".

$\endgroup$
2
  • $\begingroup$ What is the source of the quote? $\endgroup$ Commented Jul 15, 2023 at 15:50
  • 1
    $\begingroup$ I can't be so sure what I was referring to 5 years ago but a rough guess is this for the first sentence and this for the second one. Apologies, I didn't do that earlier. $\endgroup$ Commented Jul 16, 2023 at 14:47

1 Answer 1

12
$\begingroup$

The seed of a pseudorandom number generator — whether cryptographically secure of not — is the initial input that defines the pseudorandom sequence of outputs generated from it.

It's not really a term that's specific to cryptography, except insofar as there's a considerable amount of overlap between pseudorandom number generation and cryptography, which might be why you haven't been able to find a good definition of it in crypto literature.

That said, such definitions do exist. For example, NIST SP 800-90A rev. 1 provides the following, admittedly perhaps not the most easily digestible one:

Seed

Noun : A string of bits that is used as input to a DRBG mechanism. The seed will determine a portion of the internal state of the DRBG, and its entropy must be sufficient to support the security strength of the DRBG.

Verb : To acquire bits with sufficient entropy for the desired security strength. These bits will be used as input to a DRBG mechanism to determine a portion of the initial internal state.

Also see reseed.

(Note: "DRBG" stands for "Deterministic Random Bit Generator", which is essentially the NIST term for a pseudorandom number generator.)

SP 800-90A also includes a more detailed description of seeds in section 8.6 (appropriately titled "Seeds"), which I would strongly recommend taking a look at if you're interested in PRNG seeding in a cryptographic context. It may, however, be a good idea to start reading a few pages up from section 7 ("Functional Model of a DRBG") to familiarize yourself with the concepts and terminology first.

$\endgroup$
1
  • $\begingroup$ Seed is a bit of a crap name, since it doesn't describe anything except that it is used to generate something. Nonce is more useful... $\endgroup$
    – Aron
    Commented Oct 21, 2018 at 12:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.