Struct ecdsa::EncodedPoint [−][src]
pub struct EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>, { /* fields omitted */ }
SEC1 encoded curve point.
This type is an enum over the compressed and uncompressed encodings, useful for cases where either encoding can be supported, or conversions between the two forms.
Implementations
impl<C> EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]pub fn from_bytes(input: impl AsRef<[u8]>) -> Result<EncodedPoint<C>, Error>
[src]
Decode elliptic curve point (compressed or uncompressed) from the
Elliptic-Curve-Point-to-Octet-String
encoding described in
SEC 1: Elliptic Curve Cryptography (Version 2.0) section
2.3.3 (page 10).
pub fn from_untagged_bytes(
bytes: &GenericArray<u8, <<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output>
) -> EncodedPoint<C>
[src]
bytes: &GenericArray<u8, <<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output>
) -> EncodedPoint<C>
Decode elliptic curve point from raw uncompressed coordinates, i.e.
encoded as the concatenated x || y
coordinates with no leading SEC1
tag byte (which would otherwise be 0x04
for an uncompressed point).
pub fn from_affine_coordinates(
x: &GenericArray<u8, <C as Curve>::FieldSize>,
y: &GenericArray<u8, <C as Curve>::FieldSize>,
compress: bool
) -> EncodedPoint<C>
[src]
x: &GenericArray<u8, <C as Curve>::FieldSize>,
y: &GenericArray<u8, <C as Curve>::FieldSize>,
compress: bool
) -> EncodedPoint<C>
Encode an elliptic curve point from big endian serialized coordinates (with optional point compression)
pub fn from_secret_key(
secret_key: &SecretKey<C>,
compress: bool
) -> EncodedPoint<C> where
C: Curve + ProjectiveArithmetic,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: Zeroize,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
[src]
secret_key: &SecretKey<C>,
compress: bool
) -> EncodedPoint<C> where
C: Curve + ProjectiveArithmetic,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: Zeroize,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
Compute EncodedPoint
representing the public key for the provided
SecretKey
.
The compress
flag requests point compression.
pub fn identity() -> EncodedPoint<C>
[src]
Return EncodedPoint
representing the additive identity
(a.k.a. point at infinity)
pub fn len(&self) -> usize
[src]
Get the length of the encoded point in bytes
pub fn as_bytes(&self) -> &[u8]
[src]
Get byte slice containing the serialized EncodedPoint
.
pub fn to_bytes(&self) -> Box<[u8], Global>
[src]
Get boxed byte slice containing the serialized EncodedPoint
pub fn to_untagged_bytes(
&self
) -> Option<GenericArray<u8, <<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output>> where
C: Curve + ProjectiveArithmetic,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ConditionallySelectable,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: DecompressPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
[src]
&self
) -> Option<GenericArray<u8, <<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output>> where
C: Curve + ProjectiveArithmetic,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ConditionallySelectable,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: DecompressPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
Serialize point as raw uncompressed coordinates without tag byte, i.e.
encoded as the concatenated x || y
coordinates.
pub fn is_identity(&self) -> bool
[src]
Is this EncodedPoint
the additive identity? (a.k.a. point at infinity)
pub fn is_compressed(&self) -> bool
[src]
Is this EncodedPoint
compressed?
pub fn compress(&self) -> EncodedPoint<C>
[src]
Compress this EncodedPoint
, returning a new EncodedPoint
.
pub fn decompress(&self) -> Option<EncodedPoint<C>> where
C: Curve + ProjectiveArithmetic,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ConditionallySelectable,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: DecompressPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
[src]
C: Curve + ProjectiveArithmetic,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ConditionallySelectable,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: DecompressPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
Decompress this EncodedPoint
, returning a new EncodedPoint
.
pub fn encode<T>(encodable: T, compress: bool) -> EncodedPoint<C> where
T: ToEncodedPoint<C>,
[src]
T: ToEncodedPoint<C>,
Encode an EncodedPoint
from the desired type
pub fn decode<T>(&self) -> Result<T, Error> where
T: FromEncodedPoint<C>,
[src]
T: FromEncodedPoint<C>,
Decode this EncodedPoint
into the desired type
pub fn tag(&self) -> Tag
[src]
Get the SEC1 tag for this EncodedPoint
pub fn coordinates(&self) -> Coordinates<'_, C>
[src]
Get the Coordinates
for this EncodedPoint
.
pub fn x(&self) -> Option<&GenericArray<u8, <C as Curve>::FieldSize>>
[src]
Get the x-coordinate for this EncodedPoint
.
Returns None
if this point is the identity point.
pub fn y(&self) -> Option<&GenericArray<u8, <C as Curve>::FieldSize>>
[src]
Get the y-coordinate for this EncodedPoint
.
Returns None
if this point is compressed or the identity point.
Trait Implementations
impl<C> AsRef<[u8]> for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> AsRef<[u8]> for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]impl<C> Clone for EncodedPoint<C> where
C: Clone + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> Clone for EncodedPoint<C> where
C: Clone + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]pub fn clone(&self) -> EncodedPoint<C>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<C> ConditionallySelectable for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: Copy,
[src]
impl<C> ConditionallySelectable for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: Copy,
[src]pub fn conditional_select(
a: &EncodedPoint<C>,
b: &EncodedPoint<C>,
choice: Choice
) -> EncodedPoint<C>
[src]
a: &EncodedPoint<C>,
b: &EncodedPoint<C>,
choice: Choice
) -> EncodedPoint<C>
pub fn conditional_assign(&mut self, other: &Self, choice: Choice)
[src]
pub fn conditional_swap(a: &mut Self, b: &mut Self, choice: Choice)
[src]
impl<C> Copy for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: Copy,
[src]
impl<C> Copy for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: Copy,
[src]impl<C> Debug for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> Debug for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]impl<C> Eq for EncodedPoint<C> where
C: Eq + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> Eq for EncodedPoint<C> where
C: Eq + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]impl<'_, C> From<&'_ PublicKey<C>> for EncodedPoint<C> where
C: Curve + ProjectiveArithmetic + PointCompression,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Copy,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Clone,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Debug,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: FromEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<C as ProjectiveArithmetic>::ProjectivePoint: From<<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
[src]
impl<'_, C> From<&'_ PublicKey<C>> for EncodedPoint<C> where
C: Curve + ProjectiveArithmetic + PointCompression,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Copy,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Clone,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Debug,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: FromEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<C as ProjectiveArithmetic>::ProjectivePoint: From<<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
[src]pub fn from(public_key: &PublicKey<C>) -> EncodedPoint<C>
[src]
impl<C> From<&'_ VerifyingKey<C>> for EncodedPoint<C> where
C: Curve + Order + ProjectiveArithmetic + PointCompression,
AffinePoint<C>: Copy + Clone + Debug + Default + FromEncodedPoint<C> + ToEncodedPoint<C>,
ProjectivePoint<C>: From<AffinePoint<C>>,
Scalar<C>: PrimeField<Repr = FieldBytes<C>>,
UntaggedPointSize<C>: Add<U1> + ArrayLength<u8>,
UncompressedPointSize<C>: ArrayLength<u8>,
[src]
impl<C> From<&'_ VerifyingKey<C>> for EncodedPoint<C> where
C: Curve + Order + ProjectiveArithmetic + PointCompression,
AffinePoint<C>: Copy + Clone + Debug + Default + FromEncodedPoint<C> + ToEncodedPoint<C>,
ProjectivePoint<C>: From<AffinePoint<C>>,
Scalar<C>: PrimeField<Repr = FieldBytes<C>>,
UntaggedPointSize<C>: Add<U1> + ArrayLength<u8>,
UncompressedPointSize<C>: ArrayLength<u8>,
[src]fn from(verifying_key: &VerifyingKey<C>) -> EncodedPoint<C>
[src]
impl<C> From<PublicKey<C>> for EncodedPoint<C> where
C: Curve + ProjectiveArithmetic + PointCompression,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Copy,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Clone,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Debug,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: FromEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<C as ProjectiveArithmetic>::ProjectivePoint: From<<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
[src]
impl<C> From<PublicKey<C>> for EncodedPoint<C> where
C: Curve + ProjectiveArithmetic + PointCompression,
<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar: PrimeField,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Copy,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Clone,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Debug,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: Default,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: FromEncodedPoint<C>,
<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr: ToEncodedPoint<C>,
<C as ProjectiveArithmetic>::ProjectivePoint: From<<<C as ProjectiveArithmetic>::ProjectivePoint as Curve>::AffineRepr>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
<<<C as ProjectiveArithmetic>::ProjectivePoint as Group>::Scalar as PrimeField>::Repr == GenericArray<u8, <C as Curve>::FieldSize>,
[src]pub fn from(public_key: PublicKey<C>) -> EncodedPoint<C>
[src]
impl<C> Ord for EncodedPoint<C> where
C: Ord + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> Ord for EncodedPoint<C> where
C: Ord + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]impl<C> PartialEq<EncodedPoint<C>> for EncodedPoint<C> where
C: PartialEq<C> + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> PartialEq<EncodedPoint<C>> for EncodedPoint<C> where
C: PartialEq<C> + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]pub fn eq(&self, other: &EncodedPoint<C>) -> bool
[src]
pub fn ne(&self, other: &EncodedPoint<C>) -> bool
[src]
impl<C> PartialOrd<EncodedPoint<C>> for EncodedPoint<C> where
C: PartialOrd<C> + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> PartialOrd<EncodedPoint<C>> for EncodedPoint<C> where
C: PartialOrd<C> + Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]pub fn partial_cmp(&self, other: &EncodedPoint<C>) -> Option<Ordering>
[src]
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<C> StructuralEq for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> StructuralEq for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]impl<C> StructuralPartialEq for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> StructuralPartialEq for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]impl<C> Zeroize for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]
impl<C> Zeroize for EncodedPoint<C> where
C: Curve,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: Add<UInt<UTerm, B1>>,
<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output: ArrayLength<u8>,
<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output: ArrayLength<u8>,
[src]Auto Trait Implementations
impl<C> RefUnwindSafe for EncodedPoint<C> where
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<C> RefUnwindSafe for EncodedPoint<C> where
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<C> Send for EncodedPoint<C>
impl<C> Send for EncodedPoint<C>
impl<C> Sync for EncodedPoint<C>
impl<C> Sync for EncodedPoint<C>
impl<C> Unpin for EncodedPoint<C> where
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: Unpin,
impl<C> Unpin for EncodedPoint<C> where
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: Unpin,
impl<C> UnwindSafe for EncodedPoint<C> where
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: UnwindSafe,
impl<C> UnwindSafe for EncodedPoint<C> where
<<<<C as Curve>::FieldSize as Add<<C as Curve>::FieldSize>>::Output as Add<UInt<UTerm, B1>>>::Output as ArrayLength<u8>>::ArrayType: UnwindSafe,
Blanket Implementations
impl<A, T> AsBits<T> for A where
T: BitStore + BitRegister,
A: AsRef<[T]>,
impl<A, T> AsBits<T> for A where
T: BitStore + BitRegister,
A: AsRef<[T]>,
pub fn as_bits<O>(&self) -> &BitSlice<O, T> where
O: BitOrder,
O: BitOrder,
impl<T> FmtForward for T
impl<T> FmtForward for T
pub fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Self: Binary,
pub fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Self: Display,
pub fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Self: LowerExp,
pub fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Self: LowerHex,
pub fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Self: Octal,
pub fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Self: Pointer,
pub fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Self: UpperExp,
pub fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Self: UpperHex,
impl<T> Pipe for T where
T: ?Sized,
impl<T> Pipe for T where
T: ?Sized,
pub fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
R: 'a,
pub fn pipe_ref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
pub fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
pub fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
pub fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
pub fn pipe_as_mut<'a, U, R>(
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
pub fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
pub fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
impl<T> PipeAsRef for T
impl<T> PipeAsRef for T
pub fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Self: AsRef<T>,
T: 'a,
R: 'a,
pub fn pipe_as_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
impl<T> PipeBorrow for T
impl<T> PipeBorrow for T
pub fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Self: Borrow<T>,
T: 'a,
R: 'a,
pub fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
impl<T> PipeDeref for T
impl<T> PipeDeref for T
pub fn pipe_deref<'a, R>(
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
pub fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Tap for T
impl<T> Tap for T
pub fn tap(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
pub fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
pub fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
pub fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
impl<T> TapDeref for T
impl<T> TapDeref for T
pub fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
pub fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,