Remove s = s * P deferral.

This commit is contained in:
Dr. Stephen Henson 2011-09-29 18:22:37 +00:00
parent 884c33b5c4
commit 55831cd6ee
2 changed files with 2 additions and 20 deletions

View File

@ -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);

View File

@ -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;
};