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

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!

Those are some parts of an article I was reading, I understand the context, but I'm not sure about "seed".

up vote 11 down vote accepted

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:


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 at 12:28

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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