Latest update.
This commit is contained in:
@@ -237,13 +237,17 @@ int rsa_get_lcm(BN_CTX *ctx, const BIGNUM *p, const BIGNUM *q,
|
||||
*/
|
||||
int rsa_sp800_56b_check_public(const RSA *rsa)
|
||||
{
|
||||
int ret = 0, nbits, status;
|
||||
int ret = 0, status;
|
||||
#ifdef FIPS_MODE
|
||||
int nbits;
|
||||
#endif
|
||||
BN_CTX *ctx = NULL;
|
||||
BIGNUM *gcd = NULL;
|
||||
|
||||
if (rsa->n == NULL || rsa->e == NULL)
|
||||
return 0;
|
||||
|
||||
#ifdef FIPS_MODE
|
||||
/*
|
||||
* (Step a): modulus must be 2048 or 3072 (caveat from SP800-56Br1)
|
||||
* NOTE: changed to allow keys >= 2048
|
||||
@@ -253,11 +257,11 @@ int rsa_sp800_56b_check_public(const RSA *rsa)
|
||||
RSAerr(RSA_F_RSA_SP800_56B_CHECK_PUBLIC, RSA_R_INVALID_KEY_LENGTH);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
if (!BN_is_odd(rsa->n)) {
|
||||
RSAerr(RSA_F_RSA_SP800_56B_CHECK_PUBLIC, RSA_R_INVALID_MODULUS);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* (Steps b-c): 2^16 < e < 2^256, n and e must be odd */
|
||||
if (!rsa_check_public_exponent(rsa->e)) {
|
||||
RSAerr(RSA_F_RSA_SP800_56B_CHECK_PUBLIC,
|
||||
|
||||
Reference in New Issue
Block a user