You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If VariableBaseMSM::multi_scalar_mul is called with a scalar that exceeds the curve order, the output will not be correct. The scalar is not or incorrectly reduced. Compare to regular point mul which handles this correctly.
Version
0.3.0
Steps to Reproduce
use ark_ff::PrimeField;use ark_ff::biginteger::BigInteger256;use ark_ff::biginteger::BigInteger384;use ark_ec::msm::VariableBaseMSM;use ark_ec::AffineCurve;use ark_ec::ProjectiveCurve;fnmain(){let s:[u64;4] = [0x025607A7919D793F,0xBDF7228F3A3DBD99,0x68D0564B14693662,0xAF6DD88BB87CB4AC];let point = ark_bls12_381::G1Affine::prime_subgroup_generator();let scalar = BigInteger256::new(s);assert!(
point.mul(scalar).into_affine() ==
VariableBaseMSM::multi_scalar_mul(&[point],&[scalar]).into_affine());}
The text was updated successfully, but these errors were encountered:
Summary of Bug
If
VariableBaseMSM::multi_scalar_mul
is called with a scalar that exceeds the curve order, the output will not be correct. The scalar is not or incorrectly reduced. Compare to regular pointmul
which handles this correctly.Version
0.3.0
Steps to Reproduce
The text was updated successfully, but these errors were encountered: