diff --git a/elliptic-curve/src/lib.rs b/elliptic-curve/src/lib.rs index 1f49f1267..3bcd5b974 100644 --- a/elliptic-curve/src/lib.rs +++ b/elliptic-curve/src/lib.rs @@ -84,13 +84,17 @@ pub trait Curve: Clone + Debug + Default + Eq + Ord + Send + Sync { /// Elliptic curve with curve arithmetic support pub trait Arithmetic: Curve { - /// Scalar type for a given curve - type Scalar: ConditionallySelectable + /// Scalar type for a given curve. + type Scalar: ff::PrimeField + ConstantTimeEq + Default + FromBytes + Into>; + /// Elliptic curve point in projective coordinates. + type ProjectivePoint: group::Curve + + group::Group; + /// Affine point type for a given curve type AffinePoint: ConditionallySelectable + Mul, Output = Self::AffinePoint>