Cryptography Stack Exchange is a question and answer site for software developers, mathematicians and others interested in cryptography. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to write some high-level security requirements which include a random number generator suitable for use in cryptography. I don't need something very formal, this isn't a security certification or a work order. I just want to go to the next level from “supply a proper RNG”.

A proper RNG should be built on a cryptographic PRNG seeded from an appropriate entropy source. For the cryptographic PRNG and even the seeding method, it isn't hard to find applicable standards; for example, I'd be content to write that the PRNG must use one of the algorithms listed in FIPS 140-2 annex C, or attain an equivalent security level.

What about entropy collection or seeding? Is there a similar document that I can quote? Anything easily available in English would do, it doesn't have to be (or not to be) a government standard or an RFC or similar, but it's better if it looks somewhat official or trustworthy.

Offering concrete guidance would be a plus. However this could be hard since the requirements may need to be met in very different ways (e.g. a non-deterministic oscillator in an embedded device, a server with a radioactive source, a PC with someone wiggling the mouse, …).

share|improve this question

As far as I can tell, NIST has only one official document about entropy collection. SP-800-90B.

The purpose of NIST Special Publication (SP) 800-90B is to specify the design and testing requirements for entropy sources that can be validated as approved entropy sources by NIST‘s CAVP and CMVP.

It essentially defines a bunch of statistical tests to check the strength of a particular entropy source. Seeking entropy methods that meets the requirements is a good first step especially if you need "official" certification by NIST.

share|improve this answer

Germany's BSI has produced AIS 31 that includes requirements on Physical True RNGs (PTRNGs). It is designed to fill a gap in the Common Criteria standard.

Chapter 4 describes pre-defined classes for physical true, non-physical true, deterministic and hybrid random number generators. ... The basic concepts and evaluation criteria are illustrated by additional examples in chapter 5.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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