Trait oberon::inner_types::elliptic_curve::Curve
pub trait Curve: 'static + Copy + Clone + Debug + Default + Eq + Ord + Send + Sync {
type FieldBytesSize: ArrayLength<u8> + Add<Self::FieldBytesSize> + Eq;
type Uint: ArrayEncoding + AddMod<Self::Uint, Output = Self::Uint> + Encoding + Integer + NegMod<Output = Self::Uint> + Random + RandomMod + SubMod<Self::Uint, Output = Self::Uint> + Zeroize + FieldBytesEncoding<Self> + ShrAssign<usize>;
const ORDER: Self::Uint;
}
Expand description
Required Associated Types§
type FieldBytesSize: ArrayLength<u8> + Add<Self::FieldBytesSize> + Eq
type FieldBytesSize: ArrayLength<u8> + Add<Self::FieldBytesSize> + Eq
Size of a serialized field element in bytes.
This is typically the same as Self::Uint::ByteSize
but for curves
with an unusual field modulus (e.g. P-224, P-521) it may be different.
type Uint: ArrayEncoding + AddMod<Self::Uint, Output = Self::Uint> + Encoding + Integer + NegMod<Output = Self::Uint> + Random + RandomMod + SubMod<Self::Uint, Output = Self::Uint> + Zeroize + FieldBytesEncoding<Self> + ShrAssign<usize>
type Uint: ArrayEncoding + AddMod<Self::Uint, Output = Self::Uint> + Encoding + Integer + NegMod<Output = Self::Uint> + Random + RandomMod + SubMod<Self::Uint, Output = Self::Uint> + Zeroize + FieldBytesEncoding<Self> + ShrAssign<usize>
Integer type used to represent field elements of this elliptic curve.