• R
    Switch from ossl_rand to DRBG rand · 75e2c877
    Rich Salz 提交于
    If RAND_add wraps around, XOR with existing. Add test to drbgtest that
    does the wrap-around.
    
    Re-order seeding and stop after first success.
    
    Add RAND_poll_ex()
    
    Use the DF and therefore lower RANDOMNESS_NEEDED.  Also, for child DRBG's,
    mix in the address as the personalization bits.
    
    Centralize the entropy callbacks, from drbg_lib to rand_lib.
    (Conceptually, entropy is part of the enclosing application.)
    Thanks to Dr. Matthias St Pierre for the suggestion.
    
    Various code cleanups:
        -Make state an enum; inline RANDerr calls.
        -Add RAND_POLL_RETRIES (thanks Pauli for the idea)
        -Remove most RAND_seed calls from rest of library
        -Rename DRBG_CTX to RAND_DRBG, etc.
        -Move some code from drbg_lib to drbg_rand; drbg_lib is now only the
         implementation of NIST DRBG.
        -Remove blocklength
    Reviewed-by: NPaul Dale <paul.dale@oracle.com>
    (Merged from https://github.com/openssl/openssl/pull/4019)
    75e2c877
rand_lib.c 9.9 KB