diff options
author | Dr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> | 2017-12-28 21:42:14 +0100 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2018-01-04 11:47:31 +1000 |
commit | 8212d50576147cd5db87b1e2f4607a6d5b5f435f (patch) | |
tree | 016885875e4a7ed596423afc9fdb8954cc66abaf /include | |
parent | 4e585e720195788c9546a9ce71d63dafdfd2aaf1 (diff) |
crypto/rand: restore the generic DRBG implementation
The DRGB concept described in NIST SP 800-90A provides for having different
algorithms to generate random output. In fact, the FIPS object module used to
implement three of them, CTR DRBG, HASH DRBG and HMAC DRBG.
When the FIPS code was ported to master in #4019, two of the three algorithms
were dropped, and together with those the entire code that made RAND_DRBG
generic was removed, since only one concrete implementation was left.
This commit restores the original generic implementation of the DRBG, making it
possible again to add additional implementations using different algorithms
(like RAND_DRBG_CHACHA20) in the future.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4998)
Diffstat (limited to 'include')
-rw-r--r-- | include/openssl/randerr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/openssl/randerr.h b/include/openssl/randerr.h index b07ea233eb..b136ce87e1 100644 --- a/include/openssl/randerr.h +++ b/include/openssl/randerr.h @@ -33,6 +33,7 @@ int ERR_load_RAND_strings(void); # define RAND_F_RAND_DRBG_RESEED 110 # define RAND_F_RAND_DRBG_RESTART 102 # define RAND_F_RAND_DRBG_SET 104 +# define RAND_F_RAND_DRBG_UNINSTANTIATE 118 # define RAND_F_RAND_LOAD_FILE 111 # define RAND_F_RAND_POOL_ADD 103 # define RAND_F_RAND_POOL_ADD_BEGIN 113 @@ -65,6 +66,7 @@ int ERR_load_RAND_strings(void); # define RAND_R_IN_ERROR_STATE 114 # define RAND_R_NOT_A_REGULAR_FILE 122 # define RAND_R_NOT_INSTANTIATED 115 +# define RAND_R_NO_DRBG_IMPLEMENTATION_SELECTED 128 # define RAND_R_PERSONALISATION_STRING_TOO_LONG 116 # define RAND_R_PRNG_NOT_SEEDED 100 # define RAND_R_RANDOM_POOL_OVERFLOW 125 |