# What does "seed" mean in cryptography?

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

• What is the source of the quote? Jul 15, 2023 at 15:50
• 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. Jul 16, 2023 at 14:47

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.

• 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...
– Aron
Oct 21, 2018 at 12:28