提交 133291f8 编写于 作者: D Dr. Stephen Henson

New function BN_nist_mod_func which returns an appropriate function

if the passed prime is a NIST prime.
上级 e990b4f8
......@@ -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;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册