Fix is_square and is_zero (#240)
This commit is contained in:
+3
-3
@@ -17,7 +17,7 @@ use generic_array::typenum::{U32, U33};
|
|||||||
use generic_array::{ArrayLength, GenericArray};
|
use generic_array::{ArrayLength, GenericArray};
|
||||||
use num_bigint::{BigInt, Sign};
|
use num_bigint::{BigInt, Sign};
|
||||||
use num_integer::Integer;
|
use num_integer::Integer;
|
||||||
use num_traits::{One, ToPrimitive};
|
use num_traits::{One, ToPrimitive, Zero};
|
||||||
use once_cell::unsync::Lazy;
|
use once_cell::unsync::Lazy;
|
||||||
use p256_::elliptic_curve::group::prime::PrimeCurveAffine;
|
use p256_::elliptic_curve::group::prime::PrimeCurveAffine;
|
||||||
use p256_::elliptic_curve::group::GroupEncoding;
|
use p256_::elliptic_curve::group::GroupEncoding;
|
||||||
@@ -306,7 +306,7 @@ fn map_to_curve_simple_swu<N: ArrayLength<u8>>(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn is_zero(&self) -> bool {
|
fn is_zero(&self) -> bool {
|
||||||
self.number.is_one()
|
self.number.is_zero()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Corresponds to the is_square() function defined in
|
/// Corresponds to the is_square() function defined in
|
||||||
@@ -316,7 +316,7 @@ fn map_to_curve_simple_swu<N: ArrayLength<u8>>(
|
|||||||
let exponent = (self.f.0 - 1) >> 1;
|
let exponent = (self.f.0 - 1) >> 1;
|
||||||
|
|
||||||
let result = self.pow_internal(&exponent);
|
let result = self.pow_internal(&exponent);
|
||||||
result.number.is_one() || result.is_zero()
|
result.is_zero() || result.number.is_one()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn to_bytes<N: ArrayLength<u8>>(&self) -> GenericArray<u8, N> {
|
fn to_bytes<N: ArrayLength<u8>>(&self) -> GenericArray<u8, N> {
|
||||||
|
|||||||
Reference in New Issue
Block a user