Trait elliptic_curve::Group [−][src]
pub trait Group: 'static + Clone + Copy + Debug + Eq + Send + Sync + Sum<Self> + for<'a> Sum<&'a Self> + Neg<Output = Self> + GroupOps<Self, Self> + GroupOpsOwned<Self, Self> + ScalarMul<Self::Scalar, Self> + ScalarMulOwned<Self::Scalar, Self> { type Scalar: PrimeField; pub fn random(rng: impl RngCore) -> Self; pub fn identity() -> Self; pub fn generator() -> Self; pub fn is_identity(&self) -> Choice; #[must_use] pub fn double(&self) -> Self; }
This trait represents an element of a cryptographic group.
Associated Types
type Scalar: PrimeField
[src]
Scalars modulo the order of this group’s scalar field.
Required methods
pub fn random(rng: impl RngCore) -> Self
[src]
Returns an element chosen uniformly at random from the non-identity elements of this group.
This function is non-deterministic, and samples from the user-provided RNG.
pub fn identity() -> Self
[src]
Returns the additive identity, also known as the “neutral element”.
pub fn generator() -> Self
[src]
Returns a fixed generator of the prime-order subgroup.
pub fn is_identity(&self) -> Choice
[src]
Determines if this point is the identity.
#[must_use]pub fn double(&self) -> Self
[src]
#[must_use]
pub fn double(&self) -> SelfDoubles this element.