[−][src]Struct signatory::ecdsa::PublicKey
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]
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>,
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 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 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 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) -> CtOption<T> 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) -> &GenericArray<u8, <C as Curve>::FieldSize>
[src]
Get the x-coordinate for this EncodedPoint
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.
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]
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>,
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]
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>,
pub fn clone(&self) -> EncodedPoint<C>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[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]
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,
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]
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>,
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]
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>,
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]
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>,
pub fn cmp(&self, other: &EncodedPoint<C>) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[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]
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>,
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]
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>,
pub fn partial_cmp(&self, other: &EncodedPoint<C>) -> Option<Ordering>
[src]
pub fn lt(&self, other: &EncodedPoint<C>) -> bool
[src]
pub fn le(&self, other: &EncodedPoint<C>) -> bool
[src]
pub fn gt(&self, other: &EncodedPoint<C>) -> bool
[src]
pub fn ge(&self, other: &EncodedPoint<C>) -> bool
[src]
impl<C> PublicKey for PublicKey<C> where
C: Curve,
UntaggedPointSize<C>: Add<U1> + ArrayLength<u8>,
UncompressedPointSize<C>: ArrayLength<u8>,
[src]
C: Curve,
UntaggedPointSize<C>: Add<U1> + ArrayLength<u8>,
UncompressedPointSize<C>: ArrayLength<u8>,
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]
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>,
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]
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>,
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]
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>,
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,
<<<<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> 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,
<<<<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,
<<<<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<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<Z> Zeroize for Z where
Z: DefaultIsZeroes,
[src]
Z: DefaultIsZeroes,