Type Alias k256::PublicKey

source ·
pub type PublicKey = PublicKey<Secp256k1>;
Expand description

secp256k1 (K-256) public key.

Aliased Type§

struct PublicKey { /* private fields */ }

Implementations

source§

impl<C> PublicKey<C>
where C: CurveArithmetic,

source

pub fn from_affine( point: <C as CurveArithmetic>::AffinePoint, ) -> Result<PublicKey<C>, Error>

Convert an AffinePoint into a PublicKey

source

pub fn from_secret_scalar(scalar: &NonZeroScalar<C>) -> PublicKey<C>

Compute a PublicKey from a secret NonZeroScalar value (i.e. a secret key represented as a raw scalar value)

source

pub fn from_sec1_bytes(bytes: &[u8]) -> Result<PublicKey<C>, Error>

Decode PublicKey (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).

http://www.secg.org/sec1-v2.pdf

source

pub fn to_sec1_bytes(&self) -> Box<[u8]>

Convert this PublicKey into the Elliptic-Curve-Point-to-Octet-String encoding described in SEC 1: Elliptic Curve Cryptography (Version 2.0) section 2.3.3 (page 10).

http://www.secg.org/sec1-v2.pdf

source

pub fn as_affine(&self) -> &<C as CurveArithmetic>::AffinePoint

Borrow the inner AffinePoint from this PublicKey.

In ECC, public keys are elliptic curve points.

source

pub fn to_projective(&self) -> <C as CurveArithmetic>::ProjectivePoint

Convert this PublicKey to a ProjectivePoint for the given curve

source

pub fn to_nonidentity(&self) -> NonIdentity<<C as CurveArithmetic>::AffinePoint>

Convert this PublicKey to a NonIdentity of the inner AffinePoint

Trait Implementations§

source§

impl TryFrom<&AffinePoint> for PublicKey

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(affine_point: &AffinePoint) -> Result<PublicKey>

Performs the conversion.
source§

impl TryFrom<&ProjectivePoint> for PublicKey

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(point: &ProjectivePoint) -> Result<PublicKey>

Performs the conversion.
source§

impl TryFrom<AffinePoint> for PublicKey

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(affine_point: AffinePoint) -> Result<PublicKey>

Performs the conversion.
source§

impl TryFrom<ProjectivePoint> for PublicKey

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from(point: ProjectivePoint) -> Result<PublicKey>

Performs the conversion.
source§

impl<C> AsRef<<C as CurveArithmetic>::AffinePoint> for PublicKey<C>
where C: CurveArithmetic,

source§

fn as_ref(&self) -> &<C as CurveArithmetic>::AffinePoint

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl<C> AssociatedAlgorithmIdentifier for PublicKey<C>

§

type Params = ObjectIdentifier

Algorithm parameters.
source§

const ALGORITHM_IDENTIFIER: AlgorithmIdentifier<ObjectIdentifier> = _

AlgorithmIdentifier for this structure.
source§

impl<C> Clone for PublicKey<C>

source§

fn clone(&self) -> PublicKey<C>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<C> Debug for PublicKey<C>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl<'de, C> Deserialize<'de> for PublicKey<C>

source§

fn deserialize<D>( deserializer: D, ) -> Result<PublicKey<C>, <D as Deserializer<'de>>::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<C> EncodePublicKey for PublicKey<C>

source§

fn to_public_key_der(&self) -> Result<Document, Error>

Serialize a Document containing a SPKI-encoded public key.
source§

fn write_public_key_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>

Write ASN.1 DER-encoded public key to the given path
source§

impl<C, P> From<&NonIdentity<P>> for PublicKey<C>

source§

fn from(value: &NonIdentity<P>) -> PublicKey<C>

Converts to this type from the input type.
source§

impl<C> From<&VerifyingKey<C>> for PublicKey<C>

source§

fn from(verifying_key: &VerifyingKey<C>) -> PublicKey<C>

Converts to this type from the input type.
source§

impl<C, P> From<NonIdentity<P>> for PublicKey<C>

source§

fn from(value: NonIdentity<P>) -> PublicKey<C>

Converts to this type from the input type.
source§

impl<C> From<VerifyingKey<C>> for PublicKey<C>

source§

fn from(verifying_key: VerifyingKey<C>) -> PublicKey<C>

Converts to this type from the input type.
source§

impl<C> FromEncodedPoint<C> for PublicKey<C>

source§

fn from_encoded_point( encoded_point: &EncodedPoint<<C as Curve>::FieldBytesSize>, ) -> CtOption<PublicKey<C>>

Initialize PublicKey from an EncodedPoint

source§

impl<C> Ord for PublicKey<C>

source§

fn cmp(&self, other: &PublicKey<C>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl<C> PartialEq for PublicKey<C>

source§

fn eq(&self, other: &PublicKey<C>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<C> PartialOrd for PublicKey<C>

source§

fn partial_cmp(&self, other: &PublicKey<C>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl<C> Serialize for PublicKey<C>

source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl<C> ToEncodedPoint<C> for PublicKey<C>

source§

fn to_encoded_point( &self, compress: bool, ) -> EncodedPoint<<C as Curve>::FieldBytesSize>

Serialize this PublicKey as a SEC1 EncodedPoint, optionally applying point compression

source§

impl<C> TryFrom<&EncodedPoint<<C as Curve>::FieldBytesSize>> for PublicKey<C>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( point: &EncodedPoint<<C as Curve>::FieldBytesSize>, ) -> Result<PublicKey<C>, Error>

Performs the conversion.
source§

impl<C> TryFrom<&GenericArray<u8, <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize>> for PublicKey<C>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( point: &GenericArray<u8, <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize>, ) -> Result<PublicKey<C>, Error>

Performs the conversion.
source§

impl<C> TryFrom<&SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for PublicKey<C>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( spki: &SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>, ) -> Result<PublicKey<C>, Error>

Performs the conversion.
source§

impl<C> TryFrom<EncodedPoint<<C as Curve>::FieldBytesSize>> for PublicKey<C>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( point: EncodedPoint<<C as Curve>::FieldBytesSize>, ) -> Result<PublicKey<C>, Error>

Performs the conversion.
source§

impl<C> TryFrom<GenericArray<u8, <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize>> for PublicKey<C>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( point: GenericArray<u8, <<C as Curve>::FieldBytesSize as ModulusSize>::CompressedPointSize>, ) -> Result<PublicKey<C>, Error>

Performs the conversion.
source§

impl<C> TryFrom<SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for PublicKey<C>

§

type Error = Error

The type returned in the event of a conversion error.
source§

fn try_from( spki: SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>, ) -> Result<PublicKey<C>, Error>

Performs the conversion.
source§

impl<C> Copy for PublicKey<C>
where C: CurveArithmetic,

source§

impl<C> Eq for PublicKey<C>
where C: Eq + CurveArithmetic,

source§

impl<C> StructuralPartialEq for PublicKey<C>
where C: CurveArithmetic,