From b0614f0ae3c33182ad184dc82056b22aebf42956 Mon Sep 17 00:00:00 2001 From: "Dr. Matthias St. Pierre" Date: Mon, 14 Sep 2020 00:47:26 +0200 Subject: [PATCH] drbg: revert renamings of the generate and reseed counter The original names were more intuitive: the generate_counter counts the number of generate requests, and the reseed_counter counts the number of reseedings (of the principal DRBG). reseed_gen_counter -> generate_counter reseed_prop_counter -> reseed_counter This is the anologue to commit 8380f453ec81 on the 1.1.1 stable branch. The only difference is that the second renaming has already been reverted on the master branch. Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/12941) --- doc/man3/EVP_RAND.pod | 2 +- doc/man7/EVP_RAND-CTR-DRBG.pod | 2 +- doc/man7/EVP_RAND-HASH-DRBG.pod | 2 +- doc/man7/EVP_RAND-HMAC-DRBG.pod | 2 +- doc/man7/EVP_RAND-TEST-RAND.pod | 2 +- doc/man7/provider-rand.pod | 2 +- include/openssl/core_names.h | 2 +- providers/implementations/rands/drbg.c | 14 +++++++------- providers/implementations/rands/drbg_hash.c | 2 +- providers/implementations/rands/drbg_local.h | 4 ++-- providers/implementations/rands/test_rng.c | 4 ++-- 11 files changed, 19 insertions(+), 19 deletions(-) diff --git a/doc/man3/EVP_RAND.pod b/doc/man3/EVP_RAND.pod index b7b836f03e..25dbf80375 100644 --- a/doc/man3/EVP_RAND.pod +++ b/doc/man3/EVP_RAND.pod @@ -289,7 +289,7 @@ seed the DRBG. Specify the minimum and maximum number of bytes of personalisation string that can be used with the DRBG. -=item "reseed_counter" (B) +=item "reseed_counter" (B) Specifies the number of times the DRBG has been seeded or reseeded. diff --git a/doc/man7/EVP_RAND-CTR-DRBG.pod b/doc/man7/EVP_RAND-CTR-DRBG.pod index e35703670f..d8e2d4f2aa 100644 --- a/doc/man7/EVP_RAND-CTR-DRBG.pod +++ b/doc/man7/EVP_RAND-CTR-DRBG.pod @@ -42,7 +42,7 @@ The supported parameters are: =item "max_adinlen" (B) -=item "reseed_counter" (B) +=item "reseed_counter" (B) =item "properties" (B) diff --git a/doc/man7/EVP_RAND-HASH-DRBG.pod b/doc/man7/EVP_RAND-HASH-DRBG.pod index 879384993e..b85010dd41 100644 --- a/doc/man7/EVP_RAND-HASH-DRBG.pod +++ b/doc/man7/EVP_RAND-HASH-DRBG.pod @@ -42,7 +42,7 @@ The supported parameters are: =item "max_adinlen" (B) -=item "reseed_counter" (B) +=item "reseed_counter" (B) =item "properties" (B) diff --git a/doc/man7/EVP_RAND-HMAC-DRBG.pod b/doc/man7/EVP_RAND-HMAC-DRBG.pod index 31b17a97ba..e9620783b0 100644 --- a/doc/man7/EVP_RAND-HMAC-DRBG.pod +++ b/doc/man7/EVP_RAND-HMAC-DRBG.pod @@ -42,7 +42,7 @@ The supported parameters are: =item "max_adinlen" (B) -=item "reseed_counter" (B) +=item "reseed_counter" (B) =item "properties" (B) diff --git a/doc/man7/EVP_RAND-TEST-RAND.pod b/doc/man7/EVP_RAND-TEST-RAND.pod index 4736b5a976..9eb7001d64 100644 --- a/doc/man7/EVP_RAND-TEST-RAND.pod +++ b/doc/man7/EVP_RAND-TEST-RAND.pod @@ -44,7 +44,7 @@ These parameter works as described in L. =item "max_adinlen" (B) -=item "reseed_counter" (B) +=item "reseed_counter" (B) These parameters work as described in L, except that they can all be set as well as read. diff --git a/doc/man7/provider-rand.pod b/doc/man7/provider-rand.pod index 8b310726ff..d75a36d01e 100644 --- a/doc/man7/provider-rand.pod +++ b/doc/man7/provider-rand.pod @@ -208,7 +208,7 @@ instantiate the DRBG. Specify the minimum and maximum number of bytes of personalisation string that can be used with the DRBG. -=item "reseed_counter" (B) +=item "reseed_counter" (B) Specifies the number of times the DRBG has been seeded or reseeded. diff --git a/include/openssl/core_names.h b/include/openssl/core_names.h index 76902695f0..a8d4d51533 100644 --- a/include/openssl/core_names.h +++ b/include/openssl/core_names.h @@ -229,7 +229,7 @@ extern "C" { #define OSSL_DRBG_PARAM_MAX_NONCELEN "max_noncelen" #define OSSL_DRBG_PARAM_MAX_PERSLEN "max_perslen" #define OSSL_DRBG_PARAM_MAX_ADINLEN "max_adinlen" -#define OSSL_DRBG_PARAM_RESEED_CTR "reseed_counter" +#define OSSL_DRBG_PARAM_RESEED_COUNTER "reseed_counter" #define OSSL_DRBG_PARAM_RESEED_TIME "reseed_time" #define OSSL_DRBG_PARAM_PROPERTIES OSSL_ALG_PARAM_PROPERTIES #define OSSL_DRBG_PARAM_DIGEST OSSL_ALG_PARAM_DIGEST diff --git a/providers/implementations/rands/drbg.c b/providers/implementations/rands/drbg.c index 5a41647b33..f97d830478 100644 --- a/providers/implementations/rands/drbg.c +++ b/providers/implementations/rands/drbg.c @@ -112,7 +112,7 @@ static unsigned int get_parent_reseed_count(PROV_DRBG *drbg) void *parent = drbg->parent; unsigned int r; - *params = OSSL_PARAM_construct_uint(OSSL_DRBG_PARAM_RESEED_CTR, &r); + *params = OSSL_PARAM_construct_uint(OSSL_DRBG_PARAM_RESEED_COUNTER, &r); if (!drbg_lock_parent(drbg)) { ERR_raise(ERR_LIB_PROV, PROV_R_UNABLE_TO_LOCK_PARENT); goto err; @@ -500,7 +500,7 @@ int PROV_DRBG_instantiate(PROV_DRBG *drbg, unsigned int strength, } drbg->state = EVP_RAND_STATE_READY; - drbg->reseed_gen_counter = 1; + drbg->generate_counter = 1; drbg->reseed_time = time(NULL); tsan_store(&drbg->reseed_counter, drbg->reseed_next_counter); @@ -624,7 +624,7 @@ int PROV_DRBG_reseed(PROV_DRBG *drbg, int prediction_resistance, goto end; drbg->state = EVP_RAND_STATE_READY; - drbg->reseed_gen_counter = 1; + drbg->generate_counter = 1; drbg->reseed_time = time(NULL); tsan_store(&drbg->reseed_counter, drbg->reseed_next_counter); if (drbg->parent != NULL) @@ -692,7 +692,7 @@ int PROV_DRBG_generate(PROV_DRBG *drbg, unsigned char *out, size_t outlen, } if (drbg->reseed_interval > 0) { - if (drbg->reseed_gen_counter >= drbg->reseed_interval) + if (drbg->generate_counter >= drbg->reseed_interval) reseed_required = 1; } if (drbg->reseed_time_interval > 0) { @@ -721,7 +721,7 @@ int PROV_DRBG_generate(PROV_DRBG *drbg, unsigned char *out, size_t outlen, return 0; } - drbg->reseed_gen_counter++; + drbg->generate_counter++; return 1; } @@ -860,7 +860,7 @@ PROV_DRBG *prov_rand_drbg_new drbg->max_noncelen = DRBG_MAX_LENGTH; drbg->max_perslen = DRBG_MAX_LENGTH; drbg->max_adinlen = DRBG_MAX_LENGTH; - drbg->reseed_gen_counter = 1; + drbg->generate_counter = 1; drbg->reseed_counter = 1; drbg->reseed_interval = RESEED_INTERVAL; drbg->reseed_time_interval = TIME_INTERVAL; @@ -949,7 +949,7 @@ int drbg_get_ctx_params(PROV_DRBG *drbg, OSSL_PARAM params[]) if (p != NULL && !OSSL_PARAM_set_time_t(p, drbg->reseed_time_interval)) return 0; - p = OSSL_PARAM_locate(params, OSSL_DRBG_PARAM_RESEED_CTR); + p = OSSL_PARAM_locate(params, OSSL_DRBG_PARAM_RESEED_COUNTER); if (p != NULL && !OSSL_PARAM_set_uint(p, tsan_load(&drbg->reseed_counter))) return 0; diff --git a/providers/implementations/rands/drbg_hash.c b/providers/implementations/rands/drbg_hash.c index e5266dbb29..014b080f37 100644 --- a/providers/implementations/rands/drbg_hash.c +++ b/providers/implementations/rands/drbg_hash.c @@ -323,7 +323,7 @@ static int drbg_hash_generate(PROV_DRBG *drbg, { PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data; unsigned char counter[4]; - int reseed_counter = drbg->reseed_gen_counter; + int reseed_counter = drbg->generate_counter; counter[0] = (unsigned char)((reseed_counter >> 24) & 0xff); counter[1] = (unsigned char)((reseed_counter >> 16) & 0xff); diff --git a/providers/implementations/rands/drbg_local.h b/providers/implementations/rands/drbg_local.h index 3129bba11d..66539def42 100644 --- a/providers/implementations/rands/drbg_local.h +++ b/providers/implementations/rands/drbg_local.h @@ -150,7 +150,7 @@ struct prov_drbg_st { * (Starts at 1). This value is the reseed_counter as defined in * NIST SP 800-90Ar1 */ - unsigned int reseed_gen_counter; + unsigned int generate_counter; /* * Maximum number of generate requests until a reseed is required. * This value is ignored if it is zero. @@ -252,7 +252,7 @@ int drbg_set_ctx_params(PROV_DRBG *drbg, const OSSL_PARAM params[]); OSSL_PARAM_size_t(OSSL_DRBG_PARAM_MAX_NONCELEN, NULL), \ OSSL_PARAM_size_t(OSSL_DRBG_PARAM_MAX_PERSLEN, NULL), \ OSSL_PARAM_size_t(OSSL_DRBG_PARAM_MAX_ADINLEN, NULL), \ - OSSL_PARAM_uint(OSSL_DRBG_PARAM_RESEED_CTR, NULL), \ + OSSL_PARAM_uint(OSSL_DRBG_PARAM_RESEED_COUNTER, NULL), \ OSSL_PARAM_time_t(OSSL_DRBG_PARAM_RESEED_TIME, NULL), \ OSSL_PARAM_uint(OSSL_DRBG_PARAM_RESEED_REQUESTS, NULL), \ OSSL_PARAM_uint64(OSSL_DRBG_PARAM_RESEED_TIME_INTERVAL, NULL) diff --git a/providers/implementations/rands/test_rng.c b/providers/implementations/rands/test_rng.c index a0507f4d92..b2370e46f2 100644 --- a/providers/implementations/rands/test_rng.c +++ b/providers/implementations/rands/test_rng.c @@ -236,7 +236,7 @@ static int test_rng_set_ctx_params(void *vdrbg, const OSSL_PARAM params[]) t->nonce_len = size; } - p = OSSL_PARAM_locate_const(params, OSSL_DRBG_PARAM_RESEED_CTR); + p = OSSL_PARAM_locate_const(params, OSSL_DRBG_PARAM_RESEED_COUNTER); if (p != NULL) { if (!OSSL_PARAM_get_uint(p, &uint)) return 0; @@ -277,7 +277,7 @@ static const OSSL_PARAM *test_rng_settable_ctx_params(ossl_unused void *provctx) OSSL_PARAM_size_t(OSSL_DRBG_PARAM_MAX_NONCELEN, NULL), OSSL_PARAM_size_t(OSSL_DRBG_PARAM_MAX_PERSLEN, NULL), OSSL_PARAM_size_t(OSSL_DRBG_PARAM_MAX_ADINLEN, NULL), - OSSL_PARAM_uint(OSSL_DRBG_PARAM_RESEED_CTR, NULL), + OSSL_PARAM_uint(OSSL_DRBG_PARAM_RESEED_COUNTER, NULL), OSSL_PARAM_time_t(OSSL_DRBG_PARAM_RESEED_TIME, NULL), OSSL_PARAM_DRBG_SETTABLE_CTX_COMMON, OSSL_PARAM_END -- 2.34.1