mirror of
https://github.com/openssl/openssl.git
synced 2025-01-30 14:01:55 +08:00
New function BN_nist_mod_func which returns an appropriate function
if the passed prime is a NIST prime.
This commit is contained in:
parent
e990b4f838
commit
133291f8e7
@ -674,6 +674,8 @@ const BIGNUM *BN_get0_nist_prime_256(void);
|
||||
const BIGNUM *BN_get0_nist_prime_384(void);
|
||||
const BIGNUM *BN_get0_nist_prime_521(void);
|
||||
|
||||
int (*BN_nist_mod_func(const BIGNUM *p))(BIGNUM *r, const BIGNUM *a, const BIGNUM *field, BN_CTX *ctx);
|
||||
|
||||
/* library internal functions */
|
||||
|
||||
#define bn_expand(a,bits) ((((((bits+BN_BITS2-1))/BN_BITS2)) <= (a)->dmax)?\
|
||||
|
@ -834,3 +834,18 @@ int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *field,
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int (*BN_nist_mod_func(const BIGNUM *p))(BIGNUM *r, const BIGNUM *a, const BIGNUM *field, BN_CTX *ctx)
|
||||
{
|
||||
if (BN_ucmp(&_bignum_nist_p_192, p) == 0)
|
||||
return BN_nist_mod_192;
|
||||
if (BN_ucmp(&_bignum_nist_p_224, p) == 0)
|
||||
return BN_nist_mod_224;
|
||||
if (BN_ucmp(&_bignum_nist_p_256, p) == 0)
|
||||
return BN_nist_mod_256;
|
||||
if (BN_ucmp(&_bignum_nist_p_384, p) == 0)
|
||||
return BN_nist_mod_384;
|
||||
if (BN_ucmp(&_bignum_nist_p_521, p) == 0)
|
||||
return BN_nist_mod_521;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user