Add the secp256k1 and secq256k1 curves (#122)

Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
Co-authored-by: onewayfunc <onewayfunc@gmail.com>
This commit is contained in:
Weikeng Chen
2022-12-09 10:41:40 -08:00
committed by GitHub
parent cdf4d182a6
commit f8a6a4050e
28 changed files with 336 additions and 2 deletions

View File

@@ -321,8 +321,10 @@ pub mod curves {
*limb = u64::MAX;
}
let modulus_last_limb_bits = <C::ScalarField as PrimeField>::MODULUS_BIT_SIZE % 64;
*max.last_mut().unwrap() >>= 64 - modulus_last_limb_bits;
let modulus_num_bits_mod_64 = <C::ScalarField as PrimeField>::MODULUS_BIT_SIZE % 64;
if modulus_num_bits_mod_64 != 0 {
*max.last_mut().unwrap() >>= 64 - modulus_num_bits_mod_64;
}
let scalars = [
C::ScalarField::rand(&mut rng)
.into_bigint()