diff --git a/elliptic-curve/src/weierstrass/curve.rs b/elliptic-curve/src/weierstrass/curve.rs index c7fdf623a..1d0079282 100644 --- a/elliptic-curve/src/weierstrass/curve.rs +++ b/elliptic-curve/src/weierstrass/curve.rs @@ -16,5 +16,14 @@ pub trait Curve: Clone + Debug + Default + Eq + Ord + Send + Sync { type ScalarSize: ArrayLength + Add + Add + Eq + Ord + Unsigned; } +/// Curve arithmetic support +pub trait Arithmetic: Curve { + /// Scalar type for a given curve + type Scalar; + + /// Affine point type for a given curve + type AffinePoint; +} + /// Alias for [`SecretKey`] type for a given Weierstrass curve pub type SecretKey = crate::secret_key::SecretKey<::ScalarSize>;