On 10/10/2012 12:37 PM, Vladimir Belov wrote:
I mean the following: RAND_poll is called only once and stirring of the pool is made only once. After these operations no more data is adding to the global state buffer. Global state buffer is only 1023 bytes long, and although data is always mixing by md5 and xored we have only 1023 bytes of real random data, nothing more.

For example, I have a server application that accepts SSL connections and works very long time(24/7). I think that after getting tens of thousands of random bytes with RAND_bytes, data will be too worse, not cryptographically secure. That's why what is the number of bytes we can safely get with RAND_bytes before it will give already not cryptographically secure data?

Knowing this number we can call RAND_poll once again or RAND_seed with our good random data and also maybe we must stir the pool again.

I will be very grateful for the responses and further discussion.

Regards,

Vladimir.

______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]

The CTR-DRBG algorithm from NIST Special Publication 800-90, when implemented with AES-128, has only 256 bits of state, and yet the required reseed interval is 2^48 requests and each request can deliver up to 2^19 bits (64K bytes). This does not prove anything about the quality of the RNG in OpenSSL, it only shows that with a proper algorithm 8K bits (1K bytes) is more than enough to work without reseeding for an incredibly long time.

    --David Jacobson
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to