Struct sec1::point::EncodedPoint [−][src]
pub struct EncodedPoint<Size> where
Size: ModulusSize, { /* fields omitted */ }
Expand description
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
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).
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, Size>,
y: &GenericArray<u8, Size>,
compress: bool
) -> Self
pub fn from_affine_coordinates(
x: &GenericArray<u8, Size>,
y: &GenericArray<u8, Size>,
compress: bool
) -> Self
Encode an elliptic curve point from big endian serialized coordinates (with optional point compression)
Return EncodedPoint
representing the additive identity
(a.k.a. point at infinity)
Get byte slice containing the serialized EncodedPoint
.
This is supported on crate feature alloc
only.
alloc
only.Get boxed byte slice containing the serialized EncodedPoint
Is this EncodedPoint
compact?
Is this EncodedPoint
compressed?
Is this EncodedPoint
the additive identity? (a.k.a. point at infinity)
Compress this EncodedPoint
, returning a new EncodedPoint
.
Get the SEC1 tag for this EncodedPoint
Get the Coordinates
for this EncodedPoint
.
Get the x-coordinate for this EncodedPoint
.
Returns None
if this point is the identity point.
Get the y-coordinate for this EncodedPoint
.
Returns None
if this point is compressed or the identity point.
Trait Implementations
impl<Size: Clone> Clone for EncodedPoint<Size> where
Size: ModulusSize,
Size::UncompressedPointSize: Clone,
impl<Size: Clone> Clone for EncodedPoint<Size> where
Size: ModulusSize,
Size::UncompressedPointSize: Clone,
impl<Size> ConditionallySelectable for EncodedPoint<Size> where
Size: ModulusSize,
<Size::UncompressedPointSize as ArrayLength<u8>>::ArrayType: Copy,
impl<Size> ConditionallySelectable for EncodedPoint<Size> where
Size: ModulusSize,
<Size::UncompressedPointSize as ArrayLength<u8>>::ArrayType: Copy,
impl<Size: Default> Default for EncodedPoint<Size> where
Size: ModulusSize,
Size::UncompressedPointSize: Default,
impl<Size: Default> Default for EncodedPoint<Size> where
Size: ModulusSize,
Size::UncompressedPointSize: Default,
Returns the “default value” for a type. Read more
impl<'de, Size> Deserialize<'de> for EncodedPoint<Size> where
Size: ModulusSize,
This is supported on crate feature serde
only.
impl<'de, Size> Deserialize<'de> for EncodedPoint<Size> where
Size: ModulusSize,
serde
only.Deserialize this value from the given Serde deserializer. Read more
Decode a SEC1-encoded point from hexadecimal.
Upper and lower case hexadecimal are both accepted, however mixed case is rejected.
impl<Size: ModulusSize> PartialOrd<EncodedPoint<Size>> for EncodedPoint<Size> where
Size: ModulusSize,
impl<Size: ModulusSize> PartialOrd<EncodedPoint<Size>> for EncodedPoint<Size> where
Size: ModulusSize,
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
impl<Size> Serialize for EncodedPoint<Size> where
Size: ModulusSize,
This is supported on crate feature serde
only.
impl<Size> Serialize for EncodedPoint<Size> where
Size: ModulusSize,
serde
only.impl<Size> Copy for EncodedPoint<Size> where
Size: ModulusSize,
<Size::UncompressedPointSize as ArrayLength<u8>>::ArrayType: Copy,
Auto Trait Implementations
impl<Size> RefUnwindSafe for EncodedPoint<Size> where
<<Size as ModulusSize>::UncompressedPointSize as ArrayLength<u8>>::ArrayType: RefUnwindSafe,
impl<Size> Send for EncodedPoint<Size>
impl<Size> Sync for EncodedPoint<Size>
impl<Size> Unpin for EncodedPoint<Size> where
<<Size as ModulusSize>::UncompressedPointSize as ArrayLength<u8>>::ArrayType: Unpin,
impl<Size> UnwindSafe for EncodedPoint<Size> where
<<Size as ModulusSize>::UncompressedPointSize as ArrayLength<u8>>::ArrayType: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more