From 55831cd6eed2624c48d596ee5fafb2ab44660db9 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Thu, 29 Sep 2011 18:22:37 +0000 Subject: [PATCH] Remove s = s * P deferral. --- fips/rand/fips_drbg_ec.c | 20 ++------------------ fips/rand/fips_rand_lcl.h | 2 -- 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/fips/rand/fips_drbg_ec.c b/fips/rand/fips_drbg_ec.c index c4d7612d6c..6be6534ce7 100644 --- a/fips/rand/fips_drbg_ec.c +++ b/fips/rand/fips_drbg_ec.c @@ -241,13 +241,6 @@ static int drbg_ec_reseed(DRBG_CTX *dctx, const unsigned char *adin, size_t adin_len) { DRBG_EC_CTX *ectx = &dctx->d.ec; - /* Check if we have a deferred s = s * P */ - if (ectx->sp_defer) - { - if (!drbg_ec_mul(ectx, ectx->s, ectx->s, 0)) - return 0; - ectx->sp_defer = 0; - } /* Convert s value to a binary buffer. Save it to tbuf as we are * about to overwrite it. */ @@ -278,13 +271,6 @@ static int drbg_ec_generate(DRBG_CTX *dctx, dctx->status = DRBG_STATUS_RESEED; return 1; } - /* Check if we have a deferred s = s * P */ - if (ectx->sp_defer) - { - if (!drbg_ec_mul(ectx, s, s, 0)) - goto err; - ectx->sp_defer = 0; - } BN_CTX_start(ectx->bctx); r = BN_CTX_get(ectx->bctx); @@ -371,8 +357,8 @@ static int drbg_ec_generate(DRBG_CTX *dctx, hexprint(stderr, out, dctx->blocklength); #endif } - /* Defer s = s * P until we need it */ - ectx->sp_defer = 1; + if (!drbg_ec_mul(ectx, ectx->s, ectx->s, 0)) + return 0; #ifdef EC_DRBG_TRACE bnprint(stderr, "s after generate is: ", s); #endif @@ -534,8 +520,6 @@ int fips_drbg_ec_init(DRBG_CTX *dctx) ectx->Q = EC_POINT_new(ectx->curve); ectx->ptmp = EC_POINT_new(ectx->curve); - ectx->sp_defer = 0; - x = BN_CTX_get(ectx->bctx); y = BN_CTX_get(ectx->bctx); diff --git a/fips/rand/fips_rand_lcl.h b/fips/rand/fips_rand_lcl.h index fc649c003b..e03537bd5f 100644 --- a/fips/rand/fips_rand_lcl.h +++ b/fips/rand/fips_rand_lcl.h @@ -116,8 +116,6 @@ struct drbg_ec_ctx_st EVP_MD_CTX mctx; /* Temporary value storage: should always exceed max digest length */ unsigned char vtmp[EC_PRNG_MAX_SEEDLEN]; - /* Flag to indicate s = s * P has been deferred */ - int sp_defer; /* Temp BN context */ BN_CTX *bctx; }; -- 2.25.1