diff --git a/crypto/rsa/rsa_locl.h b/crypto/rsa/rsa_locl.h index 9bd53bec5a579f7bf8f592d22f2b391e44258834..2b94462a94c6f542ee80f0fc26dd154b38387683 100644 --- a/crypto/rsa/rsa_locl.h +++ b/crypto/rsa/rsa_locl.h @@ -10,9 +10,8 @@ #include #include "internal/refcount.h" -#define RSA_MAX_PRIME_NUM 16 -#define RSA_MIN_PRIME_SIZE 64 -#define RSA_MIN_MODULUS_BITS 512 +#define RSA_MAX_PRIME_NUM 5 +#define RSA_MIN_MODULUS_BITS 512 typedef struct rsa_prime_info_st { BIGNUM *r; diff --git a/crypto/rsa/rsa_mp.c b/crypto/rsa/rsa_mp.c index 8ff4b636256d9e01f4ce7d56b5a78c6c09fe2446..97a09f1387774927d803c0526b116574a5a5078a 100644 --- a/crypto/rsa/rsa_mp.c +++ b/crypto/rsa/rsa_mp.c @@ -105,5 +105,8 @@ int rsa_multip_cap(int bits) else if (bits < 8192) cap = 4; + if (cap > RSA_MAX_PRIME_NUM) + cap = RSA_MAX_PRIME_NUM; + return cap; }