mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 11:04:00 +01:00
check a for 0 in Legendre
This commit is contained in:
parent
7417867d0f
commit
d7b819267f
|
@ -160,7 +160,8 @@ namespace crypto
|
||||||
|
|
||||||
int Elligator2::Legendre (const BIGNUM * a, BN_CTX * ctx) const
|
int Elligator2::Legendre (const BIGNUM * a, BN_CTX * ctx) const
|
||||||
{
|
{
|
||||||
// assume a < p, so don't check for a % p = 0
|
// assume a < p, so don't check for a % p = 0, but a = 0 only
|
||||||
|
if (BN_is_zero(a)) return 0;
|
||||||
BIGNUM * r = BN_CTX_get (ctx);
|
BIGNUM * r = BN_CTX_get (ctx);
|
||||||
BN_mod_exp (r, a, p12, p, ctx); // r = a^((p-1)/2) mod p
|
BN_mod_exp (r, a, p12, p, ctx); // r = a^((p-1)/2) mod p
|
||||||
if (BN_is_word(r, 1))
|
if (BN_is_word(r, 1))
|
||||||
|
|
Loading…
Reference in a new issue